Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/twbs/bootstrap.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/dist
diff options
context:
space:
mode:
authorXhmikosR <xhmikosr@gmail.com>2020-03-28 13:29:08 +0300
committerGitHub <noreply@github.com>2020-03-28 13:29:08 +0300
commit74afe149c48e8386c4de2bbd8fab36142227f755 (patch)
treecc1bddb6ace670de15e5fd58ecdf2fa856a05bf9 /dist
parentf761d8e801ddb972ca2a694a27d16c0244a59d94 (diff)
Dist (#29924)
Diffstat (limited to 'dist')
-rw-r--r--dist/css/bootstrap-grid.css1025
-rw-r--r--dist/css/bootstrap-grid.css.map2
-rw-r--r--dist/css/bootstrap-grid.min.css6
-rw-r--r--dist/css/bootstrap-grid.min.css.map2
-rw-r--r--dist/css/bootstrap-reboot.css91
-rw-r--r--dist/css/bootstrap-reboot.css.map2
-rw-r--r--dist/css/bootstrap-reboot.min.css6
-rw-r--r--dist/css/bootstrap-reboot.min.css.map2
-rw-r--r--dist/css/bootstrap-utilities.css72
-rw-r--r--dist/css/bootstrap-utilities.css.map2
-rw-r--r--dist/css/bootstrap-utilities.min.css6
-rw-r--r--dist/css/bootstrap-utilities.min.css.map2
-rw-r--r--dist/css/bootstrap.css1931
-rw-r--r--dist/css/bootstrap.css.map2
-rw-r--r--dist/css/bootstrap.min.css6
-rw-r--r--dist/css/bootstrap.min.css.map2
-rw-r--r--dist/js/bootstrap.bundle.js1254
-rw-r--r--dist/js/bootstrap.bundle.js.map2
-rw-r--r--dist/js/bootstrap.bundle.min.js4
-rw-r--r--dist/js/bootstrap.bundle.min.js.map2
-rw-r--r--dist/js/bootstrap.esm.js1254
-rw-r--r--dist/js/bootstrap.esm.js.map2
-rw-r--r--dist/js/bootstrap.esm.min.js4
-rw-r--r--dist/js/bootstrap.esm.min.js.map2
-rw-r--r--dist/js/bootstrap.js1256
-rw-r--r--dist/js/bootstrap.js.map2
-rw-r--r--dist/js/bootstrap.min.js4
-rw-r--r--dist/js/bootstrap.min.js.map2
28 files changed, 3790 insertions, 3157 deletions
diff --git a/dist/css/bootstrap-grid.css b/dist/css/bootstrap-grid.css
index b0606513e4..e11686242d 100644
--- a/dist/css/bootstrap-grid.css
+++ b/dist/css/bootstrap-grid.css
@@ -1,23 +1,13 @@
/*!
* Bootstrap Grid v4.3.1 (https://getbootstrap.com/)
- * Copyright 2011-2019 The Bootstrap Authors
- * Copyright 2011-2019 Twitter, Inc.
+ * Copyright 2011-2020 The Bootstrap Authors
+ * Copyright 2011-2020 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
-html {
- box-sizing: border-box;
-}
-
-*,
-*::before,
-*::after {
- box-sizing: inherit;
-}
-
.container {
width: 100%;
- padding-right: 15px;
- padding-left: 15px;
+ padding-right: 1rem;
+ padding-left: 1rem;
margin-right: auto;
margin-left: auto;
}
@@ -48,8 +38,8 @@ html {
.container-fluid, .container-sm, .container-md, .container-lg, .container-xl {
width: 100%;
- padding-right: 15px;
- padding-left: 15px;
+ padding-right: 1rem;
+ padding-left: 1rem;
margin-right: auto;
margin-left: auto;
}
@@ -81,133 +71,698 @@ html {
.row {
display: flex;
flex-wrap: wrap;
- margin-right: -15px;
- margin-left: -15px;
+ margin-right: -0.75rem;
+ margin-left: -0.75rem;
+}
+
+.row > * {
+ box-sizing: border-box;
+ flex-shrink: 0;
+ width: 100%;
+ max-width: 100%;
+ padding-right: 0.75rem;
+ padding-left: 0.75rem;
}
-.no-gutters {
+.g-0,
+.gx-0 {
margin-right: 0;
margin-left: 0;
}
-.no-gutters > .col,
-.no-gutters > [class*="col-"] {
+.g-0 > *,
+.gx-0 > * {
padding-right: 0;
padding-left: 0;
}
-.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,
-.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,
-.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,
-.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,
-.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,
-.col-xl-auto {
- position: relative;
- width: 100%;
- padding-right: 15px;
- padding-left: 15px;
+.g-0,
+.gy-0 {
+ margin-top: 0;
+}
+
+.g-0 > *,
+.gy-0 > * {
+ margin-top: 0;
+}
+
+.g-1,
+.gx-1 {
+ margin-right: -0.125rem;
+ margin-left: -0.125rem;
+}
+
+.g-1 > *,
+.gx-1 > * {
+ padding-right: 0.125rem;
+ padding-left: 0.125rem;
+}
+
+.g-1,
+.gy-1 {
+ margin-top: -0.25rem;
+}
+
+.g-1 > *,
+.gy-1 > * {
+ margin-top: 0.25rem;
+}
+
+.g-2,
+.gx-2 {
+ margin-right: -0.25rem;
+ margin-left: -0.25rem;
+}
+
+.g-2 > *,
+.gx-2 > * {
+ padding-right: 0.25rem;
+ padding-left: 0.25rem;
+}
+
+.g-2,
+.gy-2 {
+ margin-top: -0.5rem;
+}
+
+.g-2 > *,
+.gy-2 > * {
+ margin-top: 0.5rem;
+}
+
+.g-3,
+.gx-3 {
+ margin-right: -0.5rem;
+ margin-left: -0.5rem;
+}
+
+.g-3 > *,
+.gx-3 > * {
+ padding-right: 0.5rem;
+ padding-left: 0.5rem;
+}
+
+.g-3,
+.gy-3 {
+ margin-top: -1rem;
+}
+
+.g-3 > *,
+.gy-3 > * {
+ margin-top: 1rem;
+}
+
+.g-4,
+.gx-4 {
+ margin-right: -0.75rem;
+ margin-left: -0.75rem;
+}
+
+.g-4 > *,
+.gx-4 > * {
+ padding-right: 0.75rem;
+ padding-left: 0.75rem;
+}
+
+.g-4,
+.gy-4 {
+ margin-top: -1.5rem;
+}
+
+.g-4 > *,
+.gy-4 > * {
+ margin-top: 1.5rem;
+}
+
+.g-5,
+.gx-5 {
+ margin-right: -1.5rem;
+ margin-left: -1.5rem;
+}
+
+.g-5 > *,
+.gx-5 > * {
+ padding-right: 1.5rem;
+ padding-left: 1.5rem;
+}
+
+.g-5,
+.gy-5 {
+ margin-top: -3rem;
+}
+
+.g-5 > *,
+.gy-5 > * {
+ margin-top: 3rem;
+}
+
+@media (min-width: 576px) {
+ .g-sm-0,
+ .gx-sm-0 {
+ margin-right: 0;
+ margin-left: 0;
+ }
+ .g-sm-0 > *,
+ .gx-sm-0 > * {
+ padding-right: 0;
+ padding-left: 0;
+ }
+ .g-sm-0,
+ .gy-sm-0 {
+ margin-top: 0;
+ }
+ .g-sm-0 > *,
+ .gy-sm-0 > * {
+ margin-top: 0;
+ }
+ .g-sm-1,
+ .gx-sm-1 {
+ margin-right: -0.125rem;
+ margin-left: -0.125rem;
+ }
+ .g-sm-1 > *,
+ .gx-sm-1 > * {
+ padding-right: 0.125rem;
+ padding-left: 0.125rem;
+ }
+ .g-sm-1,
+ .gy-sm-1 {
+ margin-top: -0.25rem;
+ }
+ .g-sm-1 > *,
+ .gy-sm-1 > * {
+ margin-top: 0.25rem;
+ }
+ .g-sm-2,
+ .gx-sm-2 {
+ margin-right: -0.25rem;
+ margin-left: -0.25rem;
+ }
+ .g-sm-2 > *,
+ .gx-sm-2 > * {
+ padding-right: 0.25rem;
+ padding-left: 0.25rem;
+ }
+ .g-sm-2,
+ .gy-sm-2 {
+ margin-top: -0.5rem;
+ }
+ .g-sm-2 > *,
+ .gy-sm-2 > * {
+ margin-top: 0.5rem;
+ }
+ .g-sm-3,
+ .gx-sm-3 {
+ margin-right: -0.5rem;
+ margin-left: -0.5rem;
+ }
+ .g-sm-3 > *,
+ .gx-sm-3 > * {
+ padding-right: 0.5rem;
+ padding-left: 0.5rem;
+ }
+ .g-sm-3,
+ .gy-sm-3 {
+ margin-top: -1rem;
+ }
+ .g-sm-3 > *,
+ .gy-sm-3 > * {
+ margin-top: 1rem;
+ }
+ .g-sm-4,
+ .gx-sm-4 {
+ margin-right: -0.75rem;
+ margin-left: -0.75rem;
+ }
+ .g-sm-4 > *,
+ .gx-sm-4 > * {
+ padding-right: 0.75rem;
+ padding-left: 0.75rem;
+ }
+ .g-sm-4,
+ .gy-sm-4 {
+ margin-top: -1.5rem;
+ }
+ .g-sm-4 > *,
+ .gy-sm-4 > * {
+ margin-top: 1.5rem;
+ }
+ .g-sm-5,
+ .gx-sm-5 {
+ margin-right: -1.5rem;
+ margin-left: -1.5rem;
+ }
+ .g-sm-5 > *,
+ .gx-sm-5 > * {
+ padding-right: 1.5rem;
+ padding-left: 1.5rem;
+ }
+ .g-sm-5,
+ .gy-sm-5 {
+ margin-top: -3rem;
+ }
+ .g-sm-5 > *,
+ .gy-sm-5 > * {
+ margin-top: 3rem;
+ }
+}
+
+@media (min-width: 768px) {
+ .g-md-0,
+ .gx-md-0 {
+ margin-right: 0;
+ margin-left: 0;
+ }
+ .g-md-0 > *,
+ .gx-md-0 > * {
+ padding-right: 0;
+ padding-left: 0;
+ }
+ .g-md-0,
+ .gy-md-0 {
+ margin-top: 0;
+ }
+ .g-md-0 > *,
+ .gy-md-0 > * {
+ margin-top: 0;
+ }
+ .g-md-1,
+ .gx-md-1 {
+ margin-right: -0.125rem;
+ margin-left: -0.125rem;
+ }
+ .g-md-1 > *,
+ .gx-md-1 > * {
+ padding-right: 0.125rem;
+ padding-left: 0.125rem;
+ }
+ .g-md-1,
+ .gy-md-1 {
+ margin-top: -0.25rem;
+ }
+ .g-md-1 > *,
+ .gy-md-1 > * {
+ margin-top: 0.25rem;
+ }
+ .g-md-2,
+ .gx-md-2 {
+ margin-right: -0.25rem;
+ margin-left: -0.25rem;
+ }
+ .g-md-2 > *,
+ .gx-md-2 > * {
+ padding-right: 0.25rem;
+ padding-left: 0.25rem;
+ }
+ .g-md-2,
+ .gy-md-2 {
+ margin-top: -0.5rem;
+ }
+ .g-md-2 > *,
+ .gy-md-2 > * {
+ margin-top: 0.5rem;
+ }
+ .g-md-3,
+ .gx-md-3 {
+ margin-right: -0.5rem;
+ margin-left: -0.5rem;
+ }
+ .g-md-3 > *,
+ .gx-md-3 > * {
+ padding-right: 0.5rem;
+ padding-left: 0.5rem;
+ }
+ .g-md-3,
+ .gy-md-3 {
+ margin-top: -1rem;
+ }
+ .g-md-3 > *,
+ .gy-md-3 > * {
+ margin-top: 1rem;
+ }
+ .g-md-4,
+ .gx-md-4 {
+ margin-right: -0.75rem;
+ margin-left: -0.75rem;
+ }
+ .g-md-4 > *,
+ .gx-md-4 > * {
+ padding-right: 0.75rem;
+ padding-left: 0.75rem;
+ }
+ .g-md-4,
+ .gy-md-4 {
+ margin-top: -1.5rem;
+ }
+ .g-md-4 > *,
+ .gy-md-4 > * {
+ margin-top: 1.5rem;
+ }
+ .g-md-5,
+ .gx-md-5 {
+ margin-right: -1.5rem;
+ margin-left: -1.5rem;
+ }
+ .g-md-5 > *,
+ .gx-md-5 > * {
+ padding-right: 1.5rem;
+ padding-left: 1.5rem;
+ }
+ .g-md-5,
+ .gy-md-5 {
+ margin-top: -3rem;
+ }
+ .g-md-5 > *,
+ .gy-md-5 > * {
+ margin-top: 3rem;
+ }
+}
+
+@media (min-width: 992px) {
+ .g-lg-0,
+ .gx-lg-0 {
+ margin-right: 0;
+ margin-left: 0;
+ }
+ .g-lg-0 > *,
+ .gx-lg-0 > * {
+ padding-right: 0;
+ padding-left: 0;
+ }
+ .g-lg-0,
+ .gy-lg-0 {
+ margin-top: 0;
+ }
+ .g-lg-0 > *,
+ .gy-lg-0 > * {
+ margin-top: 0;
+ }
+ .g-lg-1,
+ .gx-lg-1 {
+ margin-right: -0.125rem;
+ margin-left: -0.125rem;
+ }
+ .g-lg-1 > *,
+ .gx-lg-1 > * {
+ padding-right: 0.125rem;
+ padding-left: 0.125rem;
+ }
+ .g-lg-1,
+ .gy-lg-1 {
+ margin-top: -0.25rem;
+ }
+ .g-lg-1 > *,
+ .gy-lg-1 > * {
+ margin-top: 0.25rem;
+ }
+ .g-lg-2,
+ .gx-lg-2 {
+ margin-right: -0.25rem;
+ margin-left: -0.25rem;
+ }
+ .g-lg-2 > *,
+ .gx-lg-2 > * {
+ padding-right: 0.25rem;
+ padding-left: 0.25rem;
+ }
+ .g-lg-2,
+ .gy-lg-2 {
+ margin-top: -0.5rem;
+ }
+ .g-lg-2 > *,
+ .gy-lg-2 > * {
+ margin-top: 0.5rem;
+ }
+ .g-lg-3,
+ .gx-lg-3 {
+ margin-right: -0.5rem;
+ margin-left: -0.5rem;
+ }
+ .g-lg-3 > *,
+ .gx-lg-3 > * {
+ padding-right: 0.5rem;
+ padding-left: 0.5rem;
+ }
+ .g-lg-3,
+ .gy-lg-3 {
+ margin-top: -1rem;
+ }
+ .g-lg-3 > *,
+ .gy-lg-3 > * {
+ margin-top: 1rem;
+ }
+ .g-lg-4,
+ .gx-lg-4 {
+ margin-right: -0.75rem;
+ margin-left: -0.75rem;
+ }
+ .g-lg-4 > *,
+ .gx-lg-4 > * {
+ padding-right: 0.75rem;
+ padding-left: 0.75rem;
+ }
+ .g-lg-4,
+ .gy-lg-4 {
+ margin-top: -1.5rem;
+ }
+ .g-lg-4 > *,
+ .gy-lg-4 > * {
+ margin-top: 1.5rem;
+ }
+ .g-lg-5,
+ .gx-lg-5 {
+ margin-right: -1.5rem;
+ margin-left: -1.5rem;
+ }
+ .g-lg-5 > *,
+ .gx-lg-5 > * {
+ padding-right: 1.5rem;
+ padding-left: 1.5rem;
+ }
+ .g-lg-5,
+ .gy-lg-5 {
+ margin-top: -3rem;
+ }
+ .g-lg-5 > *,
+ .gy-lg-5 > * {
+ margin-top: 3rem;
+ }
+}
+
+@media (min-width: 1200px) {
+ .g-xl-0,
+ .gx-xl-0 {
+ margin-right: 0;
+ margin-left: 0;
+ }
+ .g-xl-0 > *,
+ .gx-xl-0 > * {
+ padding-right: 0;
+ padding-left: 0;
+ }
+ .g-xl-0,
+ .gy-xl-0 {
+ margin-top: 0;
+ }
+ .g-xl-0 > *,
+ .gy-xl-0 > * {
+ margin-top: 0;
+ }
+ .g-xl-1,
+ .gx-xl-1 {
+ margin-right: -0.125rem;
+ margin-left: -0.125rem;
+ }
+ .g-xl-1 > *,
+ .gx-xl-1 > * {
+ padding-right: 0.125rem;
+ padding-left: 0.125rem;
+ }
+ .g-xl-1,
+ .gy-xl-1 {
+ margin-top: -0.25rem;
+ }
+ .g-xl-1 > *,
+ .gy-xl-1 > * {
+ margin-top: 0.25rem;
+ }
+ .g-xl-2,
+ .gx-xl-2 {
+ margin-right: -0.25rem;
+ margin-left: -0.25rem;
+ }
+ .g-xl-2 > *,
+ .gx-xl-2 > * {
+ padding-right: 0.25rem;
+ padding-left: 0.25rem;
+ }
+ .g-xl-2,
+ .gy-xl-2 {
+ margin-top: -0.5rem;
+ }
+ .g-xl-2 > *,
+ .gy-xl-2 > * {
+ margin-top: 0.5rem;
+ }
+ .g-xl-3,
+ .gx-xl-3 {
+ margin-right: -0.5rem;
+ margin-left: -0.5rem;
+ }
+ .g-xl-3 > *,
+ .gx-xl-3 > * {
+ padding-right: 0.5rem;
+ padding-left: 0.5rem;
+ }
+ .g-xl-3,
+ .gy-xl-3 {
+ margin-top: -1rem;
+ }
+ .g-xl-3 > *,
+ .gy-xl-3 > * {
+ margin-top: 1rem;
+ }
+ .g-xl-4,
+ .gx-xl-4 {
+ margin-right: -0.75rem;
+ margin-left: -0.75rem;
+ }
+ .g-xl-4 > *,
+ .gx-xl-4 > * {
+ padding-right: 0.75rem;
+ padding-left: 0.75rem;
+ }
+ .g-xl-4,
+ .gy-xl-4 {
+ margin-top: -1.5rem;
+ }
+ .g-xl-4 > *,
+ .gy-xl-4 > * {
+ margin-top: 1.5rem;
+ }
+ .g-xl-5,
+ .gx-xl-5 {
+ margin-right: -1.5rem;
+ margin-left: -1.5rem;
+ }
+ .g-xl-5 > *,
+ .gx-xl-5 > * {
+ padding-right: 1.5rem;
+ padding-left: 1.5rem;
+ }
+ .g-xl-5,
+ .gy-xl-5 {
+ margin-top: -3rem;
+ }
+ .g-xl-5 > *,
+ .gy-xl-5 > * {
+ margin-top: 3rem;
+ }
}
.col {
- flex-basis: 0;
- flex-grow: 1;
- max-width: 100%;
+ flex: 1 0 0%;
+ min-width: 0;
+}
+
+.row-cols-auto > * {
+ flex: 0 0 auto;
+ width: auto;
}
.row-cols-1 > * {
- flex: 0 0 100%;
- max-width: 100%;
+ flex: 0 0 auto;
+ width: 100%;
}
.row-cols-2 > * {
- flex: 0 0 50%;
- max-width: 50%;
+ flex: 0 0 auto;
+ width: 50%;
}
.row-cols-3 > * {
- flex: 0 0 33.333333%;
- max-width: 33.333333%;
+ flex: 0 0 auto;
+ width: 33.333333%;
}
.row-cols-4 > * {
- flex: 0 0 25%;
- max-width: 25%;
+ flex: 0 0 auto;
+ width: 25%;
}
.row-cols-5 > * {
- flex: 0 0 20%;
- max-width: 20%;
+ flex: 0 0 auto;
+ width: 20%;
}
.row-cols-6 > * {
- flex: 0 0 16.666667%;
- max-width: 16.666667%;
+ flex: 0 0 auto;
+ width: 16.666667%;
}
.col-auto {
flex: 0 0 auto;
width: auto;
- max-width: 100%;
}
.col-1 {
- flex: 0 0 8.333333%;
- max-width: 8.333333%;
+ flex: 0 0 auto;
+ width: 8.333333%;
}
.col-2 {
- flex: 0 0 16.666667%;
- max-width: 16.666667%;
+ flex: 0 0 auto;
+ width: 16.666667%;
}
.col-3 {
- flex: 0 0 25%;
- max-width: 25%;
+ flex: 0 0 auto;
+ width: 25%;
}
.col-4 {
- flex: 0 0 33.333333%;
- max-width: 33.333333%;
+ flex: 0 0 auto;
+ width: 33.333333%;
}
.col-5 {
- flex: 0 0 41.666667%;
- max-width: 41.666667%;
+ flex: 0 0 auto;
+ width: 41.666667%;
}
.col-6 {
- flex: 0 0 50%;
- max-width: 50%;
+ flex: 0 0 auto;
+ width: 50%;
}
.col-7 {
- flex: 0 0 58.333333%;
- max-width: 58.333333%;
+ flex: 0 0 auto;
+ width: 58.333333%;
}
.col-8 {
- flex: 0 0 66.666667%;
- max-width: 66.666667%;
+ flex: 0 0 auto;
+ width: 66.666667%;
}
.col-9 {
- flex: 0 0 75%;
- max-width: 75%;
+ flex: 0 0 auto;
+ width: 75%;
}
.col-10 {
- flex: 0 0 83.333333%;
- max-width: 83.333333%;
+ flex: 0 0 auto;
+ width: 83.333333%;
}
.col-11 {
- flex: 0 0 91.666667%;
- max-width: 91.666667%;
+ flex: 0 0 auto;
+ width: 91.666667%;
}
.col-12 {
- flex: 0 0 100%;
- max-width: 100%;
+ flex: 0 0 auto;
+ width: 100%;
}
.offset-1 {
@@ -256,86 +811,88 @@ html {
@media (min-width: 576px) {
.col-sm {
- flex-basis: 0;
- flex-grow: 1;
- max-width: 100%;
+ flex: 1 0 0%;
+ min-width: 0;
+ }
+ .row-cols-sm-auto > * {
+ flex: 0 0 auto;
+ width: auto;
}
.row-cols-sm-1 > * {
- flex: 0 0 100%;
- max-width: 100%;
+ flex: 0 0 auto;
+ width: 100%;
}
.row-cols-sm-2 > * {
- flex: 0 0 50%;
- max-width: 50%;
+ flex: 0 0 auto;
+ width: 50%;
}
.row-cols-sm-3 > * {
- flex: 0 0 33.333333%;
- max-width: 33.333333%;
+ flex: 0 0 auto;
+ width: 33.333333%;
}
.row-cols-sm-4 > * {
- flex: 0 0 25%;
- max-width: 25%;
+ flex: 0 0 auto;
+ width: 25%;
}
.row-cols-sm-5 > * {
- flex: 0 0 20%;
- max-width: 20%;
+ flex: 0 0 auto;
+ width: 20%;
}
.row-cols-sm-6 > * {
- flex: 0 0 16.666667%;
- max-width: 16.666667%;
+ flex: 0 0 auto;
+ width: 16.666667%;
}
.col-sm-auto {
flex: 0 0 auto;
width: auto;
- max-width: 100%;
}
.col-sm-1 {
- flex: 0 0 8.333333%;
- max-width: 8.333333%;
+ flex: 0 0 auto;
+ width: 8.333333%;
}
.col-sm-2 {
- flex: 0 0 16.666667%;
- max-width: 16.666667%;
+ flex: 0 0 auto;
+ width: 16.666667%;
}
.col-sm-3 {
- flex: 0 0 25%;
- max-width: 25%;
+ flex: 0 0 auto;
+ width: 25%;
}
.col-sm-4 {
- flex: 0 0 33.333333%;
- max-width: 33.333333%;
+ flex: 0 0 auto;
+ width: 33.333333%;
}
.col-sm-5 {
- flex: 0 0 41.666667%;
- max-width: 41.666667%;
+ flex: 0 0 auto;
+ width: 41.666667%;
}
.col-sm-6 {
- flex: 0 0 50%;
- max-width: 50%;
+ flex: 0 0 auto;
+ width: 50%;
}
.col-sm-7 {
- flex: 0 0 58.333333%;
- max-width: 58.333333%;
+ flex: 0 0 auto;
+ width: 58.333333%;
}
.col-sm-8 {
- flex: 0 0 66.666667%;
- max-width: 66.666667%;
+ flex: 0 0 auto;
+ width: 66.666667%;
}
.col-sm-9 {
- flex: 0 0 75%;
- max-width: 75%;
+ flex: 0 0 auto;
+ width: 75%;
}
.col-sm-10 {
- flex: 0 0 83.333333%;
- max-width: 83.333333%;
+ flex: 0 0 auto;
+ width: 83.333333%;
}
.col-sm-11 {
- flex: 0 0 91.666667%;
- max-width: 91.666667%;
+ flex: 0 0 auto;
+ width: 91.666667%;
}
.col-sm-12 {
- flex: 0 0 100%;
- max-width: 100%;
+ flex: 0 0 auto;
+ width: 100%;
}
.offset-sm-0 {
margin-left: 0;
@@ -377,86 +934,88 @@ html {
@media (min-width: 768px) {
.col-md {
- flex-basis: 0;
- flex-grow: 1;
- max-width: 100%;
+ flex: 1 0 0%;
+ min-width: 0;
+ }
+ .row-cols-md-auto > * {
+ flex: 0 0 auto;
+ width: auto;
}
.row-cols-md-1 > * {
- flex: 0 0 100%;
- max-width: 100%;
+ flex: 0 0 auto;
+ width: 100%;
}
.row-cols-md-2 > * {
- flex: 0 0 50%;
- max-width: 50%;
+ flex: 0 0 auto;
+ width: 50%;
}
.row-cols-md-3 > * {
- flex: 0 0 33.333333%;
- max-width: 33.333333%;
+ flex: 0 0 auto;
+ width: 33.333333%;
}
.row-cols-md-4 > * {
- flex: 0 0 25%;
- max-width: 25%;
+ flex: 0 0 auto;
+ width: 25%;
}
.row-cols-md-5 > * {
- flex: 0 0 20%;
- max-width: 20%;
+ flex: 0 0 auto;
+ width: 20%;
}
.row-cols-md-6 > * {
- flex: 0 0 16.666667%;
- max-width: 16.666667%;
+ flex: 0 0 auto;
+ width: 16.666667%;
}
.col-md-auto {
flex: 0 0 auto;
width: auto;
- max-width: 100%;
}
.col-md-1 {
- flex: 0 0 8.333333%;
- max-width: 8.333333%;
+ flex: 0 0 auto;
+ width: 8.333333%;
}
.col-md-2 {
- flex: 0 0 16.666667%;
- max-width: 16.666667%;
+ flex: 0 0 auto;
+ width: 16.666667%;
}
.col-md-3 {
- flex: 0 0 25%;
- max-width: 25%;
+ flex: 0 0 auto;
+ width: 25%;
}
.col-md-4 {
- flex: 0 0 33.333333%;
- max-width: 33.333333%;
+ flex: 0 0 auto;
+ width: 33.333333%;
}
.col-md-5 {
- flex: 0 0 41.666667%;
- max-width: 41.666667%;
+ flex: 0 0 auto;
+ width: 41.666667%;
}
.col-md-6 {
- flex: 0 0 50%;
- max-width: 50%;
+ flex: 0 0 auto;
+ width: 50%;
}
.col-md-7 {
- flex: 0 0 58.333333%;
- max-width: 58.333333%;
+ flex: 0 0 auto;
+ width: 58.333333%;
}
.col-md-8 {
- flex: 0 0 66.666667%;
- max-width: 66.666667%;
+ flex: 0 0 auto;
+ width: 66.666667%;
}
.col-md-9 {
- flex: 0 0 75%;
- max-width: 75%;
+ flex: 0 0 auto;
+ width: 75%;
}
.col-md-10 {
- flex: 0 0 83.333333%;
- max-width: 83.333333%;
+ flex: 0 0 auto;
+ width: 83.333333%;
}
.col-md-11 {
- flex: 0 0 91.666667%;
- max-width: 91.666667%;
+ flex: 0 0 auto;
+ width: 91.666667%;
}
.col-md-12 {
- flex: 0 0 100%;
- max-width: 100%;
+ flex: 0 0 auto;
+ width: 100%;
}
.offset-md-0 {
margin-left: 0;
@@ -498,86 +1057,88 @@ html {
@media (min-width: 992px) {
.col-lg {
- flex-basis: 0;
- flex-grow: 1;
- max-width: 100%;
+ flex: 1 0 0%;
+ min-width: 0;
+ }
+ .row-cols-lg-auto > * {
+ flex: 0 0 auto;
+ width: auto;
}
.row-cols-lg-1 > * {
- flex: 0 0 100%;
- max-width: 100%;
+ flex: 0 0 auto;
+ width: 100%;
}
.row-cols-lg-2 > * {
- flex: 0 0 50%;
- max-width: 50%;
+ flex: 0 0 auto;
+ width: 50%;
}
.row-cols-lg-3 > * {
- flex: 0 0 33.333333%;
- max-width: 33.333333%;
+ flex: 0 0 auto;
+ width: 33.333333%;
}
.row-cols-lg-4 > * {
- flex: 0 0 25%;
- max-width: 25%;
+ flex: 0 0 auto;
+ width: 25%;
}
.row-cols-lg-5 > * {
- flex: 0 0 20%;
- max-width: 20%;
+ flex: 0 0 auto;
+ width: 20%;
}
.row-cols-lg-6 > * {
- flex: 0 0 16.666667%;
- max-width: 16.666667%;
+ flex: 0 0 auto;
+ width: 16.666667%;
}
.col-lg-auto {
flex: 0 0 auto;
width: auto;
- max-width: 100%;
}
.col-lg-1 {
- flex: 0 0 8.333333%;
- max-width: 8.333333%;
+ flex: 0 0 auto;
+ width: 8.333333%;
}
.col-lg-2 {
- flex: 0 0 16.666667%;
- max-width: 16.666667%;
+ flex: 0 0 auto;
+ width: 16.666667%;
}
.col-lg-3 {
- flex: 0 0 25%;
- max-width: 25%;
+ flex: 0 0 auto;
+ width: 25%;
}
.col-lg-4 {
- flex: 0 0 33.333333%;
- max-width: 33.333333%;
+ flex: 0 0 auto;
+ width: 33.333333%;
}
.col-lg-5 {
- flex: 0 0 41.666667%;
- max-width: 41.666667%;
+ flex: 0 0 auto;
+ width: 41.666667%;
}
.col-lg-6 {
- flex: 0 0 50%;
- max-width: 50%;
+ flex: 0 0 auto;
+ width: 50%;
}
.col-lg-7 {
- flex: 0 0 58.333333%;
- max-width: 58.333333%;
+ flex: 0 0 auto;
+ width: 58.333333%;
}
.col-lg-8 {
- flex: 0 0 66.666667%;
- max-width: 66.666667%;
+ flex: 0 0 auto;
+ width: 66.666667%;
}
.col-lg-9 {
- flex: 0 0 75%;
- max-width: 75%;
+ flex: 0 0 auto;
+ width: 75%;
}
.col-lg-10 {
- flex: 0 0 83.333333%;
- max-width: 83.333333%;
+ flex: 0 0 auto;
+ width: 83.333333%;
}
.col-lg-11 {
- flex: 0 0 91.666667%;
- max-width: 91.666667%;
+ flex: 0 0 auto;
+ width: 91.666667%;
}
.col-lg-12 {
- flex: 0 0 100%;
- max-width: 100%;
+ flex: 0 0 auto;
+ width: 100%;
}
.offset-lg-0 {
margin-left: 0;
@@ -619,86 +1180,88 @@ html {
@media (min-width: 1200px) {
.col-xl {
- flex-basis: 0;
- flex-grow: 1;
- max-width: 100%;
+ flex: 1 0 0%;
+ min-width: 0;
+ }
+ .row-cols-xl-auto > * {
+ flex: 0 0 auto;
+ width: auto;
}
.row-cols-xl-1 > * {
- flex: 0 0 100%;
- max-width: 100%;
+ flex: 0 0 auto;
+ width: 100%;
}
.row-cols-xl-2 > * {
- flex: 0 0 50%;
- max-width: 50%;
+ flex: 0 0 auto;
+ width: 50%;
}
.row-cols-xl-3 > * {
- flex: 0 0 33.333333%;
- max-width: 33.333333%;
+ flex: 0 0 auto;
+ width: 33.333333%;
}
.row-cols-xl-4 > * {
- flex: 0 0 25%;
- max-width: 25%;
+ flex: 0 0 auto;
+ width: 25%;
}
.row-cols-xl-5 > * {
- flex: 0 0 20%;
- max-width: 20%;
+ flex: 0 0 auto;
+ width: 20%;
}
.row-cols-xl-6 > * {
- flex: 0 0 16.666667%;
- max-width: 16.666667%;
+ flex: 0 0 auto;
+ width: 16.666667%;
}
.col-xl-auto {
flex: 0 0 auto;
width: auto;
- max-width: 100%;
}
.col-xl-1 {
- flex: 0 0 8.333333%;
- max-width: 8.333333%;
+ flex: 0 0 auto;
+ width: 8.333333%;
}
.col-xl-2 {
- flex: 0 0 16.666667%;
- max-width: 16.666667%;
+ flex: 0 0 auto;
+ width: 16.666667%;
}
.col-xl-3 {
- flex: 0 0 25%;
- max-width: 25%;
+ flex: 0 0 auto;
+ width: 25%;
}
.col-xl-4 {
- flex: 0 0 33.333333%;
- max-width: 33.333333%;
+ flex: 0 0 auto;
+ width: 33.333333%;
}
.col-xl-5 {
- flex: 0 0 41.666667%;
- max-width: 41.666667%;
+ flex: 0 0 auto;
+ width: 41.666667%;
}
.col-xl-6 {
- flex: 0 0 50%;
- max-width: 50%;
+ flex: 0 0 auto;
+ width: 50%;
}
.col-xl-7 {
- flex: 0 0 58.333333%;
- max-width: 58.333333%;
+ flex: 0 0 auto;
+ width: 58.333333%;
}
.col-xl-8 {
- flex: 0 0 66.666667%;
- max-width: 66.666667%;
+ flex: 0 0 auto;
+ width: 66.666667%;
}
.col-xl-9 {
- flex: 0 0 75%;
- max-width: 75%;
+ flex: 0 0 auto;
+ width: 75%;
}
.col-xl-10 {
- flex: 0 0 83.333333%;
- max-width: 83.333333%;
+ flex: 0 0 auto;
+ width: 83.333333%;
}
.col-xl-11 {
- flex: 0 0 91.666667%;
- max-width: 91.666667%;
+ flex: 0 0 auto;
+ width: 91.666667%;
}
.col-xl-12 {
- flex: 0 0 100%;
- max-width: 100%;
+ flex: 0 0 auto;
+ width: 100%;
}
.offset-xl-0 {
margin-left: 0;
diff --git a/dist/css/bootstrap-grid.css.map b/dist/css/bootstrap-grid.css.map
index 132615485b..b8fb3dd05d 100644
--- a/dist/css/bootstrap-grid.css.map
+++ b/dist/css/bootstrap-grid.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/bootstrap-grid.scss","bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/_variables.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"AAAA;;;;;ECKE;ADEF;EACE,sBAAsB;ACAxB;;ADGA;;;EAGE,mBAAmB;ACArB;;ACRE;ECDA,WAAW;EACX,mBC8T0C;ED7T1C,kBC6T0C;ED5T1C,kBAAkB;EAClB,iBAAiB;AFanB;;AIyCI;EHzDF;ICWI,gBC+RK;EHrRT;AACF;;AImCI;EHzDF;ICWI,gBCgSK;EHhRT;AACF;;AI6BI;EHzDF;ICWI,gBCiSK;EH3QT;AACF;;AIuBI;EHzDF;ICWI,iBCkSM;EHtQV;AACF;;AClCE;ECPA,WAAW;EACX,mBC8T0C;ED7T1C,kBC6T0C;ED5T1C,kBAAkB;EAClB,iBAAiB;AF6CnB;;AISI;EHxCE;IACE,gBEwRG;EHrPT;AACF;;AIGI;EHxCE;IACE,gBEyRG;EHhPT;AACF;;AIHI;EHxCE;IACE,gBE0RG;EH3OT;AACF;;AITI;EHxCE;IACE,iBE2RI;EHtOV;AACF;;AClCE;ECrBA,aAAa;EACb,eAAe;EACf,mBAA0B;EAC1B,kBAAyB;AF2D3B;;ACnCE;EACE,eAAe;EACf,cAAc;ADsClB;;ACxCE;;EAMI,gBAAgB;EAChB,eAAe;ADuCrB;;AKzFE;;;;;;EACE,kBAAkB;EAClB,WAAW;EACX,mBAA0B;EAC1B,kBAAyB;ALiG7B;;AK9EM;EACE,aAAa;EACb,YAAY;EACZ,eAAe;ALiFvB;;AK7EQ;EH4BJ,cAAuB;EACvB,eAAwB;AFqD5B;;AKlFQ;EH4BJ,aAAuB;EACvB,cAAwB;AF0D5B;;AKvFQ;EH4BJ,oBAAuB;EACvB,qBAAwB;AF+D5B;;AK5FQ;EH4BJ,aAAuB;EACvB,cAAwB;AFoE5B;;AKjGQ;EH4BJ,aAAuB;EACvB,cAAwB;AFyE5B;;AKtGQ;EH4BJ,oBAAuB;EACvB,qBAAwB;AF8E5B;;AKtGM;EHMJ,cAAc;EACd,WAAW;EACX,eAAe;AFoGjB;;AKvGQ;EHPN,mBAAsC;EAItC,oBAAuC;AF+GzC;;AK5GQ;EHPN,oBAAsC;EAItC,qBAAuC;AFoHzC;;AKjHQ;EHPN,aAAsC;EAItC,cAAuC;AFyHzC;;AKtHQ;EHPN,oBAAsC;EAItC,qBAAuC;AF8HzC;;AK3HQ;EHPN,oBAAsC;EAItC,qBAAuC;AFmIzC;;AKhIQ;EHPN,aAAsC;EAItC,cAAuC;AFwIzC;;AKrIQ;EHPN,oBAAsC;EAItC,qBAAuC;AF6IzC;;AK1IQ;EHPN,oBAAsC;EAItC,qBAAuC;AFkJzC;;AK/IQ;EHPN,aAAsC;EAItC,cAAuC;AFuJzC;;AKpJQ;EHPN,oBAAsC;EAItC,qBAAuC;AF4JzC;;AKzJQ;EHPN,oBAAsC;EAItC,qBAAuC;AFiKzC;;AK9JQ;EHPN,cAAsC;EAItC,eAAuC;AFsKzC;;AK3JU;EHAR,sBAA8C;AF+JhD;;AK/JU;EHAR,uBAA8C;AFmKhD;;AKnKU;EHAR,gBAA8C;AFuKhD;;AKvKU;EHAR,uBAA8C;AF2KhD;;AK3KU;EHAR,uBAA8C;AF+KhD;;AK/KU;EHAR,gBAA8C;AFmLhD;;AKnLU;EHAR,uBAA8C;AFuLhD;;AKvLU;EHAR,uBAA8C;AF2LhD;;AK3LU;EHAR,gBAA8C;AF+LhD;;AK/LU;EHAR,uBAA8C;AFmMhD;;AKnMU;EHAR,uBAA8C;AFuMhD;;AI/LI;ECjCE;IACE,aAAa;IACb,YAAY;IACZ,eAAe;ELoOrB;EKhOM;IH4BJ,cAAuB;IACvB,eAAwB;EFuM1B;EKpOM;IH4BJ,aAAuB;IACvB,cAAwB;EF2M1B;EKxOM;IH4BJ,oBAAuB;IACvB,qBAAwB;EF+M1B;EK5OM;IH4BJ,aAAuB;IACvB,cAAwB;EFmN1B;EKhPM;IH4BJ,aAAuB;IACvB,cAAwB;EFuN1B;EKpPM;IH4BJ,oBAAuB;IACvB,qBAAwB;EF2N1B;EKnPI;IHMJ,cAAc;IACd,WAAW;IACX,eAAe;EFgPf;EKnPM;IHPN,mBAAsC;IAItC,oBAAuC;EF0PvC;EKvPM;IHPN,oBAAsC;IAItC,qBAAuC;EF8PvC;EK3PM;IHPN,aAAsC;IAItC,cAAuC;EFkQvC;EK/PM;IHPN,oBAAsC;IAItC,qBAAuC;EFsQvC;EKnQM;IHPN,oBAAsC;IAItC,qBAAuC;EF0QvC;EKvQM;IHPN,aAAsC;IAItC,cAAuC;EF8QvC;EK3QM;IHPN,oBAAsC;IAItC,qBAAuC;EFkRvC;EK/QM;IHPN,oBAAsC;IAItC,qBAAuC;EFsRvC;EKnRM;IHPN,aAAsC;IAItC,cAAuC;EF0RvC;EKvRM;IHPN,oBAAsC;IAItC,qBAAuC;EF8RvC;EK3RM;IHPN,oBAAsC;IAItC,qBAAuC;EFkSvC;EK/RM;IHPN,cAAsC;IAItC,eAAuC;EFsSvC;EK3RQ;IHAR,cAA4B;EF8R5B;EK9RQ;IHAR,sBAA8C;EFiS9C;EKjSQ;IHAR,uBAA8C;EFoS9C;EKpSQ;IHAR,gBAA8C;EFuS9C;EKvSQ;IHAR,uBAA8C;EF0S9C;EK1SQ;IHAR,uBAA8C;EF6S9C;EK7SQ;IHAR,gBAA8C;EFgT9C;EKhTQ;IHAR,uBAA8C;EFmT9C;EKnTQ;IHAR,uBAA8C;EFsT9C;EKtTQ;IHAR,gBAA8C;EFyT9C;EKzTQ;IHAR,uBAA8C;EF4T9C;EK5TQ;IHAR,uBAA8C;EF+T9C;AACF;;AIxTI;ECjCE;IACE,aAAa;IACb,YAAY;IACZ,eAAe;EL6VrB;EKzVM;IH4BJ,cAAuB;IACvB,eAAwB;EFgU1B;EK7VM;IH4BJ,aAAuB;IACvB,cAAwB;EFoU1B;EKjWM;IH4BJ,oBAAuB;IACvB,qBAAwB;EFwU1B;EKrWM;IH4BJ,aAAuB;IACvB,cAAwB;EF4U1B;EKzWM;IH4BJ,aAAuB;IACvB,cAAwB;EFgV1B;EK7WM;IH4BJ,oBAAuB;IACvB,qBAAwB;EFoV1B;EK5WI;IHMJ,cAAc;IACd,WAAW;IACX,eAAe;EFyWf;EK5WM;IHPN,mBAAsC;IAItC,oBAAuC;EFmXvC;EKhXM;IHPN,oBAAsC;IAItC,qBAAuC;EFuXvC;EKpXM;IHPN,aAAsC;IAItC,cAAuC;EF2XvC;EKxXM;IHPN,oBAAsC;IAItC,qBAAuC;EF+XvC;EK5XM;IHPN,oBAAsC;IAItC,qBAAuC;EFmYvC;EKhYM;IHPN,aAAsC;IAItC,cAAuC;EFuYvC;EKpYM;IHPN,oBAAsC;IAItC,qBAAuC;EF2YvC;EKxYM;IHPN,oBAAsC;IAItC,qBAAuC;EF+YvC;EK5YM;IHPN,aAAsC;IAItC,cAAuC;EFmZvC;EKhZM;IHPN,oBAAsC;IAItC,qBAAuC;EFuZvC;EKpZM;IHPN,oBAAsC;IAItC,qBAAuC;EF2ZvC;EKxZM;IHPN,cAAsC;IAItC,eAAuC;EF+ZvC;EKpZQ;IHAR,cAA4B;EFuZ5B;EKvZQ;IHAR,sBAA8C;EF0Z9C;EK1ZQ;IHAR,uBAA8C;EF6Z9C;EK7ZQ;IHAR,gBAA8C;EFga9C;EKhaQ;IHAR,uBAA8C;EFma9C;EKnaQ;IHAR,uBAA8C;EFsa9C;EKtaQ;IHAR,gBAA8C;EFya9C;EKzaQ;IHAR,uBAA8C;EF4a9C;EK5aQ;IHAR,uBAA8C;EF+a9C;EK/aQ;IHAR,gBAA8C;EFkb9C;EKlbQ;IHAR,uBAA8C;EFqb9C;EKrbQ;IHAR,uBAA8C;EFwb9C;AACF;;AIjbI;ECjCE;IACE,aAAa;IACb,YAAY;IACZ,eAAe;ELsdrB;EKldM;IH4BJ,cAAuB;IACvB,eAAwB;EFyb1B;EKtdM;IH4BJ,aAAuB;IACvB,cAAwB;EF6b1B;EK1dM;IH4BJ,oBAAuB;IACvB,qBAAwB;EFic1B;EK9dM;IH4BJ,aAAuB;IACvB,cAAwB;EFqc1B;EKleM;IH4BJ,aAAuB;IACvB,cAAwB;EFyc1B;EKteM;IH4BJ,oBAAuB;IACvB,qBAAwB;EF6c1B;EKreI;IHMJ,cAAc;IACd,WAAW;IACX,eAAe;EFkef;EKreM;IHPN,mBAAsC;IAItC,oBAAuC;EF4evC;EKzeM;IHPN,oBAAsC;IAItC,qBAAuC;EFgfvC;EK7eM;IHPN,aAAsC;IAItC,cAAuC;EFofvC;EKjfM;IHPN,oBAAsC;IAItC,qBAAuC;EFwfvC;EKrfM;IHPN,oBAAsC;IAItC,qBAAuC;EF4fvC;EKzfM;IHPN,aAAsC;IAItC,cAAuC;EFggBvC;EK7fM;IHPN,oBAAsC;IAItC,qBAAuC;EFogBvC;EKjgBM;IHPN,oBAAsC;IAItC,qBAAuC;EFwgBvC;EKrgBM;IHPN,aAAsC;IAItC,cAAuC;EF4gBvC;EKzgBM;IHPN,oBAAsC;IAItC,qBAAuC;EFghBvC;EK7gBM;IHPN,oBAAsC;IAItC,qBAAuC;EFohBvC;EKjhBM;IHPN,cAAsC;IAItC,eAAuC;EFwhBvC;EK7gBQ;IHAR,cAA4B;EFghB5B;EKhhBQ;IHAR,sBAA8C;EFmhB9C;EKnhBQ;IHAR,uBAA8C;EFshB9C;EKthBQ;IHAR,gBAA8C;EFyhB9C;EKzhBQ;IHAR,uBAA8C;EF4hB9C;EK5hBQ;IHAR,uBAA8C;EF+hB9C;EK/hBQ;IHAR,gBAA8C;EFkiB9C;EKliBQ;IHAR,uBAA8C;EFqiB9C;EKriBQ;IHAR,uBAA8C;EFwiB9C;EKxiBQ;IHAR,gBAA8C;EF2iB9C;EK3iBQ;IHAR,uBAA8C;EF8iB9C;EK9iBQ;IHAR,uBAA8C;EFijB9C;AACF;;AI1iBI;ECjCE;IACE,aAAa;IACb,YAAY;IACZ,eAAe;EL+kBrB;EK3kBM;IH4BJ,cAAuB;IACvB,eAAwB;EFkjB1B;EK/kBM;IH4BJ,aAAuB;IACvB,cAAwB;EFsjB1B;EKnlBM;IH4BJ,oBAAuB;IACvB,qBAAwB;EF0jB1B;EKvlBM;IH4BJ,aAAuB;IACvB,cAAwB;EF8jB1B;EK3lBM;IH4BJ,aAAuB;IACvB,cAAwB;EFkkB1B;EK/lBM;IH4BJ,oBAAuB;IACvB,qBAAwB;EFskB1B;EK9lBI;IHMJ,cAAc;IACd,WAAW;IACX,eAAe;EF2lBf;EK9lBM;IHPN,mBAAsC;IAItC,oBAAuC;EFqmBvC;EKlmBM;IHPN,oBAAsC;IAItC,qBAAuC;EFymBvC;EKtmBM;IHPN,aAAsC;IAItC,cAAuC;EF6mBvC;EK1mBM;IHPN,oBAAsC;IAItC,qBAAuC;EFinBvC;EK9mBM;IHPN,oBAAsC;IAItC,qBAAuC;EFqnBvC;EKlnBM;IHPN,aAAsC;IAItC,cAAuC;EFynBvC;EKtnBM;IHPN,oBAAsC;IAItC,qBAAuC;EF6nBvC;EK1nBM;IHPN,oBAAsC;IAItC,qBAAuC;EFioBvC;EK9nBM;IHPN,aAAsC;IAItC,cAAuC;EFqoBvC;EKloBM;IHPN,oBAAsC;IAItC,qBAAuC;EFyoBvC;EKtoBM;IHPN,oBAAsC;IAItC,qBAAuC;EF6oBvC;EK1oBM;IHPN,cAAsC;IAItC,eAAuC;EFipBvC;EKtoBQ;IHAR,cAA4B;EFyoB5B;EKzoBQ;IHAR,sBAA8C;EF4oB9C;EK5oBQ;IHAR,uBAA8C;EF+oB9C;EK/oBQ;IHAR,gBAA8C;EFkpB9C;EKlpBQ;IHAR,uBAA8C;EFqpB9C;EKrpBQ;IHAR,uBAA8C;EFwpB9C;EKxpBQ;IHAR,gBAA8C;EF2pB9C;EK3pBQ;IHAR,uBAA8C;EF8pB9C;EK9pBQ;IHAR,uBAA8C;EFiqB9C;EKjqBQ;IHAR,gBAA8C;EFoqB9C;EKpqBQ;IHAR,uBAA8C;EFuqB9C;EKvqBQ;IHAR,uBAA8C;EF0qB9C;AACF;;AMvsBI;EAGI,wBAA+B;ANwsBvC;;AM3sBI;EAGI,0BAA+B;AN4sBvC;;AM/sBI;EAGI,gCAA+B;ANgtBvC;;AMntBI;EAGI,yBAA+B;ANotBvC;;AMvtBI;EAGI,yBAA+B;ANwtBvC;;AM3tBI;EAGI,6BAA+B;AN4tBvC;;AM/tBI;EAGI,8BAA+B;ANguBvC;;AMnuBI;EAGI,wBAA+B;ANouBvC;;AMvuBI;EAGI,+BAA+B;ANwuBvC;;AM3uBI;EAGI,yBAA+B;AN4uBvC;;AM/uBI;EAGI,8BAA+B;ANgvBvC;;AMnvBI;EAGI,iCAA+B;ANovBvC;;AMvvBI;EAGI,sCAA+B;ANwvBvC;;AM3vBI;EAGI,yCAA+B;AN4vBvC;;AM/vBI;EAGI,uBAA+B;ANgwBvC;;AMnwBI;EAGI,uBAA+B;ANowBvC;;AMvwBI;EAGI,sCAA+B;ANwwBvC;;AM3wBI;EAGI,oCAA+B;AN4wBvC;;AM/wBI;EAGI,kCAA+B;ANgxBvC;;AMnxBI;EAGI,yCAA+B;ANoxBvC;;AMvxBI;EAGI,wCAA+B;ANwxBvC;;AM3xBI;EAGI,kCAA+B;AN4xBvC;;AM/xBI;EAGI,gCAA+B;ANgyBvC;;AMnyBI;EAGI,8BAA+B;ANoyBvC;;AMvyBI;EAGI,gCAA+B;ANwyBvC;;AM3yBI;EAGI,+BAA+B;AN4yBvC;;AM/yBI;EAGI,oCAA+B;ANgzBvC;;AMnzBI;EAGI,kCAA+B;ANozBvC;;AMvzBI;EAGI,gCAA+B;ANwzBvC;;AM3zBI;EAGI,uCAA+B;AN4zBvC;;AM/zBI;EAGI,sCAA+B;ANg0BvC;;AMn0BI;EAGI,iCAA+B;ANo0BvC;;AMv0BI;EAGI,2BAA+B;ANw0BvC;;AM30BI;EAGI,iCAA+B;AN40BvC;;AM/0BI;EAGI,+BAA+B;ANg1BvC;;AMn1BI;EAGI,6BAA+B;ANo1BvC;;AMv1BI;EAGI,+BAA+B;ANw1BvC;;AM31BI;EAGI,8BA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,+BAA+B;ANg0CvC;;AMn0CI;EAGI,8BAA+B;ANo0CvC;;AMv0CI;EAGI,4BAA+B;ANw0CvC;;AM30CI;EAGI,8BAA+B;AN40CvC;;AM/0CI;EAGI,4BAA+B;ANg1CvC;;AMn1CI;EAGI,2BAA+B;ANo1CvC;;AMv1CI;EAGI,iCAA+B;ANw1CvC;;AM31CI;EAGI,gCAA+B;AN41CvC;;AM/1CI;EAGI,8BAA+B;ANg2CvC;;AMn2CI;EAGI,gCAA+B;ANo2CvC;;AMv2CI;EAGI,8BAA+B;ANw2CvC;;AM32CI;EAGI,4BAA+B;AN42CvC;;AM/2CI;EAGI,kCAA+B;ANg3CvC;;AMn3CI;EAGI,iCAA+B;ANo3CvC;;AMv3CI;EAGI,+BAA+B;ANw3CvC;;AM33CI;EAGI,iCAA+B;AN43CvC;;AM/3CI;EAGI,+BAA+B;ANg4CvC;;AMn4CI;EAGI,0BAA+B;ANo4CvC;;AMv4CI;EAGI,gCAA+B;ANw4CvC;;AM34CI;EAGI,+BAA+B;AN44CvC;;AM/4CI;EAGI,6BAA+B;ANg5CvC;;AMn5CI;EAGI,+BAA+B;ANo5CvC;;AMv5CI;EAGI,6BAA+B;ANw5CvC;;AIv3CI;EEpCA;IAGI,wBAA+B;EN65CrC;EMh6CE;IAGI,0BAA+B;ENg6CrC;EMn6CE;IAGI,gCAA+B;ENm6CrC;EMt6CE;IAGI,yBAA+B;ENs6CrC;EMz6CE;IAGI,yBAA+B;ENy6CrC;EM56CE;IAGI,6BAA+B;EN46CrC;EM/6CE;IAGI,8BAA+B;EN+6CrC;EMl7CE;IAGI,wBAA+B;ENk7CrC;EMr7CE;IAGI,+BAA+B;ENq7CrC;EMx7CE;IAGI,yBAA+B;ENw7CrC;EM37CE;IAGI,8BAA+B;EN27CrC;EM97CE;IAGI,iCAA+B;EN87CrC;EMj8CE;IAGI,sCAA+B;ENi8CrC;EMp8CE;IAGI,yCAA+B;ENo8CrC;EMv8CE;IAGI,uBAA+B;ENu8CrC;EM18CE;IAGI,uBAA+B;EN08CrC;EM78CE;IAGI,sCAA+B;EN68CrC;EMh9CE;IAGI,oCAA+B;ENg9CrC;EMn9CE;IAGI,kCAA+B;ENm9CrC;EMt9CE;IAGI,yCAA+B;ENs9CrC;EMz9CE;IAGI,wCAA+B;EN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g+DrC;EMn+DE;IAGI,yBAA+B;ENm+DrC;EMt+DE;IAGI,8BAA+B;ENs+DrC;EMz+DE;IAGI,iCAA+B;ENy+DrC;EM5+DE;IAGI,sCAA+B;EN4+DrC;EM/+DE;IAGI,yCAA+B;EN++DrC;EMl/DE;IAGI,uBAA+B;ENk/DrC;EMr/DE;IAGI,uBAA+B;ENq/DrC;EMx/DE;IAGI,sCAA+B;ENw/DrC;EM3/DE;IAGI,oCAA+B;EN2/DrC;EM9/DE;IAGI,kCAA+B;EN8/DrC;EMjgEE;IAGI,yCAA+B;ENigErC;EMpgEE;IAGI,wCAA+B;ENogErC;EMvgEE;IAGI,kCAA+B;ENugErC;EM1gEE;IAGI,gCAA+B;EN0gErC;EM7gEE;IAGI,8BAA+B;EN6gErC;EMhhEE;IAGI,gCAA+B;ENghErC;EMnhEE;IAGI,+BAA+B;ENmhErC;EMthEE;IAGI,oCAA+B;ENshErC;EMzhEE;IAGI,kCAA+B;ENyhErC;EM5hEE;IAGI,gCAA+B;EN4hErC;EM/hEE;IAGI,uCAA+B;EN+hErC;EMliEE;IAGI,sCAA+B;ENkiErC;EMriEE;IAGI,iCAA+B;ENqiErC;EMxiEE;IAGI,2BAA+B;ENwiErC;EM3iEE;IAGI,iCAA+B;EN2iErC;EM9iEE;IAGI,+BAA+B;EN8iErC;EMjjEE;IAGI,6BAA+B;ENijErC;EMpjEE;IAGI,+BAA+B;ENojErC;EMvjEE;IAGI,8BAA+B;ENujErC;EM1jEE;IAGI,oBAA+B;EN0jErC;EM7jEE;IAGI,mBAA+B;EN6jErC;EMhkEE;IAGI,mBAA+B;ENgkErC;EMnkEE;IAGI,mBAA+B;ENmkErC;EMtkEE;IAGI,mBAA+B;ENskErC;EMzkEE;IAGI,mBAA+B;ENykErC;EM5kEE;IAGI,mBAA+B;EN4kErC;EM/kEE;IAGI,mBAA+B;EN+kErC;EMllEE;IAGI,oBAA+B;ENklErC;EMrlEE;IAGI,0BAA+B;ENqlErC;EMxlEE;IAGI,yBAA+B;ENwlErC;EM3lEE;IAGI,uBAA+B;EN2lErC;EM9lEE;IAGI,yBAA+B;EN8lErC;EMjmEE;IAGI,uBAA+B;ENimErC;EMpmEE;IAGI,uBAA+B;ENomErC;EMvmEE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;IAGI,6BAA+B;ENu+ErC;EM1+EE;IAGI,+BAA+B;EN0+ErC;EM7+EE;IAGI,6BAA+B;EN6+ErC;AACF;;AI78EI;EEpCA;IAGI,wBAA+B;ENm/ErC;EMt/EE;IAGI,0BAA+B;ENs/ErC;EMz/EE;IAGI,gCAA+B;ENy/ErC;EM5/EE;IAGI,yBAA+B;EN4/ErC;EM//EE;IAGI,yBAA+B;EN+/ErC;EMlgFE;IAGI,6BAA+B;ENkgFrC;EMrgFE;IAGI,8BAA+B;ENqgFrC;EMxgFE;IAGI,wBAA+B;ENwgFrC;EM3gFE;IAGI,+BAA+B;EN2gFrC;EM9gFE;IAGI,yBAA+B;EN8gFrC;EMjhFE;IAGI,8BAA+B;ENihFrC;EMphFE;IAGI,iCAA+B;ENohFrC;EMvhFE;IAGI,sCAA+B;ENuhFrC;EM1hFE;IAGI,yCAA+B;EN0hFrC;EM7hFE;IAGI,uBAA+B;EN6hFrC;EMhiFE;IAGI,uBAA+B;ENgiFrC;EMniFE;IAGI,sCAA+B;ENmiFrC;EMtiFE;IAGI,oCAA+B;ENsiFrC;EMziFE;IAGI,kCAA+B;ENyiFrC;EM5iFE;IAGI,yCAA+B;EN4iFrC;EM/iFE;IAGI,wCAA+B;EN+iFrC;EMljFE;IAGI,kCAA+B;ENkjFrC;EMrjFE;IAGI,gCAA+B;ENqjFrC;EMxjFE;IAGI,8BAA+B;ENwjFrC;EM3jFE;IAGI,gCAA+B;EN2jFrC;EM9jFE;IAGI,+BAA+B;EN8jFrC;EMjkFE;IAGI,oCAA+B;ENikFrC;EMpkFE;IAGI,kCAA+B;ENokFrC;EMvkFE;IAGI,gCAA+B;ENukFrC;EM1kFE;IAGI,uCAA+B;EN0kFrC;EM7kFE;IAGI,sCAA+B;EN6kFrC;EMhlFE;IAGI,iCAA+B;ENglFrC;EMnlFE;IAGI,2BAA+B;ENmlFrC;EMtlFE;IAGI,iCAA+B;ENslFrC;EMzlFE;IAGI,+BAA+B;ENylFrC;EM5lFE;IAGI,6BAA+B;EN4lFrC;EM/lFE;IAGI,+BAA+B;EN+lFrC;EMlmFE;IAGI,8BAA+B;ENkmFrC;EMrmFE;IAGI,oBAA+B;ENqmFrC;EMxmFE;IAGI,mBAA+B;ENwmFrC;EM3mFE;IAGI,mBAA+B;EN2mFrC;EM9mFE;IAGI,mBAA+B;EN8mFrC;EMjnFE;IAGI,mBAA+B;ENinFrC;EMpnFE;IAGI,mBAA+B;ENonFrC;EMvnFE;IAGI,mBAA+B;ENunFrC;EM1nFE;IAGI,mBAA+B;EN0nFrC;EM7nFE;IAGI,oBAA+B;EN6nFrC;EMhoFE;IAGI,0BAA+B;ENgoFrC;EMnoFE;IAGI,yBAA+B;ENmoFrC;EMtoFE;IAGI,uBAA+B;ENsoFrC;EMzoFE;IAGI,yBAA+B;ENyoFrC;EM5oFE;IAGI,uBAA+B;EN4oFrC;EM/oFE;IAGI,uBAA+B;EN+oFrC;EMlpFE;IAGI,0BAA+B;IAA/B,yBAA+B;ENmpFrC;EMtpFE;IAGI,gCAA+B;IAA/B,+BAA+B;ENupFrC;EM1pFE;IAGI,+BAA+B;IAA/B,8BAA+B;EN2pFrC;EM9pFE;IAGI,6BAA+B;IAA/B,4BAA+B;EN+pFrC;EMlqFE;IAGI,+BAA+B;IAA/B,8BAA+B;ENmqFrC;EMtqFE;IAGI,6BAA+B;IAA/B,4BAA+B;ENuqFrC;EM1qFE;IAGI,6BAA+B;IAA/B,4BAA+B;EN2qFrC;EM9qFE;IAGI,wBAA+B;IAA/B,2BAA+B;EN+qFrC;EMlrFE;IAGI,8BAA+B;IAA/B,iCAA+B;ENmrFrC;EMtrFE;IAGI,6BAA+B;IAA/B,gCAA+B;ENurFrC;EM1rFE;IAGI,2BAA+B;IAA/B,8BAA+B;EN2rFrC;EM9rFE;IAGI,6BAA+B;IAA/B,gCAA+B;EN+rFrC;EMlsFE;IAGI,2BAA+B;IAA/B,8BAA+B;ENmsFrC;EMtsFE;IAGI,2BAA+B;IAA/B,8BAA+B;ENusFrC;EM1sFE;IAGI,wBAA+B;EN0sFrC;EM7sFE;IAGI,8BAA+B;EN6sFrC;EMhtFE;IAGI,6BAA+B;ENgtFrC;EMntFE;IAGI,2BAA+B;ENmtFrC;EMttFE;IAGI,6BAA+B;ENstFrC;EMztFE;IAGI,2BAA+B;ENytFrC;EM5tFE;IAGI,2BAA+B;EN4tFrC;EM/tFE;IAGI,0BAA+B;EN+tFrC;EMluFE;IAGI,gCAA+B;ENkuFrC;EMruFE;IAGI,+BAA+B;ENquFrC;EMxuFE;IAGI,6BAA+B;ENwuFrC;EM3uFE;IAGI,+BAA+B;EN2uFrC;EM9uFE;IAGI,6BAA+B;EN8uFrC;EMjvFE;IAGI,6BAA+B;ENivFrC;EMpvFE;IAGI,2BAA+B;ENovFrC;EMvvFE;IAGI,iCAA+B;ENuvFrC;EM1vFE;IAGI,gCAA+B;EN0vFrC;EM7vFE;IAGI,8BAA+B;EN6vFrC;EMhwFE;IAGI,gCAA+B;ENgwFrC;EMnwFE;IAGI,8BAA+B;ENmwFrC;EMtwFE;IAGI,8BAA+B;ENswFrC;EMzwFE;IAGI,yBAA+B;ENywFrC;EM5wFE;IAGI,+BAA+B;EN4wFrC;EM/wFE;IAGI,8BAA+B;EN+wFrC;EMlxFE;IAGI,4BAA+B;ENkxFrC;EMrxFE;IAGI,8BAA+B;ENqxFrC;EMxxFE;IAGI,4BAA+B;ENwxFrC;EM3xFE;IAGI,4BAA+B;EN2xFrC;EM9xFE;IAGI,2BAA+B;EN8xFrC;EMjyFE;IAGI,0BAA+B;ENiyFrC;EMpyFE;IAGI,wBAA+B;ENoyFrC;EMvyFE;IAGI,0BAA+B;ENuyFrC;EM1yFE;IAGI,wBAA+B;EN0yFrC;EM7yFE;IAGI,iCAA+B;IAA/B,gCAA+B;EN8yFrC;EMjzFE;IAGI,gCAA+B;IAA/B,+BAA+B;ENkzFrC;EMrzFE;IAGI,8BAA+B;IAA/B,6BAA+B;ENszFrC;EMzzFE;IAGI,gCAA+B;IAA/B,+BAA+B;EN0zFrC;EM7zFE;IAGI,8BAA+B;IAA/B,6BAA+B;EN8zFrC;EMj0FE;IAGI,+BAA+B;IAA/B,kCAA+B;ENk0FrC;EMr0FE;IAGI,8BAA+B;IAA/B,iCAA+B;ENs0FrC;EMz0FE;IAGI,4BAA+B;IAA/B,+BAA+B;EN00FrC;EM70FE;IAGI,8BAA+B;IAA/B,iCAA+B;EN80FrC;EMj1FE;IAGI,4BAA+B;IAA/B,+BAA+B;ENk1FrC;EMr1FE;IAGI,+BAA+B;ENq1FrC;EMx1FE;IAGI,8BAA+B;ENw1FrC;EM31FE;IAGI,4BAA+B;EN21FrC;EM91FE;IAGI,8BAA+B;EN81FrC;EMj2FE;IAGI,4BAA+B;ENi2FrC;EMp2FE;IAGI,iCAA+B;ENo2FrC;EMv2FE;IAGI,gCAA+B;ENu2FrC;EM12FE;IAGI,8BAA+B;EN02FrC;EM72FE;IAGI,gCAA+B;EN62FrC;EMh3FE;IAGI,8BAA+B;ENg3FrC;EMn3FE;IAGI,kCAA+B;ENm3FrC;EMt3FE;IAGI,iCAA+B;ENs3FrC;EMz3FE;IAGI,+BAA+B;ENy3FrC;EM53FE;IAGI,iCAA+B;EN43FrC;EM/3FE;IAGI,+BAA+B;EN+3FrC;EMl4FE;IAGI,gCAA+B;ENk4FrC;EMr4FE;IAGI,+BAA+B;ENq4FrC;EMx4FE;IAGI,6BAA+B;ENw4FrC;EM34FE;IAGI,+BAA+B;EN24FrC;EM94FE;IAGI,6BAA+B;EN84FrC;EMj5FE;IAGI,qBAA+B;ENi5FrC;EMp5FE;IAGI,2BAA+B;ENo5FrC;EMv5FE;IAGI,0BAA+B;ENu5FrC;EM15FE;IAGI,wBAA+B;EN05FrC;EM75FE;IAGI,0BAA+B;EN65FrC;EMh6FE;IAGI,wBAA+B;ENg6FrC;EMn6FE;IAGI,2BAA+B;IAA/B,0BAA+B;ENo6FrC;EMv6FE;IAGI,iCAA+B;IAA/B,gCAA+B;ENw6FrC;EM36FE;IAGI,gCAA+B;IAA/B,+BAA+B;EN46FrC;EM/6FE;IAGI,8BAA+B;IAA/B,6BAA+B;ENg7FrC;EMn7FE;IAGI,gCAA+B;IAA/B,+BAA+B;ENo7FrC;EMv7FE;IAGI,8BAA+B;IAA/B,6BAA+B;ENw7FrC;EM37FE;IAGI,yBAA+B;IAA/B,4BAA+B;EN47FrC;EM/7FE;IAGI,+BAA+B;IAA/B,kCAA+B;ENg8FrC;EMn8FE;IAGI,8BAA+B;IAA/B,iCAA+B;ENo8FrC;EMv8FE;IAGI,4BAA+B;IAA/B,+BAA+B;ENw8FrC;EM38FE;IAGI,8BAA+B;IAA/B,iCAA+B;EN48FrC;EM/8FE;IAGI,4BAA+B;IAA/B,+BAA+B;ENg9FrC;EMn9FE;IAGI,yBAA+B;ENm9FrC;EMt9FE;IAGI,+BAA+B;ENs9FrC;EMz9FE;IAGI,8BAA+B;ENy9FrC;EM59FE;IAGI,4BAA+B;EN49FrC;EM/9FE;IAGI,8BAA+B;EN+9FrC;EMl+FE;IAGI,4BAA+B;ENk+FrC;EMr+FE;IAGI,2BAA+B;ENq+FrC;EMx+FE;IAGI,iCAA+B;ENw+FrC;EM3+FE;IAGI,gCAA+B;EN2+FrC;EM9+FE;IAGI,8BAA+B;EN8+FrC;EMj/FE;IAGI,gCAA+B;ENi/FrC;EMp/FE;IAGI,8BAA+B;ENo/FrC;EMv/FE;IAGI,4BAA+B;ENu/FrC;EM1/FE;IAGI,kCAA+B;EN0/FrC;EM7/FE;IAGI,iCAA+B;EN6/FrC;EMhgGE;IAGI,+BAA+B;ENggGrC;EMngGE;IAGI,iCAA+B;ENmgGrC;EMtgGE;IAGI,+BAA+B;ENsgGrC;EMzgGE;IAGI,0BAA+B;ENygGrC;EM5gGE;IAGI,gCAA+B;EN4gGrC;EM/gGE;IAGI,+BAA+B;EN+gGrC;EMlhGE;IAGI,6BAA+B;ENkhGrC;EMrhGE;IAGI,+BAA+B;ENqhGrC;EMxhGE;IAGI,6BAA+B;ENwhGrC;AACF;;AIx/FI;EEpCA;IAGI,wBAA+B;EN8hGrC;EMjiGE;IAGI,0BAA+B;ENiiGrC;EMpiGE;IAGI,gCAA+B;ENoiGrC;EMviGE;IAGI,yBAA+B;ENuiGrC;EM1iGE;IAGI,yBAA+B;EN0iGrC;EM7iGE;IAGI,6BAA+B;EN6iGrC;EMhjGE;IAGI,8BAA+B;ENgjGrC;EMnjGE;IAGI,wBAA+B;ENmjGrC;EMtjGE;IAGI,+BAA+B;ENsjGrC;EMzjGE;IAGI,yBAA+B;ENyjGrC;EM5jGE;IAGI,8BAA+B;EN4jGrC;EM/jGE;IAGI,iCAA+B;EN+jGrC;EMlkGE;IAGI,sCAA+B;ENkkGrC;EMrkGE;IAGI,yCAA+B;ENqkGrC;EMxkGE;IAGI,uBAA+B;ENwkGrC;EM3kGE;IAGI,uBAA+B;EN2kGrC;EM9kGE;IAGI,sCAA+B;EN8kGrC;EMjlGE;IAGI,oCAA+B;ENilGrC;EMplGE;IAGI,kCAA+B;ENolGrC;EMvlGE;IAGI,yCAA+B;ENulGrC;EM1lGE;IAGI,wCAA+B;EN0lGrC;EM7lGE;IAGI,kCAA+B;EN6lGrC;EMhmGE;IAGI,gCAA+B;ENgmGrC;EMnmGE;IAGI,8BAA+B;ENmmGrC;EMtmGE;IAGI,gCAA+B;ENsmGrC;EMzmGE;IAGI,+BAA+B;ENymGrC;EM5mGE;IAGI,oCAA+B;EN4mGrC;EM/mGE;IAGI,kCAA+B;EN+mGrC;EMlnGE;IAGI,gCAA+B;ENknGrC;EMrnGE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","file":"bootstrap-grid.css","sourcesContent":["/*!\n * Bootstrap Grid v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\nhtml {\n box-sizing: border-box;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@import \"functions\";\n@import \"variables\";\n\n@import \"mixins/breakpoints\";\n@import \"mixins/grid-framework\";\n@import \"mixins/grid\";\n@import \"mixins/utilities\";\n\n@import \"grid\";\n\n@import \"utilities\";\n// Only use the utilities we need\n// stylelint-disable-next-line scss/dollar-variable-default\n$utilities: map-get-multiple(\n $utilities,\n (\n \"display\",\n \"order\",\n \"flex\",\n \"flex-direction\",\n \"flex-grow\",\n \"flex-shrink\"\n \"flex-wrap\",\n \"justify-content\",\n \"align-items\",\n \"align-content\",\n \"align-self\",\n \"margin\",\n \"margin-x\",\n \"margin-y\",\n \"margin-top\",\n \"margin-right\",\n \"margin-bottom\",\n \"margin-left\",\n \"negative-margin\",\n \"negative-margin-x\",\n \"negative-margin-y\",\n \"negative-margin-top\",\n \"negative-margin-right\",\n \"negative-margin-bottom\",\n \"negative-margin-left\",\n \"padding\",\n \"padding-x\",\n \"padding-y\",\n \"padding-top\",\n \"padding-right\",\n \"padding-bottom\",\n \"padding-left\",\n )\n);\n\n@import \"utilities/api\";\n","/*!\n * Bootstrap Grid v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\nhtml {\n box-sizing: border-box;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid, .container-sm, .container-md, .container-lg, .container-xl {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.row-cols-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-md-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mr-3 {\n margin-right: 1rem !important;\n}\n\n.mr-4 {\n margin-right: 1.5rem !important;\n}\n\n.mr-5 {\n margin-right: 3rem !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.ml-3 {\n margin-left: 1rem !important;\n}\n\n.ml-4 {\n margin-left: 1.5rem !important;\n}\n\n.ml-5 {\n margin-left: 3rem !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mx-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n}\n\n.mx-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n}\n\n.mx-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n}\n\n.mx-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n}\n\n.mx-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n}\n\n.my-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n}\n\n.my-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n}\n\n.my-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n}\n\n.my-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n}\n\n.my-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n}\n\n.mt-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mt-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mt-n3 {\n margin-top: -1rem !important;\n}\n\n.mt-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mt-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mr-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mr-n3 {\n margin-right: -1rem !important;\n}\n\n.mr-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mr-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.mb-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.mb-n3 {\n margin-bottom: -1rem !important;\n}\n\n.mb-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.mb-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n1 {\n margin-left: -0.25rem !important;\n}\n\n.ml-n2 {\n margin-left: -0.5rem !important;\n}\n\n.ml-n3 {\n margin-left: -1rem !important;\n}\n\n.ml-n4 {\n margin-left: -1.5rem !important;\n}\n\n.ml-n5 {\n margin-left: -3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pr-3 {\n padding-right: 1rem !important;\n}\n\n.pr-4 {\n padding-right: 1.5rem !important;\n}\n\n.pr-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.pl-3 {\n padding-left: 1rem !important;\n}\n\n.pl-4 {\n padding-left: 1.5rem !important;\n}\n\n.pl-5 {\n padding-left: 3rem !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-0 {\n margin-right: 0 !important;\n }\n .mr-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mr-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mr-sm-3 {\n margin-right: 1rem !important;\n }\n .mr-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mr-sm-5 {\n margin-right: 3rem !important;\n }\n .mr-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-0 {\n margin-left: 0 !important;\n }\n .ml-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ml-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ml-sm-3 {\n margin-left: 1rem !important;\n }\n .ml-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ml-sm-5 {\n margin-left: 3rem !important;\n }\n .ml-sm-auto {\n margin-left: auto !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-sm-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-sm-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-sm-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-sm-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-sm-n3 {\n margin-top: -1rem !important;\n }\n .mt-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-sm-n3 {\n margin-right: -1rem !important;\n }\n .mr-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-sm-n3 {\n margin-left: -1rem !important;\n }\n .ml-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-sm-n5 {\n margin-left: -3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-0 {\n padding-right: 0 !important;\n }\n .pr-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pr-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pr-sm-3 {\n padding-right: 1rem !important;\n }\n .pr-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pr-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-0 {\n padding-left: 0 !important;\n }\n .pl-sm-1 {\n padding-left: 0.25rem !important;\n }\n .pl-sm-2 {\n padding-left: 0.5rem !important;\n }\n .pl-sm-3 {\n padding-left: 1rem !important;\n }\n .pl-sm-4 {\n padding-left: 1.5rem !important;\n }\n .pl-sm-5 {\n padding-left: 3rem !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .mr-md-0 {\n margin-right: 0 !important;\n }\n .mr-md-1 {\n margin-right: 0.25rem !important;\n }\n .mr-md-2 {\n margin-right: 0.5rem !important;\n }\n .mr-md-3 {\n margin-right: 1rem !important;\n }\n .mr-md-4 {\n margin-right: 1.5rem !important;\n }\n .mr-md-5 {\n margin-right: 3rem !important;\n }\n .mr-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-0 {\n margin-left: 0 !important;\n }\n .ml-md-1 {\n margin-left: 0.25rem !important;\n }\n .ml-md-2 {\n margin-left: 0.5rem !important;\n }\n .ml-md-3 {\n margin-left: 1rem !important;\n }\n .ml-md-4 {\n margin-left: 1.5rem !important;\n }\n .ml-md-5 {\n margin-left: 3rem !important;\n }\n .ml-md-auto {\n margin-left: auto !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-md-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-md-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-md-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-md-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-md-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-md-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-md-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-md-n3 {\n margin-top: -1rem !important;\n }\n .mt-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-md-n3 {\n margin-right: -1rem !important;\n }\n .mr-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-md-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-md-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-md-n3 {\n margin-left: -1rem !important;\n }\n .ml-md-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-md-n5 {\n margin-left: -3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-0 {\n padding-right: 0 !important;\n }\n .pr-md-1 {\n padding-right: 0.25rem !important;\n }\n .pr-md-2 {\n padding-right: 0.5rem !important;\n }\n .pr-md-3 {\n padding-right: 1rem !important;\n }\n .pr-md-4 {\n padding-right: 1.5rem !important;\n }\n .pr-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-0 {\n padding-left: 0 !important;\n }\n .pl-md-1 {\n padding-left: 0.25rem !important;\n }\n .pl-md-2 {\n padding-left: 0.5rem !important;\n }\n .pl-md-3 {\n padding-left: 1rem !important;\n }\n .pl-md-4 {\n padding-left: 1.5rem !important;\n }\n .pl-md-5 {\n padding-left: 3rem !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-0 {\n margin-right: 0 !important;\n }\n .mr-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mr-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mr-lg-3 {\n margin-right: 1rem !important;\n }\n .mr-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mr-lg-5 {\n margin-right: 3rem !important;\n }\n .mr-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-0 {\n margin-left: 0 !important;\n }\n .ml-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ml-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ml-lg-3 {\n margin-left: 1rem !important;\n }\n .ml-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ml-lg-5 {\n margin-left: 3rem !important;\n }\n .ml-lg-auto {\n margin-left: auto !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-lg-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-lg-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-lg-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-lg-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-lg-n3 {\n margin-top: -1rem !important;\n }\n .mt-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-lg-n3 {\n margin-right: -1rem !important;\n }\n .mr-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-lg-n3 {\n margin-left: -1rem !important;\n }\n .ml-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-lg-n5 {\n margin-left: -3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-0 {\n padding-right: 0 !important;\n }\n .pr-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pr-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pr-lg-3 {\n padding-right: 1rem !important;\n }\n .pr-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pr-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-0 {\n padding-left: 0 !important;\n }\n .pl-lg-1 {\n padding-left: 0.25rem !important;\n }\n .pl-lg-2 {\n padding-left: 0.5rem !important;\n }\n .pl-lg-3 {\n padding-left: 1rem !important;\n }\n .pl-lg-4 {\n padding-left: 1.5rem !important;\n }\n .pl-lg-5 {\n padding-left: 3rem !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-0 {\n margin-right: 0 !important;\n }\n .mr-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mr-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mr-xl-3 {\n margin-right: 1rem !important;\n }\n .mr-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mr-xl-5 {\n margin-right: 3rem !important;\n }\n .mr-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-0 {\n margin-left: 0 !important;\n }\n .ml-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ml-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ml-xl-3 {\n margin-left: 1rem !important;\n }\n .ml-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ml-xl-5 {\n margin-left: 3rem !important;\n }\n .ml-xl-auto {\n margin-left: auto !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-xl-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-xl-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-xl-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-xl-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-xl-n3 {\n margin-top: -1rem !important;\n }\n .mt-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-xl-n3 {\n margin-right: -1rem !important;\n }\n .mr-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-xl-n3 {\n margin-left: -1rem !important;\n }\n .ml-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-xl-n5 {\n margin-left: -3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-0 {\n padding-right: 0 !important;\n }\n .pr-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pr-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pr-xl-3 {\n padding-right: 1rem !important;\n }\n .pr-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pr-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-0 {\n padding-left: 0 !important;\n }\n .pl-xl-1 {\n padding-left: 0.25rem !important;\n }\n .pl-xl-2 {\n padding-left: 0.5rem !important;\n }\n .pl-xl-3 {\n padding-left: 1rem !important;\n }\n .pl-xl-4 {\n padding-left: 1.5rem !important;\n }\n .pl-xl-5 {\n padding-left: 3rem !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n @each $name, $width in $grid-breakpoints {\n @if ($container-max-width > $width or $breakpoint == $name) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n }\n }\n }\n }\n}\n\n\n// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container($padding-x: $container-padding-x) {\n width: 100%;\n padding-right: $padding-x;\n padding-left: $padding-x;\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter / 2;\n margin-left: -$gutter / 2;\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n & > * {\n flex: 0 0 100% / $count;\n max-width: 100% / $count;\n }\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$grays: map-merge(\n (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n ),\n $grays\n);\n\n$blue: #0d6efd !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #d63384 !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: map-merge(\n (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n ),\n $colors\n);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$theme-colors: map-merge(\n (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n ),\n $theme-colors\n);\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n// fusv-disable\n$blue-100: tint-color($blue, 8) !default;\n$blue-200: tint-color($blue, 6) !default;\n$blue-300: tint-color($blue, 4) !default;\n$blue-400: tint-color($blue, 2) !default;\n$blue-500: $blue !default;\n$blue-600: shade-color($blue, 2) !default;\n$blue-700: shade-color($blue, 4) !default;\n$blue-800: shade-color($blue, 6) !default;\n$blue-900: shade-color($blue, 8) !default;\n\n$indigo-100: tint-color($indigo, 8) !default;\n$indigo-200: tint-color($indigo, 6) !default;\n$indigo-300: tint-color($indigo, 4) !default;\n$indigo-400: tint-color($indigo, 2) !default;\n$indigo-500: $indigo !default;\n$indigo-600: shade-color($indigo, 2) !default;\n$indigo-700: shade-color($indigo, 4) !default;\n$indigo-800: shade-color($indigo, 6) !default;\n$indigo-900: shade-color($indigo, 8) !default;\n\n$purple-100: tint-color($purple, 8) !default;\n$purple-200: tint-color($purple, 6) !default;\n$purple-300: tint-color($purple, 4) !default;\n$purple-400: tint-color($purple, 2) !default;\n$purple-500: $purple !default;\n$purple-600: shade-color($purple, 2) !default;\n$purple-700: shade-color($purple, 4) !default;\n$purple-800: shade-color($purple, 6) !default;\n$purple-900: shade-color($purple, 8) !default;\n\n$pink-100: tint-color($pink, 8) !default;\n$pink-200: tint-color($pink, 6) !default;\n$pink-300: tint-color($pink, 4) !default;\n$pink-400: tint-color($pink, 2) !default;\n$pink-500: $pink !default;\n$pink-600: shade-color($pink, 2) !default;\n$pink-700: shade-color($pink, 4) !default;\n$pink-800: shade-color($pink, 6) !default;\n$pink-900: shade-color($pink, 8) !default;\n\n$red-100: tint-color($red, 8) !default;\n$red-200: tint-color($red, 6) !default;\n$red-300: tint-color($red, 4) !default;\n$red-400: tint-color($red, 2) !default;\n$red-500: $red !default;\n$red-600: shade-color($red, 2) !default;\n$red-700: shade-color($red, 4) !default;\n$red-800: shade-color($red, 6) !default;\n$red-900: shade-color($red, 8) !default;\n\n$orange-100: tint-color($orange, 8) !default;\n$orange-200: tint-color($orange, 6) !default;\n$orange-300: tint-color($orange, 4) !default;\n$orange-400: tint-color($orange, 2) !default;\n$orange-500: $orange !default;\n$orange-600: shade-color($orange, 2) !default;\n$orange-700: shade-color($orange, 4) !default;\n$orange-800: shade-color($orange, 6) !default;\n$orange-900: shade-color($orange, 8) !default;\n\n$yellow-100: tint-color($yellow, 8) !default;\n$yellow-200: tint-color($yellow, 6) !default;\n$yellow-300: tint-color($yellow, 4) !default;\n$yellow-400: tint-color($yellow, 2) !default;\n$yellow-500: $yellow !default;\n$yellow-600: shade-color($yellow, 2) !default;\n$yellow-700: shade-color($yellow, 4) !default;\n$yellow-800: shade-color($yellow, 6) !default;\n$yellow-900: shade-color($yellow, 8) !default;\n\n$green-100: tint-color($green, 8) !default;\n$green-200: tint-color($green, 6) !default;\n$green-300: tint-color($green, 4) !default;\n$green-400: tint-color($green, 2) !default;\n$green-500: $green !default;\n$green-600: shade-color($green, 2) !default;\n$green-700: shade-color($green, 4) !default;\n$green-800: shade-color($green, 6) !default;\n$green-900: shade-color($green, 8) !default;\n\n$teal-100: tint-color($teal, 8) !default;\n$teal-200: tint-color($teal, 6) !default;\n$teal-300: tint-color($teal, 4) !default;\n$teal-400: tint-color($teal, 2) !default;\n$teal-500: $teal !default;\n$teal-600: shade-color($teal, 2) !default;\n$teal-700: shade-color($teal, 4) !default;\n$teal-800: shade-color($teal, 6) !default;\n$teal-900: shade-color($teal, 8) !default;\n\n$cyan-100: tint-color($cyan, 8) !default;\n$cyan-200: tint-color($cyan, 6) !default;\n$cyan-300: tint-color($cyan, 4) !default;\n$cyan-400: tint-color($cyan, 2) !default;\n$cyan-500: $cyan !default;\n$cyan-600: shade-color($cyan, 2) !default;\n$cyan-700: shade-color($cyan, 4) !default;\n$cyan-800: shade-color($cyan, 6) !default;\n$cyan-900: shade-color($cyan, 8) !default;\n// fusv-enable\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\",\"%3c\"),\n (\">\",\"%3e\"),\n (\"#\",\"%23\"),\n) !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-prefers-reduced-motion-media-query: true !default;\n$enable-grid-classes: true !default;\n$enable-pointer-cursor-for-buttons: true !default;\n$enable-responsive-font-sizes: false !default;\n$enable-validation-icons: true !default;\n$enable-deprecation-messages: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$spacers: map-merge(\n (\n 0: 0,\n 1: $spacer * .25,\n 2: $spacer * .5,\n 3: $spacer,\n 4: $spacer * 1.5,\n 5: $spacer * 3,\n ),\n $spacers\n);\n\n$negative-spacers: negativify-map($spacers) !default;\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n$body-text-align: null !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: $primary !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n// Darken percentage for links with `.text-*` class (e.g. `.text-success`)\n$emphasized-link-hover-darken-percentage: 15% !default;\n\n$stretched-link-pseudo-element: after !default;\n$stretched-link-z-index: 1 !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n$grid-row-columns: 6 !default;\n\n\n// Container padding\n\n$container-padding-x: $grid-gutter-width / 2 !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$rounded-pill: 50rem !default;\n\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n$box-shadow-inset: inset 0 1px 2px rgba($black, .075) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: $primary !default;\n\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n$embed-responsive-aspect-ratios: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$embed-responsive-aspect-ratios: map-merge(\n (\n \"21by9\": (\n x: 21,\n y: 9\n ),\n \"16by9\": (\n x: 16,\n y: 9\n ),\n \"4by3\": (\n x: 4,\n y: 3\n ),\n \"1by1\": (\n x: 1,\n y: 1\n )\n ),\n $embed-responsive-aspect-ratios\n);\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n// $font-size-root effects the value of `rem`, which is used for as well font sizes, paddings and margins\n// $font-size-base effects the font size of the body text\n$font-size-root: null !default;\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: $font-size-base * 1.25 !default;\n$font-size-sm: $font-size-base * .875 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n\n$line-height-base: 1.5 !default;\n$line-height-lg: 2 !default;\n$line-height-sm: 1.25 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: $spacer / 2 !default;\n$headings-font-family: null !default;\n$headings-font-style: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: null !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: .875em !default;\n\n$sub-sup-font-size: .75em !default;\n\n$text-muted: $gray-600 !default;\n\n$initialism-font-size: $small-font-size !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-small-font-size: $small-font-size !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n\n$hr-color: inherit !default;\n$hr-height: $border-width !default;\n$hr-opacity: .25 !default;\n\n$legend-margin-bottom: .5rem !default;\n$legend-font-size: 1.5rem !default;\n$legend-font-weight: null !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .5rem !default;\n$table-cell-padding-sm: .25rem !default;\n\n$table-cell-vertical-align: top !default;\n\n$table-color: $body-color !default;\n$table-bg: null !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-color: $table-color !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n$table-head-border-color: $gray-700 !default;\n\n$table-dark-color: $white !default;\n$table-dark-bg: $gray-800 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-color: $table-dark-color !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($table-dark-bg, 7.5%) !default;\n\n$table-striped-order: odd !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-level: -9 !default;\n$table-border-level: -6 !default;\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-color: $link-color !default;\n$btn-link-hover-color: $link-hover-color !default;\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$label-margin-bottom: .5rem !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n$input-disabled-border-color: null !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: $box-shadow-inset !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y / 2) !default;\n\n$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n$input-height-sm: add($input-line-height * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n$input-height-lg: add($input-line-height * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n$form-check-input-width: 1.25em !default;\n$form-check-min-height: $font-size-base * $line-height-base !default;\n$form-check-padding-left: $form-check-input-width + .5em !default;\n$form-check-margin-bottom: .125rem !default;\n$form-check-label-cursor: null !default;\n\n$form-check-input-active-filter: brightness(90%) !default;\n\n$form-check-input-bg: $body-bg !default;\n$form-check-input-border: 1px solid rgba(0, 0, 0, .25) !default;\n$form-check-input-border-radius: .25em !default;\n$form-check-radio-border-radius: 50% !default;\n$form-check-input-focus-border: $input-focus-border-color !default;\n$form-check-input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$form-check-input-checked-color: $component-active-color !default;\n$form-check-input-checked-bg-color: $component-active-bg !default;\n$form-check-input-checked-border-color: $form-check-input-checked-bg-color !default;\n$form-check-input-checked-bg-repeat: no-repeat !default;\n$form-check-input-checked-bg-position: center center !default;\n$form-check-input-checked-bg-size: 1em !default;\n$form-check-input-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-check-input-checked-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M4 8.5L6.5 11l6-6'/></svg>\") !default;\n$form-check-radio-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='2' fill='#{$form-check-input-checked-color}'/></svg>\") !default;\n\n$form-check-input-indeterminate-color: $component-active-color !default;\n$form-check-input-indeterminate-bg-color: $component-active-bg !default;\n$form-check-input-indeterminate-border-color: $form-check-input-indeterminate-bg-color !default;\n$form-check-input-indeterminate-bg-repeat: no-repeat !default;\n$form-check-input-indeterminate-bg-position: center center !default;\n$form-check-input-indeterminate-bg-size: 1em !default;\n$form-check-input-indeterminate-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-check-input-indeterminate-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M5 8h6'/></svg>\") !default;\n\n$form-switch-color: rgba(0, 0, 0, .25) !default;\n$form-switch-width: 2em !default;\n$form-switch-padding-left: $form-switch-width + .5em !default;\n$form-switch-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-color}'/></svg>\") !default;\n$form-switch-bg-size: contain !default;\n$form-switch-border-radius: $form-switch-width !default;\n$form-switch-transition: .2s ease-in-out !default;\n$form-switch-transition-property: background-position, background-color !default;\n\n$form-switch-focus-color: hsla(211, 100%, 75%, 1) !default;\n$form-switch-focus-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-focus-color}'/></svg>\") !default;\n\n$form-switch-checked-color: $component-active-color !default;\n$form-switch-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-checked-color}'/></svg>\") !default;\n$form-switch-checked-bg-position: right center !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-inline-margin-right: 1rem !default;\n\n$form-check-input-margin-x: .25rem !default;\n\n$form-grid-gutter-width: 10px !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n\n$form-select-padding-y: $input-padding-y !default;\n$form-select-padding-x: $input-padding-x !default;\n$form-select-font-family: $input-font-family !default;\n$form-select-font-size: $input-font-size !default;\n$form-select-height: $input-height !default;\n$form-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$form-select-font-weight: $input-font-weight !default;\n$form-select-line-height: $input-line-height !default;\n$form-select-color: $input-color !default;\n$form-select-disabled-color: $gray-600 !default;\n$form-select-bg: $input-bg !default;\n$form-select-disabled-bg: $gray-200 !default;\n$form-select-disabled-border-color: $input-disabled-border-color !default;\n$form-select-bg-size: 16px 12px !default; // In pixels because image dimensions\n$form-select-indicator-color: $gray-800 !default;\n$form-select-indicator: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-select-indicator-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/></svg>\") !default;\n\n$form-select-background: no-repeat right $form-select-padding-x center / $form-select-bg-size !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon)\n\n$form-select-feedback-icon-padding-right: add(1em * .75, (2 * $form-select-padding-y * .75) + $form-select-padding-x + $form-select-indicator-padding) !default;\n$form-select-feedback-icon-position: center right ($form-select-padding-x + $form-select-indicator-padding) !default;\n$form-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$form-select-border-width: $input-border-width !default;\n$form-select-border-color: $input-border-color !default;\n$form-select-border-radius: $border-radius !default;\n$form-select-box-shadow: $box-shadow-inset !default;\n\n$form-select-focus-border-color: $input-focus-border-color !default;\n$form-select-focus-width: $input-focus-width !default;\n$form-select-focus-box-shadow: 0 0 0 $form-select-focus-width $input-btn-focus-color !default;\n\n$form-select-padding-y-sm: $input-padding-y-sm !default;\n$form-select-padding-x-sm: $input-padding-x-sm !default;\n$form-select-font-size-sm: $input-font-size-sm !default;\n$form-select-height-sm: $input-height-sm !default;\n\n$form-select-padding-y-lg: $input-padding-y-lg !default;\n$form-select-padding-x-lg: $input-padding-x-lg !default;\n$form-select-font-size-lg: $input-font-size-lg !default;\n$form-select-height-lg: $input-height-lg !default;\n\n$form-range-track-width: 100% !default;\n$form-range-track-height: .5rem !default;\n$form-range-track-cursor: pointer !default;\n$form-range-track-bg: $gray-300 !default;\n$form-range-track-border-radius: 1rem !default;\n$form-range-track-box-shadow: $box-shadow-inset !default;\n\n$form-range-thumb-width: 1rem !default;\n$form-range-thumb-height: $form-range-thumb-width !default;\n$form-range-thumb-bg: $component-active-bg !default;\n$form-range-thumb-border: 0 !default;\n$form-range-thumb-border-radius: 1rem !default;\n$form-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$form-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$form-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in IE/Edge\n$form-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\n$form-range-thumb-disabled-bg: $gray-500 !default;\n$form-range-thumb-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-file-height: $input-height !default;\n$form-file-focus-border-color: $input-focus-border-color !default;\n$form-file-focus-box-shadow: $input-focus-box-shadow !default;\n$form-file-disabled-bg: $input-disabled-bg !default;\n$form-file-disabled-border-color: $input-disabled-border-color !default;\n\n$form-file-padding-y: $input-padding-y !default;\n$form-file-padding-x: $input-padding-x !default;\n$form-file-line-height: $input-line-height !default;\n$form-file-font-family: $input-font-family !default;\n$form-file-font-weight: $input-font-weight !default;\n$form-file-color: $input-color !default;\n$form-file-bg: $input-bg !default;\n$form-file-border-width: $input-border-width !default;\n$form-file-border-color: $input-border-color !default;\n$form-file-border-radius: $input-border-radius !default;\n$form-file-box-shadow: $input-box-shadow !default;\n$form-file-button-color: $form-file-color !default;\n$form-file-button-bg: $input-group-addon-bg !default;\n\n\n// Form validation\n\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: $success !default;\n$form-feedback-invalid-color: $danger !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/></svg>\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}' viewBox='0 0 12 12'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>\") !default;\n\n$form-validation-states: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-validation-states: map-merge(\n (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n ),\n ),\n $form-validation-states\n);\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n\n// Navbar\n\n$navbar-padding-y: $spacer / 2 !default;\n$navbar-padding-x: null !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-divider-margin-y: $spacer / 2 !default;\n$dropdown-box-shadow: $box-shadow !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n\n\n// Pagination\n\n$pagination-padding-y: .375rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-radius: $border-radius !default;\n$pagination-margin-left: -$pagination-border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: $grid-gutter-width / 2 !default;\n$card-deck-margin: $card-group-margin !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n// Form tooltips must come after regular tooltips\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: null !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default;\n$popover-box-shadow: $box-shadow !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Toasts\n\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .25rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba(0, 0, 0, .1) !default;\n$toast-border-radius: $border-radius !default;\n$toast-box-shadow: $box-shadow !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\n\n\n// Badges\n\n$badge-font-size: .75em !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-color: $white !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .5em !default;\n$badge-border-radius: $border-radius !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs: $box-shadow-sm !default;\n$modal-content-box-shadow-sm-up: $box-shadow !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: 1rem !default;\n$modal-header-padding-x: 1rem !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-xl: 1140px !default;\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n$modal-scale-transform: scale(1.02) !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: $box-shadow-inset !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: $primary !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n\n// List group\n\n$list-group-color: null !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: $box-shadow-sm !default;\n\n\n// Figures\n\n$figure-caption-font-size: $small-font-size !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-font-size: null !default;\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding-x: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n\n$breadcrumb-border-radius: $border-radius !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-opacity: .5 !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-active-opacity: 1 !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n$carousel-caption-padding-y: 1.25rem !default;\n$carousel-caption-spacer: 1.25rem !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'><path d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/></svg>\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'><path d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/></svg>\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n\n// Spinners\n\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-border-width: .25em !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n\n// Code\n\n$code-font-size: $small-font-size !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: null !default;\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (eg. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n // stylelint-disable-next-line declaration-no-important\n #{$property}: $value !important;\n }\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file
+{"version":3,"sources":["../../scss/bootstrap-grid.scss","bootstrap-grid.css","../../scss/_containers.scss","../../scss/mixins/_container.scss","../../scss/_variables.scss","../../scss/mixins/_breakpoints.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"AAAA;;;;;ECKE;ACCA;ECHA,WAAW;EACX,mBCmTwB;EDlTxB,kBCkTwB;EDjTxB,kBAAkB;EAClB,iBAAiB;AFKnB;;AImDI;EHzDF;ICSI,gBCmRK;EHjRT;AACF;;AI6CI;EHzDF;ICSI,gBCoRK;EH5QT;AACF;;AIuCI;EHzDF;ICSI,gBCqRK;EHvQT;AACF;;AIiCI;EHzDF;ICSI,iBCsRM;EHlQV;AACF;;ACxBE;ECTA,WAAW;EACX,mBCmTwB;EDlTxB,kBCkTwB;EDjTxB,kBAAkB;EAClB,iBAAiB;AFqCnB;;AImBI;EHxCE;IACE,gBE0QG;EHjPT;AACF;;AIaI;EHxCE;IACE,gBE2QG;EH5OT;AACF;;AIOI;EHxCE;IACE,gBE4QG;EHvOT;AACF;;AICI;EHxCE;IACE,iBE6QI;EHlOV;AACF;;AK/DE;ECAA,aAAa;EACb,eAAe;EACf,sBAA0B;EAC1B,qBAAyB;ANmE3B;;AKtEE;ECQA,sBAAoG;EAIpG,cAAc;EACd,WAAW;EACX,eAAe;EACf,sBAA0B;EAC1B,qBAAyB;AN+D3B;;AK3DQ;;EAEE,eFyMJ;EExMI,cFwMJ;AH1IN;;AKjEQ;;EAMI,gBFqMN;EEpMM,eFoMN;AHpIN;;AK5DQ;;EAEE,aF8LJ;AH/HN;;AKjEQ;;EAKI,aF2LN;AH1HN;;AKjFQ;;EAEE,uBAAyB;EACzB,sBAAwB;ALoFlC;;AKvFQ;;EAMI,uBAAyB;EACzB,sBAAwB;ALsFpC;;AKlFQ;;EAEE,oBF+LQ;AH1GlB;;AKvFQ;;EAKI,mBF4LM;AHrGlB;;AKvGQ;;EAEE,sBAAyB;EACzB,qBAAwB;AL0GlC;;AK7GQ;;EAMI,sBAAyB;EACzB,qBAAwB;AL4GpC;;AKxGQ;;EAEE,mBFgMO;AHrFjB;;AK7GQ;;EAKI,kBF6LK;AHhFjB;;AK7HQ;;EAEE,qBAAyB;EACzB,oBAAwB;ALgIlC;;AKnIQ;;EAMI,qBAAyB;EACzB,oBAAwB;ALkIpC;;AK9HQ;;EAEE,iBF4LG;AH3Db;;AKnIQ;;EAKI,gBFyLC;AHtDb;;AKnJQ;;EAEE,sBAAyB;EACzB,qBAAwB;ALsJlC;;AKzJQ;;EAMI,sBAAyB;EACzB,qBAAwB;ALwJpC;;AKpJQ;;EAEE,mBFkMQ;AH3ClB;;AKzJQ;;EAKI,kBF+LM;AHtClB;;AKzKQ;;EAEE,qBAAyB;EACzB,oBAAwB;AL4KlC;;AK/KQ;;EAMI,qBAAyB;EACzB,oBAAwB;AL8KpC;;AK1KQ;;EAEE,iBFmMM;AHtBhB;;AK/KQ;;EAKI,gBFgMI;AHjBhB;;AIzJI;ECtCI;;IAEE,eFyMJ;IExMI,cFwMJ;EHLJ;EKtMM;;IAMI,gBFqMN;IEpMM,eFoMN;EHAJ;EKhMM;;IAEE,aF8LJ;EHIJ;EKpMM;;IAKI,aF2LN;EHQJ;EKnNM;;IAEE,uBAAyB;IACzB,sBAAwB;ELqNhC;EKxNM;;IAMI,uBAAyB;IACzB,sBAAwB;ELsNlC;EKlNM;;IAEE,oBF+LQ;EHqBhB;EKtNM;;IAKI,mBF4LM;EHyBhB;EKrOM;;IAEE,sBAAyB;IACzB,qBAAwB;ELuOhC;EK1OM;;IAMI,sBAAyB;IACzB,qBAAwB;ELwOlC;EKpOM;;IAEE,mBFgMO;EHsCf;EKxOM;;IAKI,kBF6LK;EH0Cf;EKvPM;;IAEE,qBAAyB;IACzB,oBAAwB;ELyPhC;EK5PM;;IAMI,qBAAyB;IACzB,oBAAwB;EL0PlC;EKtPM;;IAEE,iBF4LG;EH4DX;EK1PM;;IAKI,gBFyLC;EHgEX;EKzQM;;IAEE,sBAAyB;IACzB,qBAAwB;EL2QhC;EK9QM;;IAMI,sBAAyB;IACzB,qBAAwB;EL4QlC;EKxQM;;IAEE,mBFkMQ;EHwEhB;EK5QM;;IAKI,kBF+LM;EH4EhB;EK3RM;;IAEE,qBAAyB;IACzB,oBAAwB;EL6RhC;EKhSM;;IAMI,qBAAyB;IACzB,oBAAwB;EL8RlC;EK1RM;;IAEE,iBFmMM;EHyFd;EK9RM;;IAKI,gBFgMI;EH6Fd;AACF;;AIxQI;ECtCI;;IAEE,eFyMJ;IExMI,cFwMJ;EH0GJ;EKrTM;;IAMI,gBFqMN;IEpMM,eFoMN;EH+GJ;EK/SM;;IAEE,aF8LJ;EHmHJ;EKnTM;;IAKI,aF2LN;EHuHJ;EKlUM;;IAEE,uBAAyB;IACzB,sBAAwB;ELoUhC;EKvUM;;IAMI,uBAAyB;IACzB,sBAAwB;ELqUlC;EKjUM;;IAEE,oBF+LQ;EHoIhB;EKrUM;;IAKI,mBF4LM;EHwIhB;EKpVM;;IAEE,sBAAyB;IACzB,qBAAwB;ELsVhC;EKzVM;;IAMI,sBAAyB;IACzB,qBAAwB;ELuVlC;EKnVM;;IAEE,mBFgMO;EHqJf;EKvVM;;IAKI,kBF6LK;EHyJf;EKtWM;;IAEE,qBAAyB;IACzB,oBAAwB;ELwWhC;EK3WM;;IAMI,qBAAyB;IACzB,oBAAwB;ELyWlC;EKrWM;;IAEE,iBF4LG;EH2KX;EKzWM;;IAKI,gBFyLC;EH+KX;EKxXM;;IAEE,sBAAyB;IACzB,qBAAwB;EL0XhC;EK7XM;;IAMI,sBAAyB;IACzB,qBAAwB;EL2XlC;EKvXM;;IAEE,mBFkMQ;EHuLhB;EK3XM;;IAKI,kBF+LM;EH2LhB;EK1YM;;IAEE,qBAAyB;IACzB,oBAAwB;EL4YhC;EK/YM;;IAMI,qBAAyB;IACzB,oBAAwB;EL6YlC;EKzYM;;IAEE,iBFmMM;EHwMd;EK7YM;;IAKI,gBFgMI;EH4Md;AACF;;AIvXI;ECtCI;;IAEE,eFyMJ;IExMI,cFwMJ;EHyNJ;EKpaM;;IAMI,gBFqMN;IEpMM,eFoMN;EH8NJ;EK9ZM;;IAEE,aF8LJ;EHkOJ;EKlaM;;IAKI,aF2LN;EHsOJ;EKjbM;;IAEE,uBAAyB;IACzB,sBAAwB;ELmbhC;EKtbM;;IAMI,uBAAyB;IACzB,sBAAwB;ELoblC;EKhbM;;IAEE,oBF+LQ;EHmPhB;EKpbM;;IAKI,mBF4LM;EHuPhB;EKncM;;IAEE,sBAAyB;IACzB,qBAAwB;ELqchC;EKxcM;;IAMI,sBAAyB;IACzB,qBAAwB;ELsclC;EKlcM;;IAEE,mBFgMO;EHoQf;EKtcM;;IAKI,kBF6LK;EHwQf;EKrdM;;IAEE,qBAAyB;IACzB,oBAAwB;ELudhC;EK1dM;;IAMI,qBAAyB;IACzB,oBAAwB;ELwdlC;EKpdM;;IAEE,iBF4LG;EH0RX;EKxdM;;IAKI,gBFyLC;EH8RX;EKveM;;IAEE,sBAAyB;IACzB,qBAAwB;ELyehC;EK5eM;;IAMI,sBAAyB;IACzB,qBAAwB;EL0elC;EKteM;;IAEE,mBFkMQ;EHsShB;EK1eM;;IAKI,kBF+LM;EH0ShB;EKzfM;;IAEE,qBAAyB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DvE;EOv9DI;IAEI,wBAA+D;EPw9DvE;EO19DI;IAEI,+BAA+D;EP29DvE;EO79DI;IAEI,yBAA+D;EP89DvE;EOh+DI;IAEI,8BAA+D;EPi+DvE;EOn+DI;IAEI,iCAA+D;EPo+DvE;EOt+DI;IAEI,sCAA+D;EPu+DvE;EOz+DI;IAEI,yCAA+D;EP0+DvE;EO5+DI;IAEI,uBAA+D;EP6+DvE;EO/+DI;IAEI,uBAA+D;EPg/DvE;EOl/DI;IAEI,sCAA+D;EPm/DvE;EOr/DI;IAEI,oCAA+D;EPs/DvE;EOx/DI;IAEI,kCAA+D;EPy/DvE;EO3/DI;IAEI,yCAA+D;EP4/DvE;EO9/DI;IAEI,wCAA+D;EP+/DvE;EOjgEI;IAEI,kCAA+D;EPkgEvE;EOpgEI;IAEI,gCAA+D;EPqgEvE;EOvgEI;IAEI,8BAA+D;EPwgEvE;EO1gEI;IAEI,gCAA+D;EP2gEvE;EO7gEI;IAEI,+BAA+D;EP8gEvE;EOhhEI;IAEI,oCAA+D;EPihEvE;EOnhEI;IAEI,kCAA+D;EPohEvE;EOthEI;IAEI,gCAA+D;EPuhEvE;EOzhEI;IAEI,uCAA+D;EP0hEvE;EO5hEI;IAEI,sCAA+D;EP6hEvE;EO/hEI;IAEI,iCAA+D;EPgiEvE;EOliEI;IAEI,2BAA+D;EPmiEvE;EOriEI;IAEI,iCAA+D;EPsiEvE;EOxiEI;IAEI,+BAA+D;EPyiEvE;EO3iEI;IAEI,6BAA+D;EP4iEvE;EO9iEI;IAEI,+BAA+D;EP+iEvE;EOjjEI;IAEI,8BAA+D;EPkjEvE;EOpjEI;IAEI,oBAA+D;EPqjEvE;EOvjEI;IAEI,mBAA+D;EPwjEvE;EO1jEI;IAEI,mBAA+D;EP2jEvE;EO7jEI;IAEI,mBAA+D;EP8jEvE;EOhkEI;IAEI,mBAA+D;EPikEvE;EOnkEI;IAEI,mBAA+D;EPokEvE;EOtkEI;IAEI,mBAA+D;EPukEvE;EOzkEI;IAEI,mBAA+D;EP0kEvE;EO5kEI;IAEI,oBAA+D;EP6kEvE;EO/kEI;IAEI,0BAA+D;EPglEvE;EOllEI;IAEI,yBAA+D;EPmlEvE;EOrlEI;IAEI,uBAA+D;EPslEvE;EOxlEI;IAEI,yBAA+D;EPylEvE;EO3lEI;I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AEI,gCAA+D;EP49EvE;EO99EI;IAEI,+BAA+D;EP+9EvE;EOj+EI;IAEI,6BAA+D;EPk+EvE;EOp+EI;IAEI,+BAA+D;EPq+EvE;EOv+EI;IAEI,6BAA+D;EPw+EvE;AACF;;AIr9EI;EGtBE;IAEI,wBAA+D;EP8+EvE;EOh/EI;IAEI,0BAA+D;EPi/EvE;EOn/EI;IAEI,gCAA+D;EPo/EvE;EOt/EI;IAEI,yBAA+D;EPu/EvE;EOz/EI;IAEI,yBAA+D;EP0/EvE;EO5/EI;IAEI,6BAA+D;EP6/EvE;EO//EI;IAEI,8BAA+D;EPggFvE;EOlgFI;IAEI,wBAA+D;EPmgFvE;EOrgFI;IAEI,+BAA+D;EPsgFvE;EOxgFI;IAEI,yBAA+D;EPygFvE;EO3gFI;IAEI,8BAA+D;EP4gFvE;EO9gFI;IAEI,iCAA+D;EP+gFvE;EOjhFI;IAEI,sCAA+D;EPkhFvE;EOphFI;IAEI,yCAA+D;EPqhFvE;EOvhFI;IAEI,uBAA+D;EPwhFvE;EO1hFI;IAEI,uBAA+D;EP2hFvE;EO7hFI;IAEI,sCAA+D;EP8hFvE;EOhiFI;IAEI,oCAA+D;EPiiFvE;EOniFI;IAEI,kCAA+D;EPoiFvE;EOtiFI;IAEI,yCAA+D;EPuiFvE;EOziFI;IAEI,wCAA+D;EP0iFvE;EO5iFI;IAEI,kCAA+D;EP6iFvE;EO/iFI;IAEI,gCAA+D;EPgjFvE;EOljFI;IAEI,8BAA+D;EPmjFvE;EOrjFI;IAEI,gCAA+D;EPsjFvE;EOxjFI;IAEI,+BAA+D;EPyjFvE;EO3jFI;IAEI,oCAA+D;EP4jFvE;EO9jFI;IAEI,kCAA+D;EP+jFvE;EOjkFI;IAEI,gCAA+D;EPkkFvE;EOpkFI;IAEI,uCAA+D;EPqkFvE;EOvkFI;IAEI,sCAA+D;EPwkFvE;EO1kFI;IAEI,iCAA+D;EP2kFvE;EO7kFI;IAEI,2BAA+D;EP8kFvE;EOhlFI;IAEI,iCAA+D;EPilFvE;EOnlFI;IAEI,+BAA+D;EPolFvE;EOtlFI;IAEI,6BAA+D;EPulFvE;EOzlFI;IAEI,+BAA+D;EP0lFvE;EO5lFI;IAEI,8BAA+D;EP6lFvE;EO/lFI;IAEI,oBAA+D;EPgmFvE;EOlmFI;I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AEI,iCAA+D;EPm+FvE;EOr+FI;IAEI,gCAA+D;EPs+FvE;EOx+FI;IAEI,8BAA+D;EPy+FvE;EO3+FI;IAEI,gCAA+D;EP4+FvE;EO9+FI;IAEI,8BAA+D;EP++FvE;EOj/FI;IAEI,4BAA+D;EPk/FvE;EOp/FI;IAEI,kCAA+D;EPq/FvE;EOv/FI;IAEI,iCAA+D;EPw/FvE;EO1/FI;IAEI,+BAA+D;EP2/FvE;EO7/FI;IAEI,iCAA+D;EP8/FvE;EOhgGI;IAEI,+BAA+D;EPigGvE;EOngGI;IAEI,0BAA+D;EPogGvE;EOtgGI;IAEI,gCAA+D;EPugGvE;EOzgGI;IAEI,+BAA+D;EP0gGvE;EO5gGI;IAEI,6BAA+D;EP6gGvE;EO/gGI;IAEI,+BAA+D;EPghGvE;EOlhGI;IAEI,6BAA+D;EPmhGvE;AACF;;AIhgGI;EGtBE;IAEI,wBAA+D;EPyhGvE;EO3hGI;IAEI,0BAA+D;EP4hGvE;EO9hGI;IAEI,gCAA+D;EP+hGvE;EOjiGI;IAEI,yBAA+D;EPkiGvE;EOpiGI;IAEI,yBAA+D;EPqiGvE;EOviGI;IAEI,6BAA+D;EPwiGvE;EO1iGI;IAEI,8BAA+D;EP2iGvE;EO7iGI;IAEI,wBAA+D;EP8iGvE;EOhjGI;IAEI,+BAA+D;EPijGvE;EOnjGI;IAEI,yBAA+D;EPojGvE;EOtjGI;IAEI,8BAA+D;EPujGvE;EOzjGI;IAEI,iCAA+D;EP0jGvE;EO5jGI;IAEI,sCAA+D;EP6jGvE;EO/jGI;IAEI,yCAA+D;EPgkGvE;EOlkGI;IAEI,uBAA+D;EPmkGvE;EOrkGI;IAEI,uBAA+D;EPskGvE;EOxkGI;IAEI,sCAA+D;EPykGvE;EO3kGI;IAEI,oCAA+D;EP4kGvE;EO9kGI;IAEI,kCAA+D;EP+kGvE;EOjlGI;IAEI,yCAA+D;EPklGvE;EOplGI;IAEI,wCAA+D;EPqlGvE;EOvlGI;IAEI,kCAA+D;EPwlGvE;EO1lGI;IAEI,gCAA+D;EP2lGvE;EO7lGI;IAEI,8BAA+D;EP8lGvE;EOhmGI;IAEI,gCAA+D;EPimGvE;EOnmGI;IAEI,+BAA+D;EPomGvE;EOtmGI;IAEI,oCAA+D;EPumGvE;EOzmGI;I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","file":"bootstrap-grid.css","sourcesContent":["/*!\n * Bootstrap Grid v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n$include-column-box-sizing: true !default;\n\n@import \"functions\";\n@import \"variables\";\n\n@import \"mixins/lists\";\n@import \"mixins/breakpoints\";\n@import \"mixins/container\";\n@import \"mixins/grid\";\n@import \"mixins/utilities\";\n\n@import \"vendor/rfs\";\n\n@import \"containers\";\n@import \"grid\";\n\n@import \"utilities\";\n// Only use the utilities we need\n// stylelint-disable-next-line scss/dollar-variable-default\n$utilities: map-get-multiple(\n $utilities,\n (\n \"display\",\n \"order\",\n \"flex\",\n \"flex-direction\",\n \"flex-grow\",\n \"flex-shrink\"\n \"flex-wrap\",\n \"justify-content\",\n \"align-items\",\n \"align-content\",\n \"align-self\",\n \"margin\",\n \"margin-x\",\n \"margin-y\",\n \"margin-top\",\n \"margin-right\",\n \"margin-bottom\",\n \"margin-left\",\n \"negative-margin\",\n \"negative-margin-x\",\n \"negative-margin-y\",\n \"negative-margin-top\",\n \"negative-margin-right\",\n \"negative-margin-bottom\",\n \"negative-margin-left\",\n \"padding\",\n \"padding-x\",\n \"padding-y\",\n \"padding-top\",\n \"padding-right\",\n \"padding-bottom\",\n \"padding-left\",\n )\n);\n\n@import \"utilities/api\";\n","/*!\n * Bootstrap Grid v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n.container {\n width: 100%;\n padding-right: 1rem;\n padding-left: 1rem;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid, .container-sm, .container-md, .container-lg, .container-xl {\n width: 100%;\n padding-right: 1rem;\n padding-left: 1rem;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -0.75rem;\n margin-left: -0.75rem;\n}\n\n.row > * {\n box-sizing: border-box;\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.g-0,\n.gx-0 {\n margin-right: 0;\n margin-left: 0;\n}\n\n.g-0 > *,\n.gx-0 > * {\n padding-right: 0;\n padding-left: 0;\n}\n\n.g-0,\n.gy-0 {\n margin-top: 0;\n}\n\n.g-0 > *,\n.gy-0 > * {\n margin-top: 0;\n}\n\n.g-1,\n.gx-1 {\n margin-right: -0.125rem;\n margin-left: -0.125rem;\n}\n\n.g-1 > *,\n.gx-1 > * {\n padding-right: 0.125rem;\n padding-left: 0.125rem;\n}\n\n.g-1,\n.gy-1 {\n margin-top: -0.25rem;\n}\n\n.g-1 > *,\n.gy-1 > * {\n margin-top: 0.25rem;\n}\n\n.g-2,\n.gx-2 {\n margin-right: -0.25rem;\n margin-left: -0.25rem;\n}\n\n.g-2 > *,\n.gx-2 > * {\n padding-right: 0.25rem;\n padding-left: 0.25rem;\n}\n\n.g-2,\n.gy-2 {\n margin-top: -0.5rem;\n}\n\n.g-2 > *,\n.gy-2 > * {\n margin-top: 0.5rem;\n}\n\n.g-3,\n.gx-3 {\n margin-right: -0.5rem;\n margin-left: -0.5rem;\n}\n\n.g-3 > *,\n.gx-3 > * {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.g-3,\n.gy-3 {\n margin-top: -1rem;\n}\n\n.g-3 > *,\n.gy-3 > * {\n margin-top: 1rem;\n}\n\n.g-4,\n.gx-4 {\n margin-right: -0.75rem;\n margin-left: -0.75rem;\n}\n\n.g-4 > *,\n.gx-4 > * {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.g-4,\n.gy-4 {\n margin-top: -1.5rem;\n}\n\n.g-4 > *,\n.gy-4 > * {\n margin-top: 1.5rem;\n}\n\n.g-5,\n.gx-5 {\n margin-right: -1.5rem;\n margin-left: -1.5rem;\n}\n\n.g-5 > *,\n.gx-5 > * {\n padding-right: 1.5rem;\n padding-left: 1.5rem;\n}\n\n.g-5,\n.gy-5 {\n margin-top: -3rem;\n}\n\n.g-5 > *,\n.gy-5 > * {\n margin-top: 3rem;\n}\n\n@media (min-width: 576px) {\n .g-sm-0,\n .gx-sm-0 {\n margin-right: 0;\n margin-left: 0;\n }\n .g-sm-0 > *,\n .gx-sm-0 > * {\n padding-right: 0;\n padding-left: 0;\n }\n .g-sm-0,\n .gy-sm-0 {\n margin-top: 0;\n }\n .g-sm-0 > *,\n .gy-sm-0 > * {\n margin-top: 0;\n }\n .g-sm-1,\n .gx-sm-1 {\n margin-right: -0.125rem;\n margin-left: -0.125rem;\n }\n .g-sm-1 > *,\n .gx-sm-1 > * {\n padding-right: 0.125rem;\n padding-left: 0.125rem;\n }\n .g-sm-1,\n .gy-sm-1 {\n margin-top: -0.25rem;\n }\n .g-sm-1 > *,\n .gy-sm-1 > * {\n margin-top: 0.25rem;\n }\n .g-sm-2,\n .gx-sm-2 {\n margin-right: -0.25rem;\n margin-left: -0.25rem;\n }\n .g-sm-2 > *,\n .gx-sm-2 > * {\n padding-right: 0.25rem;\n padding-left: 0.25rem;\n }\n .g-sm-2,\n .gy-sm-2 {\n margin-top: -0.5rem;\n }\n .g-sm-2 > *,\n .gy-sm-2 > * {\n margin-top: 0.5rem;\n }\n .g-sm-3,\n .gx-sm-3 {\n margin-right: -0.5rem;\n margin-left: -0.5rem;\n }\n .g-sm-3 > *,\n .gx-sm-3 > * {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .g-sm-3,\n .gy-sm-3 {\n margin-top: -1rem;\n }\n .g-sm-3 > *,\n .gy-sm-3 > * {\n margin-top: 1rem;\n }\n .g-sm-4,\n .gx-sm-4 {\n margin-right: -0.75rem;\n margin-left: -0.75rem;\n }\n .g-sm-4 > *,\n .gx-sm-4 > * {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n }\n .g-sm-4,\n .gy-sm-4 {\n margin-top: -1.5rem;\n }\n .g-sm-4 > *,\n .gy-sm-4 > * {\n margin-top: 1.5rem;\n }\n .g-sm-5,\n .gx-sm-5 {\n margin-right: -1.5rem;\n margin-left: -1.5rem;\n }\n .g-sm-5 > *,\n .gx-sm-5 > * {\n padding-right: 1.5rem;\n padding-left: 1.5rem;\n }\n .g-sm-5,\n .gy-sm-5 {\n margin-top: -3rem;\n }\n .g-sm-5 > *,\n .gy-sm-5 > * {\n margin-top: 3rem;\n }\n}\n\n@media (min-width: 768px) {\n .g-md-0,\n .gx-md-0 {\n margin-right: 0;\n margin-left: 0;\n }\n .g-md-0 > *,\n .gx-md-0 > * {\n padding-right: 0;\n padding-left: 0;\n }\n .g-md-0,\n .gy-md-0 {\n margin-top: 0;\n }\n .g-md-0 > *,\n .gy-md-0 > * {\n margin-top: 0;\n }\n .g-md-1,\n .gx-md-1 {\n margin-right: -0.125rem;\n margin-left: -0.125rem;\n }\n .g-md-1 > *,\n .gx-md-1 > * {\n padding-right: 0.125rem;\n padding-left: 0.125rem;\n }\n .g-md-1,\n .gy-md-1 {\n margin-top: -0.25rem;\n }\n .g-md-1 > *,\n .gy-md-1 > * {\n margin-top: 0.25rem;\n }\n .g-md-2,\n .gx-md-2 {\n margin-right: -0.25rem;\n margin-left: -0.25rem;\n }\n .g-md-2 > *,\n .gx-md-2 > * {\n padding-right: 0.25rem;\n padding-left: 0.25rem;\n }\n .g-md-2,\n .gy-md-2 {\n margin-top: -0.5rem;\n }\n .g-md-2 > *,\n .gy-md-2 > * {\n margin-top: 0.5rem;\n }\n .g-md-3,\n .gx-md-3 {\n margin-right: -0.5rem;\n margin-left: -0.5rem;\n }\n .g-md-3 > *,\n .gx-md-3 > * {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .g-md-3,\n .gy-md-3 {\n margin-top: -1rem;\n }\n .g-md-3 > *,\n .gy-md-3 > * {\n margin-top: 1rem;\n }\n .g-md-4,\n .gx-md-4 {\n margin-right: -0.75rem;\n margin-left: -0.75rem;\n }\n .g-md-4 > *,\n .gx-md-4 > * {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n }\n .g-md-4,\n .gy-md-4 {\n margin-top: -1.5rem;\n }\n .g-md-4 > *,\n .gy-md-4 > * {\n margin-top: 1.5rem;\n }\n .g-md-5,\n .gx-md-5 {\n margin-right: -1.5rem;\n margin-left: -1.5rem;\n }\n .g-md-5 > *,\n .gx-md-5 > * {\n padding-right: 1.5rem;\n padding-left: 1.5rem;\n }\n .g-md-5,\n .gy-md-5 {\n margin-top: -3rem;\n }\n .g-md-5 > *,\n .gy-md-5 > * {\n margin-top: 3rem;\n }\n}\n\n@media (min-width: 992px) {\n .g-lg-0,\n .gx-lg-0 {\n margin-right: 0;\n margin-left: 0;\n }\n .g-lg-0 > *,\n .gx-lg-0 > * {\n padding-right: 0;\n padding-left: 0;\n }\n .g-lg-0,\n .gy-lg-0 {\n margin-top: 0;\n }\n .g-lg-0 > *,\n .gy-lg-0 > * {\n margin-top: 0;\n }\n .g-lg-1,\n .gx-lg-1 {\n margin-right: -0.125rem;\n margin-left: -0.125rem;\n }\n .g-lg-1 > *,\n .gx-lg-1 > * {\n padding-right: 0.125rem;\n padding-left: 0.125rem;\n }\n .g-lg-1,\n .gy-lg-1 {\n margin-top: -0.25rem;\n }\n .g-lg-1 > *,\n .gy-lg-1 > * {\n margin-top: 0.25rem;\n }\n .g-lg-2,\n .gx-lg-2 {\n margin-right: -0.25rem;\n margin-left: -0.25rem;\n }\n .g-lg-2 > *,\n .gx-lg-2 > * {\n padding-right: 0.25rem;\n padding-left: 0.25rem;\n }\n .g-lg-2,\n .gy-lg-2 {\n margin-top: -0.5rem;\n }\n .g-lg-2 > *,\n .gy-lg-2 > * {\n margin-top: 0.5rem;\n }\n .g-lg-3,\n .gx-lg-3 {\n margin-right: -0.5rem;\n margin-left: -0.5rem;\n }\n .g-lg-3 > *,\n .gx-lg-3 > * {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .g-lg-3,\n .gy-lg-3 {\n margin-top: -1rem;\n }\n .g-lg-3 > *,\n .gy-lg-3 > * {\n margin-top: 1rem;\n }\n .g-lg-4,\n .gx-lg-4 {\n margin-right: -0.75rem;\n margin-left: -0.75rem;\n }\n .g-lg-4 > *,\n .gx-lg-4 > * {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n }\n .g-lg-4,\n .gy-lg-4 {\n margin-top: -1.5rem;\n }\n .g-lg-4 > *,\n .gy-lg-4 > * {\n margin-top: 1.5rem;\n }\n .g-lg-5,\n .gx-lg-5 {\n margin-right: -1.5rem;\n margin-left: -1.5rem;\n }\n .g-lg-5 > *,\n .gx-lg-5 > * {\n padding-right: 1.5rem;\n padding-left: 1.5rem;\n }\n .g-lg-5,\n .gy-lg-5 {\n margin-top: -3rem;\n }\n .g-lg-5 > *,\n .gy-lg-5 > * {\n margin-top: 3rem;\n }\n}\n\n@media (min-width: 1200px) {\n .g-xl-0,\n .gx-xl-0 {\n margin-right: 0;\n margin-left: 0;\n }\n .g-xl-0 > *,\n .gx-xl-0 > * {\n padding-right: 0;\n padding-left: 0;\n }\n .g-xl-0,\n .gy-xl-0 {\n margin-top: 0;\n }\n .g-xl-0 > *,\n .gy-xl-0 > * {\n margin-top: 0;\n }\n .g-xl-1,\n .gx-xl-1 {\n margin-right: -0.125rem;\n margin-left: -0.125rem;\n }\n .g-xl-1 > *,\n .gx-xl-1 > * {\n padding-right: 0.125rem;\n padding-left: 0.125rem;\n }\n .g-xl-1,\n .gy-xl-1 {\n margin-top: -0.25rem;\n }\n .g-xl-1 > *,\n .gy-xl-1 > * {\n margin-top: 0.25rem;\n }\n .g-xl-2,\n .gx-xl-2 {\n margin-right: -0.25rem;\n margin-left: -0.25rem;\n }\n .g-xl-2 > *,\n .gx-xl-2 > * {\n padding-right: 0.25rem;\n padding-left: 0.25rem;\n }\n .g-xl-2,\n .gy-xl-2 {\n margin-top: -0.5rem;\n }\n .g-xl-2 > *,\n .gy-xl-2 > * {\n margin-top: 0.5rem;\n }\n .g-xl-3,\n .gx-xl-3 {\n margin-right: -0.5rem;\n margin-left: -0.5rem;\n }\n .g-xl-3 > *,\n .gx-xl-3 > * {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .g-xl-3,\n .gy-xl-3 {\n margin-top: -1rem;\n }\n .g-xl-3 > *,\n .gy-xl-3 > * {\n margin-top: 1rem;\n }\n .g-xl-4,\n .gx-xl-4 {\n margin-right: -0.75rem;\n margin-left: -0.75rem;\n }\n .g-xl-4 > *,\n .gx-xl-4 > * {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n }\n .g-xl-4,\n .gy-xl-4 {\n margin-top: -1.5rem;\n }\n .g-xl-4 > *,\n .gy-xl-4 > * {\n margin-top: 1.5rem;\n }\n .g-xl-5,\n .gx-xl-5 {\n margin-right: -1.5rem;\n margin-left: -1.5rem;\n }\n .g-xl-5 > *,\n .gx-xl-5 > * {\n padding-right: 1.5rem;\n padding-left: 1.5rem;\n }\n .g-xl-5,\n .gy-xl-5 {\n margin-top: -3rem;\n }\n .g-xl-5 > *,\n .gy-xl-5 > * {\n margin-top: 3rem;\n }\n}\n\n.col {\n flex: 1 0 0%;\n min-width: 0;\n}\n\n.row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n}\n\n.row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.col-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.col-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 auto;\n width: 75%;\n}\n\n.col-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex: 1 0 0%;\n min-width: 0;\n }\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex: 1 0 0%;\n min-width: 0;\n }\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex: 1 0 0%;\n min-width: 0;\n }\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex: 1 0 0%;\n min-width: 0;\n }\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mr-3 {\n margin-right: 1rem !important;\n}\n\n.mr-4 {\n margin-right: 1.5rem !important;\n}\n\n.mr-5 {\n margin-right: 3rem !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.ml-3 {\n margin-left: 1rem !important;\n}\n\n.ml-4 {\n margin-left: 1.5rem !important;\n}\n\n.ml-5 {\n margin-left: 3rem !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mx-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n}\n\n.mx-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n}\n\n.mx-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n}\n\n.mx-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n}\n\n.mx-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n}\n\n.my-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n}\n\n.my-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n}\n\n.my-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n}\n\n.my-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n}\n\n.my-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n}\n\n.mt-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mt-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mt-n3 {\n margin-top: -1rem !important;\n}\n\n.mt-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mt-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mr-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mr-n3 {\n margin-right: -1rem !important;\n}\n\n.mr-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mr-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.mb-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.mb-n3 {\n margin-bottom: -1rem !important;\n}\n\n.mb-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.mb-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n1 {\n margin-left: -0.25rem !important;\n}\n\n.ml-n2 {\n margin-left: -0.5rem !important;\n}\n\n.ml-n3 {\n margin-left: -1rem !important;\n}\n\n.ml-n4 {\n margin-left: -1.5rem !important;\n}\n\n.ml-n5 {\n margin-left: -3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pr-3 {\n padding-right: 1rem !important;\n}\n\n.pr-4 {\n padding-right: 1.5rem !important;\n}\n\n.pr-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.pl-3 {\n padding-left: 1rem !important;\n}\n\n.pl-4 {\n padding-left: 1.5rem !important;\n}\n\n.pl-5 {\n padding-left: 3rem !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-0 {\n margin-right: 0 !important;\n }\n .mr-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mr-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mr-sm-3 {\n margin-right: 1rem !important;\n }\n .mr-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mr-sm-5 {\n margin-right: 3rem !important;\n }\n .mr-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-0 {\n margin-left: 0 !important;\n }\n .ml-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ml-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ml-sm-3 {\n margin-left: 1rem !important;\n }\n .ml-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ml-sm-5 {\n margin-left: 3rem !important;\n }\n .ml-sm-auto {\n margin-left: auto !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-sm-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-sm-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-sm-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-sm-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-sm-n3 {\n margin-top: -1rem !important;\n }\n .mt-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-sm-n3 {\n margin-right: -1rem !important;\n }\n .mr-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-sm-n3 {\n margin-left: -1rem !important;\n }\n .ml-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-sm-n5 {\n margin-left: -3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-0 {\n padding-right: 0 !important;\n }\n .pr-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pr-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pr-sm-3 {\n padding-right: 1rem !important;\n }\n .pr-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pr-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-0 {\n padding-left: 0 !important;\n }\n .pl-sm-1 {\n padding-left: 0.25rem !important;\n }\n .pl-sm-2 {\n padding-left: 0.5rem !important;\n }\n .pl-sm-3 {\n padding-left: 1rem !important;\n }\n .pl-sm-4 {\n padding-left: 1.5rem !important;\n }\n .pl-sm-5 {\n padding-left: 3rem !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .mr-md-0 {\n margin-right: 0 !important;\n }\n .mr-md-1 {\n margin-right: 0.25rem !important;\n }\n .mr-md-2 {\n margin-right: 0.5rem !important;\n }\n .mr-md-3 {\n margin-right: 1rem !important;\n }\n .mr-md-4 {\n margin-right: 1.5rem !important;\n }\n .mr-md-5 {\n margin-right: 3rem !important;\n }\n .mr-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-0 {\n margin-left: 0 !important;\n }\n .ml-md-1 {\n margin-left: 0.25rem !important;\n }\n .ml-md-2 {\n margin-left: 0.5rem !important;\n }\n .ml-md-3 {\n margin-left: 1rem !important;\n }\n .ml-md-4 {\n margin-left: 1.5rem !important;\n }\n .ml-md-5 {\n margin-left: 3rem !important;\n }\n .ml-md-auto {\n margin-left: auto !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-md-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-md-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-md-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-md-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-md-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-md-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-md-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-md-n3 {\n margin-top: -1rem !important;\n }\n .mt-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-md-n3 {\n margin-right: -1rem !important;\n }\n .mr-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-md-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-md-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-md-n3 {\n margin-left: -1rem !important;\n }\n .ml-md-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-md-n5 {\n margin-left: -3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-0 {\n padding-right: 0 !important;\n }\n .pr-md-1 {\n padding-right: 0.25rem !important;\n }\n .pr-md-2 {\n padding-right: 0.5rem !important;\n }\n .pr-md-3 {\n padding-right: 1rem !important;\n }\n .pr-md-4 {\n padding-right: 1.5rem !important;\n }\n .pr-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-0 {\n padding-left: 0 !important;\n }\n .pl-md-1 {\n padding-left: 0.25rem !important;\n }\n .pl-md-2 {\n padding-left: 0.5rem !important;\n }\n .pl-md-3 {\n padding-left: 1rem !important;\n }\n .pl-md-4 {\n padding-left: 1.5rem !important;\n }\n .pl-md-5 {\n padding-left: 3rem !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-0 {\n margin-right: 0 !important;\n }\n .mr-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mr-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mr-lg-3 {\n margin-right: 1rem !important;\n }\n .mr-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mr-lg-5 {\n margin-right: 3rem !important;\n }\n .mr-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-0 {\n margin-left: 0 !important;\n }\n .ml-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ml-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ml-lg-3 {\n margin-left: 1rem !important;\n }\n .ml-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ml-lg-5 {\n margin-left: 3rem !important;\n }\n .ml-lg-auto {\n margin-left: auto !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-lg-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-lg-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-lg-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-lg-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-lg-n3 {\n margin-top: -1rem !important;\n }\n .mt-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-lg-n3 {\n margin-right: -1rem !important;\n }\n .mr-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-lg-n3 {\n margin-left: -1rem !important;\n }\n .ml-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-lg-n5 {\n margin-left: -3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-0 {\n padding-right: 0 !important;\n }\n .pr-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pr-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pr-lg-3 {\n padding-right: 1rem !important;\n }\n .pr-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pr-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-0 {\n padding-left: 0 !important;\n }\n .pl-lg-1 {\n padding-left: 0.25rem !important;\n }\n .pl-lg-2 {\n padding-left: 0.5rem !important;\n }\n .pl-lg-3 {\n padding-left: 1rem !important;\n }\n .pl-lg-4 {\n padding-left: 1.5rem !important;\n }\n .pl-lg-5 {\n padding-left: 3rem !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-0 {\n margin-right: 0 !important;\n }\n .mr-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mr-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mr-xl-3 {\n margin-right: 1rem !important;\n }\n .mr-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mr-xl-5 {\n margin-right: 3rem !important;\n }\n .mr-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-0 {\n margin-left: 0 !important;\n }\n .ml-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ml-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ml-xl-3 {\n margin-left: 1rem !important;\n }\n .ml-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ml-xl-5 {\n margin-left: 3rem !important;\n }\n .ml-xl-auto {\n margin-left: auto !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-xl-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-xl-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-xl-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-xl-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-xl-n3 {\n margin-top: -1rem !important;\n }\n .mt-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-xl-n3 {\n margin-right: -1rem !important;\n }\n .mr-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-xl-n3 {\n margin-left: -1rem !important;\n }\n .ml-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-xl-n5 {\n margin-left: -3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-0 {\n padding-right: 0 !important;\n }\n .pr-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pr-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pr-xl-3 {\n padding-right: 1rem !important;\n }\n .pr-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pr-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-0 {\n padding-left: 0 !important;\n }\n .pl-xl-1 {\n padding-left: 0.25rem !important;\n }\n .pl-xl-2 {\n padding-left: 0.5rem !important;\n }\n .pl-xl-3 {\n padding-left: 1rem !important;\n }\n .pl-xl-4 {\n padding-left: 1.5rem !important;\n }\n .pl-xl-5 {\n padding-left: 3rem !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n","// Container mixins\n\n@mixin make-container($padding-x: $container-padding-x) {\n width: 100%;\n padding-right: $padding-x;\n padding-left: $padding-x;\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n// fusv-disable\n$grays: (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n) !default;\n// fusv-enable\n\n$blue: #0d6efd !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #d63384 !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n) !default;\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n) !default;\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The contrast ratio to reach against white, to determine if color changes from \"light\" to \"dark\". Acceptable values for WCAG 2.0 are 3, 4.5 and 7.\n// See https://www.w3.org/TR/WCAG20/#visual-audio-contrast-contrast\n$min-contrast-ratio: 3 !default;\n\n// Customize the light and dark text colors for use in our color contrast function.\n$color-contrast-dark: $gray-900 !default;\n$color-contrast-light: $white !default;\n\n// fusv-disable\n$blue-100: tint-color($blue, 8) !default;\n$blue-200: tint-color($blue, 6) !default;\n$blue-300: tint-color($blue, 4) !default;\n$blue-400: tint-color($blue, 2) !default;\n$blue-500: $blue !default;\n$blue-600: shade-color($blue, 2) !default;\n$blue-700: shade-color($blue, 4) !default;\n$blue-800: shade-color($blue, 6) !default;\n$blue-900: shade-color($blue, 8) !default;\n\n$indigo-100: tint-color($indigo, 8) !default;\n$indigo-200: tint-color($indigo, 6) !default;\n$indigo-300: tint-color($indigo, 4) !default;\n$indigo-400: tint-color($indigo, 2) !default;\n$indigo-500: $indigo !default;\n$indigo-600: shade-color($indigo, 2) !default;\n$indigo-700: shade-color($indigo, 4) !default;\n$indigo-800: shade-color($indigo, 6) !default;\n$indigo-900: shade-color($indigo, 8) !default;\n\n$purple-100: tint-color($purple, 8) !default;\n$purple-200: tint-color($purple, 6) !default;\n$purple-300: tint-color($purple, 4) !default;\n$purple-400: tint-color($purple, 2) !default;\n$purple-500: $purple !default;\n$purple-600: shade-color($purple, 2) !default;\n$purple-700: shade-color($purple, 4) !default;\n$purple-800: shade-color($purple, 6) !default;\n$purple-900: shade-color($purple, 8) !default;\n\n$pink-100: tint-color($pink, 8) !default;\n$pink-200: tint-color($pink, 6) !default;\n$pink-300: tint-color($pink, 4) !default;\n$pink-400: tint-color($pink, 2) !default;\n$pink-500: $pink !default;\n$pink-600: shade-color($pink, 2) !default;\n$pink-700: shade-color($pink, 4) !default;\n$pink-800: shade-color($pink, 6) !default;\n$pink-900: shade-color($pink, 8) !default;\n\n$red-100: tint-color($red, 8) !default;\n$red-200: tint-color($red, 6) !default;\n$red-300: tint-color($red, 4) !default;\n$red-400: tint-color($red, 2) !default;\n$red-500: $red !default;\n$red-600: shade-color($red, 2) !default;\n$red-700: shade-color($red, 4) !default;\n$red-800: shade-color($red, 6) !default;\n$red-900: shade-color($red, 8) !default;\n\n$orange-100: tint-color($orange, 8) !default;\n$orange-200: tint-color($orange, 6) !default;\n$orange-300: tint-color($orange, 4) !default;\n$orange-400: tint-color($orange, 2) !default;\n$orange-500: $orange !default;\n$orange-600: shade-color($orange, 2) !default;\n$orange-700: shade-color($orange, 4) !default;\n$orange-800: shade-color($orange, 6) !default;\n$orange-900: shade-color($orange, 8) !default;\n\n$yellow-100: tint-color($yellow, 8) !default;\n$yellow-200: tint-color($yellow, 6) !default;\n$yellow-300: tint-color($yellow, 4) !default;\n$yellow-400: tint-color($yellow, 2) !default;\n$yellow-500: $yellow !default;\n$yellow-600: shade-color($yellow, 2) !default;\n$yellow-700: shade-color($yellow, 4) !default;\n$yellow-800: shade-color($yellow, 6) !default;\n$yellow-900: shade-color($yellow, 8) !default;\n\n$green-100: tint-color($green, 8) !default;\n$green-200: tint-color($green, 6) !default;\n$green-300: tint-color($green, 4) !default;\n$green-400: tint-color($green, 2) !default;\n$green-500: $green !default;\n$green-600: shade-color($green, 2) !default;\n$green-700: shade-color($green, 4) !default;\n$green-800: shade-color($green, 6) !default;\n$green-900: shade-color($green, 8) !default;\n\n$teal-100: tint-color($teal, 8) !default;\n$teal-200: tint-color($teal, 6) !default;\n$teal-300: tint-color($teal, 4) !default;\n$teal-400: tint-color($teal, 2) !default;\n$teal-500: $teal !default;\n$teal-600: shade-color($teal, 2) !default;\n$teal-700: shade-color($teal, 4) !default;\n$teal-800: shade-color($teal, 6) !default;\n$teal-900: shade-color($teal, 8) !default;\n\n$cyan-100: tint-color($cyan, 8) !default;\n$cyan-200: tint-color($cyan, 6) !default;\n$cyan-300: tint-color($cyan, 4) !default;\n$cyan-400: tint-color($cyan, 2) !default;\n$cyan-500: $cyan !default;\n$cyan-600: shade-color($cyan, 2) !default;\n$cyan-700: shade-color($cyan, 4) !default;\n$cyan-800: shade-color($cyan, 6) !default;\n$cyan-900: shade-color($cyan, 8) !default;\n// fusv-enable\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\",\"%3c\"),\n (\">\",\"%3e\"),\n (\"#\",\"%23\"),\n (\"(\",\"%28\"),\n (\")\",\"%29\"),\n) !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-prefers-reduced-motion-media-query: true !default;\n$enable-grid-classes: true !default;\n$enable-pointer-cursor-for-buttons: true !default;\n$enable-rfs: true !default;\n$enable-validation-icons: true !default;\n$enable-deprecation-messages: true !default;\n$enable-important-utilities: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: (\n 0: 0,\n 1: $spacer * .25,\n 2: $spacer * .5,\n 3: $spacer,\n 4: $spacer * 1.5,\n 5: $spacer * 3,\n) !default;\n\n$negative-spacers: negativify-map($spacers) !default;\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n$body-text-align: null !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: $primary !default;\n$link-decoration: underline !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: null !default;\n// Darken percentage for links with `.text-*` class (e.g. `.text-success`)\n$emphasized-link-hover-darken-percentage: 15% !default;\n\n$stretched-link-pseudo-element: after !default;\n$stretched-link-z-index: 1 !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 1.5rem !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Container padding\n\n$container-padding-x: 1rem !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$rounded-pill: 50rem !default;\n\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n$box-shadow-inset: inset 0 1px 2px rgba($black, .075) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: $primary !default;\n\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n$embed-responsive-aspect-ratios: (\n \"21by9\": (\n x: 21,\n y: 9\n ),\n \"16by9\": (\n x: 16,\n y: 9\n ),\n \"4by3\": (\n x: 4,\n y: 3\n ),\n \"1by1\": (\n x: 1,\n y: 1\n )\n) !default;\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n// $font-size-root effects the value of `rem`, which is used for as well font sizes, paddings and margins\n// $font-size-base effects the font size of the body text\n$font-size-root: null !default;\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: $font-size-base * 1.25 !default;\n$font-size-sm: $font-size-base * .875 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n\n$line-height-base: 1.5 !default;\n$line-height-lg: 2 !default;\n$line-height-sm: 1.25 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: $spacer / 2 !default;\n$headings-font-family: null !default;\n$headings-font-style: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: null !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: .875em !default;\n\n$sub-sup-font-size: .75em !default;\n\n$text-muted: $gray-600 !default;\n\n$initialism-font-size: $small-font-size !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-small-font-size: $small-font-size !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n\n$hr-margin-y: $spacer !default;\n$hr-color: inherit !default;\n$hr-height: $border-width !default;\n$hr-opacity: .25 !default;\n\n$legend-margin-bottom: .5rem !default;\n$legend-font-size: 1.5rem !default;\n$legend-font-weight: null !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .5rem !default;\n$table-cell-padding-sm: .25rem !default;\n\n$table-cell-vertical-align: top !default;\n\n$table-color: $body-color !default;\n$table-bg: null !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-color: $table-color !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n$table-head-border-color: $gray-700 !default;\n\n$table-dark-color: $white !default;\n$table-dark-bg: $gray-800 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-color: $table-dark-color !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($table-dark-bg, 7.5%) !default;\n\n$table-striped-order: odd !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-level: -9 !default;\n$table-border-level: -6 !default;\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color-opacity: .25 !default;\n$input-btn-focus-color: rgba($component-active-bg, $input-btn-focus-color-opacity) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-color: $link-color !default;\n$btn-link-hover-color: $link-hover-color !default;\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$label-margin-bottom: .5rem !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n$input-disabled-border-color: null !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: $box-shadow-inset !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y / 2) !default;\n\n$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n$input-height-sm: add($input-line-height * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n$input-height-lg: add($input-line-height * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n$form-check-input-width: 1.25em !default;\n$form-check-min-height: $font-size-base * $line-height-base !default;\n$form-check-padding-left: $form-check-input-width + .5em !default;\n$form-check-margin-bottom: .125rem !default;\n$form-check-label-color: null !default;\n$form-check-label-cursor: null !default;\n\n$form-check-input-active-filter: brightness(90%) !default;\n\n$form-check-input-bg: $body-bg !default;\n$form-check-input-border: 1px solid rgba(0, 0, 0, .25) !default;\n$form-check-input-border-radius: .25em !default;\n$form-check-radio-border-radius: 50% !default;\n$form-check-input-focus-border: $input-focus-border-color !default;\n$form-check-input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$form-check-input-checked-color: $component-active-color !default;\n$form-check-input-checked-bg-color: $component-active-bg !default;\n$form-check-input-checked-border-color: $form-check-input-checked-bg-color !default;\n$form-check-input-checked-bg-repeat: no-repeat !default;\n$form-check-input-checked-bg-position: center center !default;\n$form-check-input-checked-bg-size: 1em !default;\n$form-check-input-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-check-input-checked-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M4 8.5L6.5 11l6-6'/></svg>\") !default;\n$form-check-radio-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='2' fill='#{$form-check-input-checked-color}'/></svg>\") !default;\n\n$form-check-input-indeterminate-color: $component-active-color !default;\n$form-check-input-indeterminate-bg-color: $component-active-bg !default;\n$form-check-input-indeterminate-border-color: $form-check-input-indeterminate-bg-color !default;\n$form-check-input-indeterminate-bg-repeat: no-repeat !default;\n$form-check-input-indeterminate-bg-position: center center !default;\n$form-check-input-indeterminate-bg-size: 1em !default;\n$form-check-input-indeterminate-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-check-input-indeterminate-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M5 8h6'/></svg>\") !default;\n\n$form-switch-color: rgba(0, 0, 0, .25) !default;\n$form-switch-width: 2em !default;\n$form-switch-padding-left: $form-switch-width + .5em !default;\n$form-switch-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-color}'/></svg>\") !default;\n$form-switch-bg-size: contain !default;\n$form-switch-border-radius: $form-switch-width !default;\n$form-switch-transition: .2s ease-in-out !default;\n$form-switch-transition-property: background-position, background-color !default;\n\n$form-switch-focus-color: hsla(211, 100%, 75%, 1) !default;\n$form-switch-focus-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-focus-color}'/></svg>\") !default;\n\n$form-switch-checked-color: $component-active-color !default;\n$form-switch-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-checked-color}'/></svg>\") !default;\n$form-switch-checked-bg-position: right center !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-inline-margin-right: 1rem !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n\n$form-select-padding-y: $input-padding-y !default;\n$form-select-padding-x: $input-padding-x !default;\n$form-select-font-family: $input-font-family !default;\n$form-select-font-size: $input-font-size !default;\n$form-select-height: $input-height !default;\n$form-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$form-select-font-weight: $input-font-weight !default;\n$form-select-line-height: $input-line-height !default;\n$form-select-color: $input-color !default;\n$form-select-disabled-color: $gray-600 !default;\n$form-select-bg: $input-bg !default;\n$form-select-disabled-bg: $gray-200 !default;\n$form-select-disabled-border-color: $input-disabled-border-color !default;\n$form-select-bg-position: right $form-select-padding-x center !default;\n$form-select-bg-size: 16px 12px !default; // In pixels because image dimensions\n$form-select-indicator-color: $gray-800 !default;\n$form-select-indicator: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-select-indicator-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/></svg>\") !default;\n\n$form-select-feedback-icon-padding-right: add(1em * .75, (2 * $form-select-padding-y * .75) + $form-select-padding-x + $form-select-indicator-padding) !default;\n$form-select-feedback-icon-position: center right ($form-select-padding-x + $form-select-indicator-padding) !default;\n$form-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$form-select-border-width: $input-border-width !default;\n$form-select-border-color: $input-border-color !default;\n$form-select-border-radius: $border-radius !default;\n$form-select-box-shadow: $box-shadow-inset !default;\n\n$form-select-focus-border-color: $input-focus-border-color !default;\n$form-select-focus-width: $input-focus-width !default;\n$form-select-focus-box-shadow: 0 0 0 $form-select-focus-width $input-btn-focus-color !default;\n\n$form-select-padding-y-sm: $input-padding-y-sm !default;\n$form-select-padding-x-sm: $input-padding-x-sm !default;\n$form-select-font-size-sm: $input-font-size-sm !default;\n$form-select-height-sm: $input-height-sm !default;\n\n$form-select-padding-y-lg: $input-padding-y-lg !default;\n$form-select-padding-x-lg: $input-padding-x-lg !default;\n$form-select-font-size-lg: $input-font-size-lg !default;\n$form-select-height-lg: $input-height-lg !default;\n\n$form-range-track-width: 100% !default;\n$form-range-track-height: .5rem !default;\n$form-range-track-cursor: pointer !default;\n$form-range-track-bg: $gray-300 !default;\n$form-range-track-border-radius: 1rem !default;\n$form-range-track-box-shadow: $box-shadow-inset !default;\n\n$form-range-thumb-width: 1rem !default;\n$form-range-thumb-height: $form-range-thumb-width !default;\n$form-range-thumb-bg: $component-active-bg !default;\n$form-range-thumb-border: 0 !default;\n$form-range-thumb-border-radius: 1rem !default;\n$form-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$form-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$form-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in Edge\n$form-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\n$form-range-thumb-disabled-bg: $gray-500 !default;\n$form-range-thumb-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-file-height: $input-height !default;\n$form-file-focus-border-color: $input-focus-border-color !default;\n$form-file-focus-box-shadow: $input-focus-box-shadow !default;\n$form-file-disabled-bg: $input-disabled-bg !default;\n$form-file-disabled-border-color: $input-disabled-border-color !default;\n\n$form-file-padding-y: $input-padding-y !default;\n$form-file-padding-x: $input-padding-x !default;\n$form-file-line-height: $input-line-height !default;\n$form-file-font-family: $input-font-family !default;\n$form-file-font-weight: $input-font-weight !default;\n$form-file-color: $input-color !default;\n$form-file-bg: $input-bg !default;\n$form-file-border-width: $input-border-width !default;\n$form-file-border-color: $input-border-color !default;\n$form-file-border-radius: $input-border-radius !default;\n$form-file-box-shadow: $input-box-shadow !default;\n$form-file-button-color: $form-file-color !default;\n$form-file-button-bg: $input-group-addon-bg !default;\n\n$form-file-padding-y-sm: $input-padding-y-sm !default;\n$form-file-padding-x-sm: $input-padding-x-sm !default;\n$form-file-font-size-sm: $input-font-size-sm !default;\n$form-file-height-sm: $input-height-sm !default;\n\n$form-file-padding-y-lg: $input-padding-y-lg !default;\n$form-file-padding-x-lg: $input-padding-x-lg !default;\n$form-file-font-size-lg: $input-font-size-lg !default;\n$form-file-height-lg: $input-height-lg !default;\n\n\n// Form validation\n\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: $success !default;\n$form-feedback-invalid-color: $danger !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/></svg>\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}' viewBox='0 0 12 12'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>\") !default;\n\n$form-validation-states: (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n )\n) !default;\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n\n// Navbar\n\n$navbar-padding-y: $spacer / 2 !default;\n$navbar-padding-x: null !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n$navbar-brand-margin-right: 1rem !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n$navbar-toggler-focus-width: $btn-focus-width !default;\n$navbar-toggler-transition: box-shadow .15s ease-in-out !default;\n\n$navbar-dark-color: rgba($white, .55) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .55) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-divider-margin-y: $spacer / 2 !default;\n$dropdown-box-shadow: $box-shadow !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n$dropdown-header-padding: $dropdown-padding-y $dropdown-item-padding-x !default;\n\n\n// Pagination\n\n$pagination-padding-y: .375rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-radius: $border-radius !default;\n$pagination-margin-left: -$pagination-border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n\n// Cards\n\n$card-spacer-y: 1.25rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-title-spacer-y: .75rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;\n$card-cap-padding-y: .75rem !default;\n$card-cap-padding-x: 1.25rem !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: $grid-gutter-width / 2 !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n// Form tooltips must come after regular tooltips\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: null !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default;\n$popover-box-shadow: $box-shadow !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Toasts\n\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .25rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba(0, 0, 0, .1) !default;\n$toast-border-radius: $border-radius !default;\n$toast-box-shadow: $box-shadow !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\n\n\n// Badges\n\n$badge-font-size: .75em !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-color: $white !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .5em !default;\n$badge-border-radius: $border-radius !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs: $box-shadow-sm !default;\n$modal-content-box-shadow-sm-up: $box-shadow !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: 1rem !default;\n$modal-header-padding-x: 1rem !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-xl: 1140px !default;\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n$modal-scale-transform: scale(1.02) !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: $box-shadow-inset !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: $primary !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n\n// List group\n\n$list-group-color: null !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: $box-shadow-sm !default;\n\n\n// Figures\n\n$figure-caption-font-size: $small-font-size !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-font-size: null !default;\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding-x: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n\n$breadcrumb-border-radius: $border-radius !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-opacity: .5 !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-active-opacity: 1 !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n$carousel-caption-padding-y: 1.25rem !default;\n$carousel-caption-spacer: 1.25rem !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'><path d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/></svg>\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'><path d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/></svg>\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n\n// Spinners\n\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-border-width: .25em !default;\n$spinner-animation-speed: .75s !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n\n// Code\n\n$code-font-size: $small-font-size !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: null !default;\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n\n > * {\n @include make-col-ready();\n }\n }\n}\n\n// Gutters\n//\n// Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n\n@if $enable-grid-classes {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n\n @each $key, $value in $gutters {\n .g#{$infix}-#{$key},\n .gx#{$infix}-#{$key} {\n margin-right: -$value / 2;\n margin-left: -$value / 2;\n\n > * {\n padding-right: $value / 2;\n padding-left: $value / 2;\n }\n }\n\n .g#{$infix}-#{$key},\n .gy#{$infix}-#{$key} {\n margin-top: -$value;\n\n > * {\n margin-top: $value;\n }\n }\n }\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter / 2;\n margin-left: -$gutter / 2;\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n // Add box sizing if only the grid is loaded\n box-sizing: if(variable-exists(include-column-box-sizing) and $include-column-box-sizing, border-box, null);\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we set the width\n // later on to override this initial width.\n flex-shrink: 0;\n width: 100%;\n max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 auto;\n width: percentage($size / $columns);\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n & > * {\n flex: 0 0 auto;\n width: 100% / $count;\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0%; // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n min-width: 0; // See https://github.com/twbs/bootstrap/issues/25410\n }\n\n .row-cols#{$infix}-auto > * {\n @include make-col-auto();\n }\n\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix, $is-rfs-media-query: false) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (eg. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n @if map-get($utility, rfs) {\n // Inside the media query\n @if $is-rfs-media-query {\n $val: rfs-value($value);\n\n // Do not render anything if fluid and non fluid values are the same\n $value: if($val == rfs-fluid-value($value), null, $val);\n }\n @else {\n $value: rfs-fluid-value($value);\n }\n }\n\n @if $value != null {\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n// RFS rescaling\n@media (min-width: $rfs-mq-value) {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and map-get($utility, rfs) {\n @include generate-utility($utility, $infix, true);\n }\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file
diff --git a/dist/css/bootstrap-grid.min.css b/dist/css/bootstrap-grid.min.css
index 939ba166eb..78a12b07fc 100644
--- a/dist/css/bootstrap-grid.min.css
+++ b/dist/css/bootstrap-grid.min.css
@@ -1,7 +1,7 @@
/*!
* Bootstrap Grid v4.3.1 (https://getbootstrap.com/)
- * Copyright 2011-2019 The Bootstrap Authors
- * Copyright 2011-2019 Twitter, Inc.
+ * Copyright 2011-2020 The Bootstrap Authors
+ * Copyright 2011-2020 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- */html{box-sizing:border-box}*,::after,::before{box-sizing:inherit}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-1>*{flex:0 0 100%;max-width:100%}.row-cols-2>*{flex:0 0 50%;max-width:50%}.row-cols-3>*{flex:0 0 33.333333%;max-width:33.333333%}.row-cols-4>*{flex:0 0 25%;max-width:25%}.row-cols-5>*{flex:0 0 20%;max-width:20%}.row-cols-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-auto{flex:0 0 auto;width:auto;max-width:100%}.col-1{flex:0 0 8.333333%;max-width:8.333333%}.col-2{flex:0 0 16.666667%;max-width:16.666667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.333333%;max-width:33.333333%}.col-5{flex:0 0 41.666667%;max-width:41.666667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.333333%;max-width:58.333333%}.col-8{flex:0 0 66.666667%;max-width:66.666667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.333333%;max-width:83.333333%}.col-11{flex:0 0 91.666667%;max-width:91.666667%}.col-12{flex:0 0 100%;max-width:100%}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-sm-1>*{flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{flex:0 0 33.333333%;max-width:33.333333%}.row-cols-sm-4>*{flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-sm-auto{flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{flex:0 0 100%;max-width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-md-1>*{flex:0 0 100%;max-width:100%}.row-cols-md-2>*{flex:0 0 50%;max-width:50%}.row-cols-md-3>*{flex:0 0 33.333333%;max-width:33.333333%}.row-cols-md-4>*{flex:0 0 25%;max-width:25%}.row-cols-md-5>*{flex:0 0 20%;max-width:20%}.row-cols-md-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-md-auto{flex:0 0 auto;width:auto;max-width:100%}.col-md-1{flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{flex:0 0 100%;max-width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-lg-1>*{flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{flex:0 0 33.333333%;max-width:33.333333%}.row-cols-lg-4>*{flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-lg-auto{flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{flex:0 0 100%;max-width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-xl-1>*{flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{flex:0 0 33.333333%;max-width:33.333333%}.row-cols-xl-4>*{flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-xl-auto{flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{flex:0 0 100%;max-width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.mr-0{margin-right:0!important}.mr-1{margin-right:.25rem!important}.mr-2{margin-right:.5rem!important}.mr-3{margin-right:1rem!important}.mr-4{margin-right:1.5rem!important}.mr-5{margin-right:3rem!important}.mr-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ml-0{margin-left:0!important}.ml-1{margin-left:.25rem!important}.ml-2{margin-left:.5rem!important}.ml-3{margin-left:1rem!important}.ml-4{margin-left:1.5rem!important}.ml-5{margin-left:3rem!important}.ml-auto{margin-left:auto!important}.m-n1{margin:-.25rem!important}.m-n2{margin:-.5rem!important}.m-n3{margin:-1rem!important}.m-n4{margin:-1.5rem!important}.m-n5{margin:-3rem!important}.mx-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-n1{margin-top:-.25rem!important}.mt-n2{margin-top:-.5rem!important}.mt-n3{margin-top:-1rem!important}.mt-n4{margin-top:-1.5rem!important}.mt-n5{margin-top:-3rem!important}.mr-n1{margin-right:-.25rem!important}.mr-n2{margin-right:-.5rem!important}.mr-n3{margin-right:-1rem!important}.mr-n4{margin-right:-1.5rem!important}.mr-n5{margin-right:-3rem!important}.mb-n1{margin-bottom:-.25rem!important}.mb-n2{margin-bottom:-.5rem!important}.mb-n3{margin-bottom:-1rem!important}.mb-n4{margin-bottom:-1.5rem!important}.mb-n5{margin-bottom:-3rem!important}.ml-n1{margin-left:-.25rem!important}.ml-n2{margin-left:-.5rem!important}.ml-n3{margin-left:-1rem!important}.ml-n4{margin-left:-1.5rem!important}.ml-n5{margin-left:-3rem!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pr-0{padding-right:0!important}.pr-1{padding-right:.25rem!important}.pr-2{padding-right:.5rem!important}.pr-3{padding-right:1rem!important}.pr-4{padding-right:1.5rem!important}.pr-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.pl-0{padding-left:0!important}.pl-1{padding-left:.25rem!important}.pl-2{padding-left:.5rem!important}.pl-3{padding-left:1rem!important}.pl-4{padding-left:1.5rem!important}.pl-5{padding-left:3rem!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.mr-sm-0{margin-right:0!important}.mr-sm-1{margin-right:.25rem!important}.mr-sm-2{margin-right:.5rem!important}.mr-sm-3{margin-right:1rem!important}.mr-sm-4{margin-right:1.5rem!important}.mr-sm-5{margin-right:3rem!important}.mr-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ml-sm-0{margin-left:0!important}.ml-sm-1{margin-left:.25rem!important}.ml-sm-2{margin-left:.5rem!important}.ml-sm-3{margin-left:1rem!important}.ml-sm-4{margin-left:1.5rem!important}.ml-sm-5{margin-left:3rem!important}.ml-sm-auto{margin-left:auto!important}.m-sm-n1{margin:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.m-sm-n3{margin:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mx-sm-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-sm-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-sm-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-sm-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-sm-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-sm-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-sm-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-sm-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-sm-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-sm-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-sm-n1{margin-top:-.25rem!important}.mt-sm-n2{margin-top:-.5rem!important}.mt-sm-n3{margin-top:-1rem!important}.mt-sm-n4{margin-top:-1.5rem!important}.mt-sm-n5{margin-top:-3rem!important}.mr-sm-n1{margin-right:-.25rem!important}.mr-sm-n2{margin-right:-.5rem!important}.mr-sm-n3{margin-right:-1rem!important}.mr-sm-n4{margin-right:-1.5rem!important}.mr-sm-n5{margin-right:-3rem!important}.mb-sm-n1{margin-bottom:-.25rem!important}.mb-sm-n2{margin-bottom:-.5rem!important}.mb-sm-n3{margin-bottom:-1rem!important}.mb-sm-n4{margin-bottom:-1.5rem!important}.mb-sm-n5{margin-bottom:-3rem!important}.ml-sm-n1{margin-left:-.25rem!important}.ml-sm-n2{margin-left:-.5rem!important}.ml-sm-n3{margin-left:-1rem!important}.ml-sm-n4{margin-left:-1.5rem!important}.ml-sm-n5{margin-left:-3rem!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pr-sm-0{padding-right:0!important}.pr-sm-1{padding-right:.25rem!important}.pr-sm-2{padding-right:.5rem!important}.pr-sm-3{padding-right:1rem!important}.pr-sm-4{padding-right:1.5rem!important}.pr-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.pl-sm-0{padding-left:0!important}.pl-sm-1{padding-left:.25rem!important}.pl-sm-2{padding-left:.5rem!important}.pl-sm-3{padding-left:1rem!important}.pl-sm-4{padding-left:1.5rem!important}.pl-sm-5{padding-left:3rem!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.mr-md-0{margin-right:0!important}.mr-md-1{margin-right:.25rem!important}.mr-md-2{margin-right:.5rem!important}.mr-md-3{margin-right:1rem!important}.mr-md-4{margin-right:1.5rem!important}.mr-md-5{margin-right:3rem!important}.mr-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ml-md-0{margin-left:0!important}.ml-md-1{margin-left:.25rem!important}.ml-md-2{margin-left:.5rem!important}.ml-md-3{margin-left:1rem!important}.ml-md-4{margin-left:1.5rem!important}.ml-md-5{margin-left:3rem!important}.ml-md-auto{margin-left:auto!important}.m-md-n1{margin:-.25rem!important}.m-md-n2{margin:-.5rem!important}.m-md-n3{margin:-1rem!important}.m-md-n4{margin:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mx-md-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-md-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-md-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-md-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-md-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-md-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-md-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-md-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-md-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-md-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-md-n1{margin-top:-.25rem!important}.mt-md-n2{margin-top:-.5rem!important}.mt-md-n3{margin-top:-1rem!important}.mt-md-n4{margin-top:-1.5rem!important}.mt-md-n5{margin-top:-3rem!important}.mr-md-n1{margin-right:-.25rem!important}.mr-md-n2{margin-right:-.5rem!important}.mr-md-n3{margin-right:-1rem!important}.mr-md-n4{margin-right:-1.5rem!important}.mr-md-n5{margin-right:-3rem!important}.mb-md-n1{margin-bottom:-.25rem!important}.mb-md-n2{margin-bottom:-.5rem!important}.mb-md-n3{margin-bottom:-1rem!important}.mb-md-n4{margin-bottom:-1.5rem!important}.mb-md-n5{margin-bottom:-3rem!important}.ml-md-n1{margin-left:-.25rem!important}.ml-md-n2{margin-left:-.5rem!important}.ml-md-n3{margin-left:-1rem!important}.ml-md-n4{margin-left:-1.5rem!important}.ml-md-n5{margin-left:-3rem!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pr-md-0{padding-right:0!important}.pr-md-1{padding-right:.25rem!important}.pr-md-2{padding-right:.5rem!important}.pr-md-3{padding-right:1rem!important}.pr-md-4{padding-right:1.5rem!important}.pr-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.pl-md-0{padding-left:0!important}.pl-md-1{padding-left:.25rem!important}.pl-md-2{padding-left:.5rem!important}.pl-md-3{padding-left:1rem!important}.pl-md-4{padding-left:1.5rem!important}.pl-md-5{padding-left:3rem!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.mr-lg-0{margin-right:0!important}.mr-lg-1{margin-right:.25rem!important}.mr-lg-2{margin-right:.5rem!important}.mr-lg-3{margin-right:1rem!important}.mr-lg-4{margin-right:1.5rem!important}.mr-lg-5{margin-right:3rem!important}.mr-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ml-lg-0{margin-left:0!important}.ml-lg-1{margin-left:.25rem!important}.ml-lg-2{margin-left:.5rem!important}.ml-lg-3{margin-left:1rem!important}.ml-lg-4{margin-left:1.5rem!important}.ml-lg-5{margin-left:3rem!important}.ml-lg-auto{margin-left:auto!important}.m-lg-n1{margin:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.m-lg-n3{margin:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mx-lg-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-lg-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-lg-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-lg-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-lg-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-lg-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-lg-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-lg-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-lg-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-lg-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-lg-n1{margin-top:-.25rem!important}.mt-lg-n2{margin-top:-.5rem!important}.mt-lg-n3{margin-top:-1rem!important}.mt-lg-n4{margin-top:-1.5rem!important}.mt-lg-n5{margin-top:-3rem!important}.mr-lg-n1{margin-right:-.25rem!important}.mr-lg-n2{margin-right:-.5rem!important}.mr-lg-n3{margin-right:-1rem!important}.mr-lg-n4{margin-right:-1.5rem!important}.mr-lg-n5{margin-right:-3rem!important}.mb-lg-n1{margin-bottom:-.25rem!important}.mb-lg-n2{margin-bottom:-.5rem!important}.mb-lg-n3{margin-bottom:-1rem!important}.mb-lg-n4{margin-bottom:-1.5rem!important}.mb-lg-n5{margin-bottom:-3rem!important}.ml-lg-n1{margin-left:-.25rem!important}.ml-lg-n2{margin-left:-.5rem!important}.ml-lg-n3{margin-left:-1rem!important}.ml-lg-n4{margin-left:-1.5rem!important}.ml-lg-n5{margin-left:-3rem!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pr-lg-0{padding-right:0!important}.pr-lg-1{padding-right:.25rem!important}.pr-lg-2{padding-right:.5rem!important}.pr-lg-3{padding-right:1rem!important}.pr-lg-4{padding-right:1.5rem!important}.pr-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.pl-lg-0{padding-left:0!important}.pl-lg-1{padding-left:.25rem!important}.pl-lg-2{padding-left:.5rem!important}.pl-lg-3{padding-left:1rem!important}.pl-lg-4{padding-left:1.5rem!important}.pl-lg-5{padding-left:3rem!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.mr-xl-0{margin-right:0!important}.mr-xl-1{margin-right:.25rem!important}.mr-xl-2{margin-right:.5rem!important}.mr-xl-3{margin-right:1rem!important}.mr-xl-4{margin-right:1.5rem!important}.mr-xl-5{margin-right:3rem!important}.mr-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ml-xl-0{margin-left:0!important}.ml-xl-1{margin-left:.25rem!important}.ml-xl-2{margin-left:.5rem!important}.ml-xl-3{margin-left:1rem!important}.ml-xl-4{margin-left:1.5rem!important}.ml-xl-5{margin-left:3rem!important}.ml-xl-auto{margin-left:auto!important}.m-xl-n1{margin:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.m-xl-n3{margin:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mx-xl-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-xl-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-xl-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-xl-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-xl-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-xl-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-xl-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-xl-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-xl-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-xl-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-xl-n1{margin-top:-.25rem!important}.mt-xl-n2{margin-top:-.5rem!important}.mt-xl-n3{margin-top:-1rem!important}.mt-xl-n4{margin-top:-1.5rem!important}.mt-xl-n5{margin-top:-3rem!important}.mr-xl-n1{margin-right:-.25rem!important}.mr-xl-n2{margin-right:-.5rem!important}.mr-xl-n3{margin-right:-1rem!important}.mr-xl-n4{margin-right:-1.5rem!important}.mr-xl-n5{margin-right:-3rem!important}.mb-xl-n1{margin-bottom:-.25rem!important}.mb-xl-n2{margin-bottom:-.5rem!important}.mb-xl-n3{margin-bottom:-1rem!important}.mb-xl-n4{margin-bottom:-1.5rem!important}.mb-xl-n5{margin-bottom:-3rem!important}.ml-xl-n1{margin-left:-.25rem!important}.ml-xl-n2{margin-left:-.5rem!important}.ml-xl-n3{margin-left:-1rem!important}.ml-xl-n4{margin-left:-1.5rem!important}.ml-xl-n5{margin-left:-3rem!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pr-xl-0{padding-right:0!important}.pr-xl-1{padding-right:.25rem!important}.pr-xl-2{padding-right:.5rem!important}.pr-xl-3{padding-right:1rem!important}.pr-xl-4{padding-right:1.5rem!important}.pr-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.pl-xl-0{padding-left:0!important}.pl-xl-1{padding-left:.25rem!important}.pl-xl-2{padding-left:.5rem!important}.pl-xl-3{padding-left:1rem!important}.pl-xl-4{padding-left:1.5rem!important}.pl-xl-5{padding-left:3rem!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}}
+ */.container{width:100%;padding-right:1rem;padding-left:1rem;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:1rem;padding-left:1rem;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row{display:flex;flex-wrap:wrap;margin-right:-.75rem;margin-left:-.75rem}.row>*{box-sizing:border-box;flex-shrink:0;width:100%;max-width:100%;padding-right:.75rem;padding-left:.75rem}.g-0,.gx-0{margin-right:0;margin-left:0}.g-0>*,.gx-0>*{padding-right:0;padding-left:0}.g-0,.gy-0{margin-top:0}.g-0>*,.gy-0>*{margin-top:0}.g-1,.gx-1{margin-right:-.125rem;margin-left:-.125rem}.g-1>*,.gx-1>*{padding-right:.125rem;padding-left:.125rem}.g-1,.gy-1{margin-top:-.25rem}.g-1>*,.gy-1>*{margin-top:.25rem}.g-2,.gx-2{margin-right:-.25rem;margin-left:-.25rem}.g-2>*,.gx-2>*{padding-right:.25rem;padding-left:.25rem}.g-2,.gy-2{margin-top:-.5rem}.g-2>*,.gy-2>*{margin-top:.5rem}.g-3,.gx-3{margin-right:-.5rem;margin-left:-.5rem}.g-3>*,.gx-3>*{padding-right:.5rem;padding-left:.5rem}.g-3,.gy-3{margin-top:-1rem}.g-3>*,.gy-3>*{margin-top:1rem}.g-4,.gx-4{margin-right:-.75rem;margin-left:-.75rem}.g-4>*,.gx-4>*{padding-right:.75rem;padding-left:.75rem}.g-4,.gy-4{margin-top:-1.5rem}.g-4>*,.gy-4>*{margin-top:1.5rem}.g-5,.gx-5{margin-right:-1.5rem;margin-left:-1.5rem}.g-5>*,.gx-5>*{padding-right:1.5rem;padding-left:1.5rem}.g-5,.gy-5{margin-top:-3rem}.g-5>*,.gy-5>*{margin-top:3rem}@media (min-width:576px){.g-sm-0,.gx-sm-0{margin-right:0;margin-left:0}.g-sm-0>*,.gx-sm-0>*{padding-right:0;padding-left:0}.g-sm-0,.gy-sm-0{margin-top:0}.g-sm-0>*,.gy-sm-0>*{margin-top:0}.g-sm-1,.gx-sm-1{margin-right:-.125rem;margin-left:-.125rem}.g-sm-1>*,.gx-sm-1>*{padding-right:.125rem;padding-left:.125rem}.g-sm-1,.gy-sm-1{margin-top:-.25rem}.g-sm-1>*,.gy-sm-1>*{margin-top:.25rem}.g-sm-2,.gx-sm-2{margin-right:-.25rem;margin-left:-.25rem}.g-sm-2>*,.gx-sm-2>*{padding-right:.25rem;padding-left:.25rem}.g-sm-2,.gy-sm-2{margin-top:-.5rem}.g-sm-2>*,.gy-sm-2>*{margin-top:.5rem}.g-sm-3,.gx-sm-3{margin-right:-.5rem;margin-left:-.5rem}.g-sm-3>*,.gx-sm-3>*{padding-right:.5rem;padding-left:.5rem}.g-sm-3,.gy-sm-3{margin-top:-1rem}.g-sm-3>*,.gy-sm-3>*{margin-top:1rem}.g-sm-4,.gx-sm-4{margin-right:-.75rem;margin-left:-.75rem}.g-sm-4>*,.gx-sm-4>*{padding-right:.75rem;padding-left:.75rem}.g-sm-4,.gy-sm-4{margin-top:-1.5rem}.g-sm-4>*,.gy-sm-4>*{margin-top:1.5rem}.g-sm-5,.gx-sm-5{margin-right:-1.5rem;margin-left:-1.5rem}.g-sm-5>*,.gx-sm-5>*{padding-right:1.5rem;padding-left:1.5rem}.g-sm-5,.gy-sm-5{margin-top:-3rem}.g-sm-5>*,.gy-sm-5>*{margin-top:3rem}}@media (min-width:768px){.g-md-0,.gx-md-0{margin-right:0;margin-left:0}.g-md-0>*,.gx-md-0>*{padding-right:0;padding-left:0}.g-md-0,.gy-md-0{margin-top:0}.g-md-0>*,.gy-md-0>*{margin-top:0}.g-md-1,.gx-md-1{margin-right:-.125rem;margin-left:-.125rem}.g-md-1>*,.gx-md-1>*{padding-right:.125rem;padding-left:.125rem}.g-md-1,.gy-md-1{margin-top:-.25rem}.g-md-1>*,.gy-md-1>*{margin-top:.25rem}.g-md-2,.gx-md-2{margin-right:-.25rem;margin-left:-.25rem}.g-md-2>*,.gx-md-2>*{padding-right:.25rem;padding-left:.25rem}.g-md-2,.gy-md-2{margin-top:-.5rem}.g-md-2>*,.gy-md-2>*{margin-top:.5rem}.g-md-3,.gx-md-3{margin-right:-.5rem;margin-left:-.5rem}.g-md-3>*,.gx-md-3>*{padding-right:.5rem;padding-left:.5rem}.g-md-3,.gy-md-3{margin-top:-1rem}.g-md-3>*,.gy-md-3>*{margin-top:1rem}.g-md-4,.gx-md-4{margin-right:-.75rem;margin-left:-.75rem}.g-md-4>*,.gx-md-4>*{padding-right:.75rem;padding-left:.75rem}.g-md-4,.gy-md-4{margin-top:-1.5rem}.g-md-4>*,.gy-md-4>*{margin-top:1.5rem}.g-md-5,.gx-md-5{margin-right:-1.5rem;margin-left:-1.5rem}.g-md-5>*,.gx-md-5>*{padding-right:1.5rem;padding-left:1.5rem}.g-md-5,.gy-md-5{margin-top:-3rem}.g-md-5>*,.gy-md-5>*{margin-top:3rem}}@media (min-width:992px){.g-lg-0,.gx-lg-0{margin-right:0;margin-left:0}.g-lg-0>*,.gx-lg-0>*{padding-right:0;padding-left:0}.g-lg-0,.gy-lg-0{margin-top:0}.g-lg-0>*,.gy-lg-0>*{margin-top:0}.g-lg-1,.gx-lg-1{margin-right:-.125rem;margin-left:-.125rem}.g-lg-1>*,.gx-lg-1>*{padding-right:.125rem;padding-left:.125rem}.g-lg-1,.gy-lg-1{margin-top:-.25rem}.g-lg-1>*,.gy-lg-1>*{margin-top:.25rem}.g-lg-2,.gx-lg-2{margin-right:-.25rem;margin-left:-.25rem}.g-lg-2>*,.gx-lg-2>*{padding-right:.25rem;padding-left:.25rem}.g-lg-2,.gy-lg-2{margin-top:-.5rem}.g-lg-2>*,.gy-lg-2>*{margin-top:.5rem}.g-lg-3,.gx-lg-3{margin-right:-.5rem;margin-left:-.5rem}.g-lg-3>*,.gx-lg-3>*{padding-right:.5rem;padding-left:.5rem}.g-lg-3,.gy-lg-3{margin-top:-1rem}.g-lg-3>*,.gy-lg-3>*{margin-top:1rem}.g-lg-4,.gx-lg-4{margin-right:-.75rem;margin-left:-.75rem}.g-lg-4>*,.gx-lg-4>*{padding-right:.75rem;padding-left:.75rem}.g-lg-4,.gy-lg-4{margin-top:-1.5rem}.g-lg-4>*,.gy-lg-4>*{margin-top:1.5rem}.g-lg-5,.gx-lg-5{margin-right:-1.5rem;margin-left:-1.5rem}.g-lg-5>*,.gx-lg-5>*{padding-right:1.5rem;padding-left:1.5rem}.g-lg-5,.gy-lg-5{margin-top:-3rem}.g-lg-5>*,.gy-lg-5>*{margin-top:3rem}}@media (min-width:1200px){.g-xl-0,.gx-xl-0{margin-right:0;margin-left:0}.g-xl-0>*,.gx-xl-0>*{padding-right:0;padding-left:0}.g-xl-0,.gy-xl-0{margin-top:0}.g-xl-0>*,.gy-xl-0>*{margin-top:0}.g-xl-1,.gx-xl-1{margin-right:-.125rem;margin-left:-.125rem}.g-xl-1>*,.gx-xl-1>*{padding-right:.125rem;padding-left:.125rem}.g-xl-1,.gy-xl-1{margin-top:-.25rem}.g-xl-1>*,.gy-xl-1>*{margin-top:.25rem}.g-xl-2,.gx-xl-2{margin-right:-.25rem;margin-left:-.25rem}.g-xl-2>*,.gx-xl-2>*{padding-right:.25rem;padding-left:.25rem}.g-xl-2,.gy-xl-2{margin-top:-.5rem}.g-xl-2>*,.gy-xl-2>*{margin-top:.5rem}.g-xl-3,.gx-xl-3{margin-right:-.5rem;margin-left:-.5rem}.g-xl-3>*,.gx-xl-3>*{padding-right:.5rem;padding-left:.5rem}.g-xl-3,.gy-xl-3{margin-top:-1rem}.g-xl-3>*,.gy-xl-3>*{margin-top:1rem}.g-xl-4,.gx-xl-4{margin-right:-.75rem;margin-left:-.75rem}.g-xl-4>*,.gx-xl-4>*{padding-right:.75rem;padding-left:.75rem}.g-xl-4,.gy-xl-4{margin-top:-1.5rem}.g-xl-4>*,.gy-xl-4>*{margin-top:1.5rem}.g-xl-5,.gx-xl-5{margin-right:-1.5rem;margin-left:-1.5rem}.g-xl-5>*,.gx-xl-5>*{padding-right:1.5rem;padding-left:1.5rem}.g-xl-5,.gy-xl-5{margin-top:-3rem}.g-xl-5>*,.gy-xl-5>*{margin-top:3rem}}.col{flex:1 0 0%;min-width:0}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.333333%}.col-2{flex:0 0 auto;width:16.666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.333333%}.col-5{flex:0 0 auto;width:41.666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.333333%}.col-8{flex:0 0 auto;width:66.666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.333333%}.col-11{flex:0 0 auto;width:91.666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{flex:1 0 0%;min-width:0}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.333333%}.col-sm-2{flex:0 0 auto;width:16.666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.333333%}.col-sm-5{flex:0 0 auto;width:41.666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.333333%}.col-sm-8{flex:0 0 auto;width:66.666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.333333%}.col-sm-11{flex:0 0 auto;width:91.666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{flex:1 0 0%;min-width:0}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.333333%}.col-md-2{flex:0 0 auto;width:16.666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.333333%}.col-md-5{flex:0 0 auto;width:41.666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.333333%}.col-md-8{flex:0 0 auto;width:66.666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.333333%}.col-md-11{flex:0 0 auto;width:91.666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{flex:1 0 0%;min-width:0}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.333333%}.col-lg-2{flex:0 0 auto;width:16.666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.333333%}.col-lg-5{flex:0 0 auto;width:41.666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.333333%}.col-lg-8{flex:0 0 auto;width:66.666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.333333%}.col-lg-11{flex:0 0 auto;width:91.666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{flex:1 0 0%;min-width:0}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.333333%}.col-xl-2{flex:0 0 auto;width:16.666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.333333%}.col-xl-5{flex:0 0 auto;width:41.666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.333333%}.col-xl-8{flex:0 0 auto;width:66.666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.333333%}.col-xl-11{flex:0 0 auto;width:91.666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.mr-0{margin-right:0!important}.mr-1{margin-right:.25rem!important}.mr-2{margin-right:.5rem!important}.mr-3{margin-right:1rem!important}.mr-4{margin-right:1.5rem!important}.mr-5{margin-right:3rem!important}.mr-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ml-0{margin-left:0!important}.ml-1{margin-left:.25rem!important}.ml-2{margin-left:.5rem!important}.ml-3{margin-left:1rem!important}.ml-4{margin-left:1.5rem!important}.ml-5{margin-left:3rem!important}.ml-auto{margin-left:auto!important}.m-n1{margin:-.25rem!important}.m-n2{margin:-.5rem!important}.m-n3{margin:-1rem!important}.m-n4{margin:-1.5rem!important}.m-n5{margin:-3rem!important}.mx-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-n1{margin-top:-.25rem!important}.mt-n2{margin-top:-.5rem!important}.mt-n3{margin-top:-1rem!important}.mt-n4{margin-top:-1.5rem!important}.mt-n5{margin-top:-3rem!important}.mr-n1{margin-right:-.25rem!important}.mr-n2{margin-right:-.5rem!important}.mr-n3{margin-right:-1rem!important}.mr-n4{margin-right:-1.5rem!important}.mr-n5{margin-right:-3rem!important}.mb-n1{margin-bottom:-.25rem!important}.mb-n2{margin-bottom:-.5rem!important}.mb-n3{margin-bottom:-1rem!important}.mb-n4{margin-bottom:-1.5rem!important}.mb-n5{margin-bottom:-3rem!important}.ml-n1{margin-left:-.25rem!important}.ml-n2{margin-left:-.5rem!important}.ml-n3{margin-left:-1rem!important}.ml-n4{margin-left:-1.5rem!important}.ml-n5{margin-left:-3rem!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pr-0{padding-right:0!important}.pr-1{padding-right:.25rem!important}.pr-2{padding-right:.5rem!important}.pr-3{padding-right:1rem!important}.pr-4{padding-right:1.5rem!important}.pr-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.pl-0{padding-left:0!important}.pl-1{padding-left:.25rem!important}.pl-2{padding-left:.5rem!important}.pl-3{padding-left:1rem!important}.pl-4{padding-left:1.5rem!important}.pl-5{padding-left:3rem!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.mr-sm-0{margin-right:0!important}.mr-sm-1{margin-right:.25rem!important}.mr-sm-2{margin-right:.5rem!important}.mr-sm-3{margin-right:1rem!important}.mr-sm-4{margin-right:1.5rem!important}.mr-sm-5{margin-right:3rem!important}.mr-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ml-sm-0{margin-left:0!important}.ml-sm-1{margin-left:.25rem!important}.ml-sm-2{margin-left:.5rem!important}.ml-sm-3{margin-left:1rem!important}.ml-sm-4{margin-left:1.5rem!important}.ml-sm-5{margin-left:3rem!important}.ml-sm-auto{margin-left:auto!important}.m-sm-n1{margin:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.m-sm-n3{margin:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mx-sm-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-sm-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-sm-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-sm-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-sm-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-sm-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-sm-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-sm-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-sm-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-sm-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-sm-n1{margin-top:-.25rem!important}.mt-sm-n2{margin-top:-.5rem!important}.mt-sm-n3{margin-top:-1rem!important}.mt-sm-n4{margin-top:-1.5rem!important}.mt-sm-n5{margin-top:-3rem!important}.mr-sm-n1{margin-right:-.25rem!important}.mr-sm-n2{margin-right:-.5rem!important}.mr-sm-n3{margin-right:-1rem!important}.mr-sm-n4{margin-right:-1.5rem!important}.mr-sm-n5{margin-right:-3rem!important}.mb-sm-n1{margin-bottom:-.25rem!important}.mb-sm-n2{margin-bottom:-.5rem!important}.mb-sm-n3{margin-bottom:-1rem!important}.mb-sm-n4{margin-bottom:-1.5rem!important}.mb-sm-n5{margin-bottom:-3rem!important}.ml-sm-n1{margin-left:-.25rem!important}.ml-sm-n2{margin-left:-.5rem!important}.ml-sm-n3{margin-left:-1rem!important}.ml-sm-n4{margin-left:-1.5rem!important}.ml-sm-n5{margin-left:-3rem!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pr-sm-0{padding-right:0!important}.pr-sm-1{padding-right:.25rem!important}.pr-sm-2{padding-right:.5rem!important}.pr-sm-3{padding-right:1rem!important}.pr-sm-4{padding-right:1.5rem!important}.pr-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.pl-sm-0{padding-left:0!important}.pl-sm-1{padding-left:.25rem!important}.pl-sm-2{padding-left:.5rem!important}.pl-sm-3{padding-left:1rem!important}.pl-sm-4{padding-left:1.5rem!important}.pl-sm-5{padding-left:3rem!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.mr-md-0{margin-right:0!important}.mr-md-1{margin-right:.25rem!important}.mr-md-2{margin-right:.5rem!important}.mr-md-3{margin-right:1rem!important}.mr-md-4{margin-right:1.5rem!important}.mr-md-5{margin-right:3rem!important}.mr-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ml-md-0{margin-left:0!important}.ml-md-1{margin-left:.25rem!important}.ml-md-2{margin-left:.5rem!important}.ml-md-3{margin-left:1rem!important}.ml-md-4{margin-left:1.5rem!important}.ml-md-5{margin-left:3rem!important}.ml-md-auto{margin-left:auto!important}.m-md-n1{margin:-.25rem!important}.m-md-n2{margin:-.5rem!important}.m-md-n3{margin:-1rem!important}.m-md-n4{margin:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mx-md-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-md-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-md-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-md-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-md-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-md-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-md-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-md-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-md-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-md-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-md-n1{margin-top:-.25rem!important}.mt-md-n2{margin-top:-.5rem!important}.mt-md-n3{margin-top:-1rem!important}.mt-md-n4{margin-top:-1.5rem!important}.mt-md-n5{margin-top:-3rem!important}.mr-md-n1{margin-right:-.25rem!important}.mr-md-n2{margin-right:-.5rem!important}.mr-md-n3{margin-right:-1rem!important}.mr-md-n4{margin-right:-1.5rem!important}.mr-md-n5{margin-right:-3rem!important}.mb-md-n1{margin-bottom:-.25rem!important}.mb-md-n2{margin-bottom:-.5rem!important}.mb-md-n3{margin-bottom:-1rem!important}.mb-md-n4{margin-bottom:-1.5rem!important}.mb-md-n5{margin-bottom:-3rem!important}.ml-md-n1{margin-left:-.25rem!important}.ml-md-n2{margin-left:-.5rem!important}.ml-md-n3{margin-left:-1rem!important}.ml-md-n4{margin-left:-1.5rem!important}.ml-md-n5{margin-left:-3rem!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pr-md-0{padding-right:0!important}.pr-md-1{padding-right:.25rem!important}.pr-md-2{padding-right:.5rem!important}.pr-md-3{padding-right:1rem!important}.pr-md-4{padding-right:1.5rem!important}.pr-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.pl-md-0{padding-left:0!important}.pl-md-1{padding-left:.25rem!important}.pl-md-2{padding-left:.5rem!important}.pl-md-3{padding-left:1rem!important}.pl-md-4{padding-left:1.5rem!important}.pl-md-5{padding-left:3rem!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.mr-lg-0{margin-right:0!important}.mr-lg-1{margin-right:.25rem!important}.mr-lg-2{margin-right:.5rem!important}.mr-lg-3{margin-right:1rem!important}.mr-lg-4{margin-right:1.5rem!important}.mr-lg-5{margin-right:3rem!important}.mr-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ml-lg-0{margin-left:0!important}.ml-lg-1{margin-left:.25rem!important}.ml-lg-2{margin-left:.5rem!important}.ml-lg-3{margin-left:1rem!important}.ml-lg-4{margin-left:1.5rem!important}.ml-lg-5{margin-left:3rem!important}.ml-lg-auto{margin-left:auto!important}.m-lg-n1{margin:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.m-lg-n3{margin:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mx-lg-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-lg-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-lg-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-lg-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-lg-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-lg-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-lg-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-lg-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-lg-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-lg-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-lg-n1{margin-top:-.25rem!important}.mt-lg-n2{margin-top:-.5rem!important}.mt-lg-n3{margin-top:-1rem!important}.mt-lg-n4{margin-top:-1.5rem!important}.mt-lg-n5{margin-top:-3rem!important}.mr-lg-n1{margin-right:-.25rem!important}.mr-lg-n2{margin-right:-.5rem!important}.mr-lg-n3{margin-right:-1rem!important}.mr-lg-n4{margin-right:-1.5rem!important}.mr-lg-n5{margin-right:-3rem!important}.mb-lg-n1{margin-bottom:-.25rem!important}.mb-lg-n2{margin-bottom:-.5rem!important}.mb-lg-n3{margin-bottom:-1rem!important}.mb-lg-n4{margin-bottom:-1.5rem!important}.mb-lg-n5{margin-bottom:-3rem!important}.ml-lg-n1{margin-left:-.25rem!important}.ml-lg-n2{margin-left:-.5rem!important}.ml-lg-n3{margin-left:-1rem!important}.ml-lg-n4{margin-left:-1.5rem!important}.ml-lg-n5{margin-left:-3rem!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pr-lg-0{padding-right:0!important}.pr-lg-1{padding-right:.25rem!important}.pr-lg-2{padding-right:.5rem!important}.pr-lg-3{padding-right:1rem!important}.pr-lg-4{padding-right:1.5rem!important}.pr-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.pl-lg-0{padding-left:0!important}.pl-lg-1{padding-left:.25rem!important}.pl-lg-2{padding-left:.5rem!important}.pl-lg-3{padding-left:1rem!important}.pl-lg-4{padding-left:1.5rem!important}.pl-lg-5{padding-left:3rem!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.mr-xl-0{margin-right:0!important}.mr-xl-1{margin-right:.25rem!important}.mr-xl-2{margin-right:.5rem!important}.mr-xl-3{margin-right:1rem!important}.mr-xl-4{margin-right:1.5rem!important}.mr-xl-5{margin-right:3rem!important}.mr-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ml-xl-0{margin-left:0!important}.ml-xl-1{margin-left:.25rem!important}.ml-xl-2{margin-left:.5rem!important}.ml-xl-3{margin-left:1rem!important}.ml-xl-4{margin-left:1.5rem!important}.ml-xl-5{margin-left:3rem!important}.ml-xl-auto{margin-left:auto!important}.m-xl-n1{margin:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.m-xl-n3{margin:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mx-xl-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-xl-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-xl-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-xl-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-xl-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-xl-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-xl-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-xl-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-xl-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-xl-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-xl-n1{margin-top:-.25rem!important}.mt-xl-n2{margin-top:-.5rem!important}.mt-xl-n3{margin-top:-1rem!important}.mt-xl-n4{margin-top:-1.5rem!important}.mt-xl-n5{margin-top:-3rem!important}.mr-xl-n1{margin-right:-.25rem!important}.mr-xl-n2{margin-right:-.5rem!important}.mr-xl-n3{margin-right:-1rem!important}.mr-xl-n4{margin-right:-1.5rem!important}.mr-xl-n5{margin-right:-3rem!important}.mb-xl-n1{margin-bottom:-.25rem!important}.mb-xl-n2{margin-bottom:-.5rem!important}.mb-xl-n3{margin-bottom:-1rem!important}.mb-xl-n4{margin-bottom:-1.5rem!important}.mb-xl-n5{margin-bottom:-3rem!important}.ml-xl-n1{margin-left:-.25rem!important}.ml-xl-n2{margin-left:-.5rem!important}.ml-xl-n3{margin-left:-1rem!important}.ml-xl-n4{margin-left:-1.5rem!important}.ml-xl-n5{margin-left:-3rem!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pr-xl-0{padding-right:0!important}.pr-xl-1{padding-right:.25rem!important}.pr-xl-2{padding-right:.5rem!important}.pr-xl-3{padding-right:1rem!important}.pr-xl-4{padding-right:1.5rem!important}.pr-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.pl-xl-0{padding-left:0!important}.pl-xl-1{padding-left:.25rem!important}.pl-xl-2{padding-left:.5rem!important}.pl-xl-3{padding-left:1rem!important}.pl-xl-4{padding-left:1.5rem!important}.pl-xl-5{padding-left:3rem!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}}
/*# sourceMappingURL=bootstrap-grid.min.css.map */ \ No newline at end of file
diff --git a/dist/css/bootstrap-grid.min.css.map b/dist/css/bootstrap-grid.min.css.map
index 7aa455605f..85a4b52c8f 100644
--- a/dist/css/bootstrap-grid.min.css.map
+++ b/dist/css/bootstrap-grid.min.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/bootstrap-grid.scss","dist/css/bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap Grid v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\nhtml {\n box-sizing: border-box;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@import \"functions\";\n@import \"variables\";\n\n@import \"mixins/breakpoints\";\n@import \"mixins/grid-framework\";\n@import \"mixins/grid\";\n@import \"mixins/utilities\";\n\n@import \"grid\";\n\n@import \"utilities\";\n// Only use the utilities we need\n// stylelint-disable-next-line scss/dollar-variable-default\n$utilities: map-get-multiple(\n $utilities,\n (\n \"display\",\n \"order\",\n \"flex\",\n \"flex-direction\",\n \"flex-grow\",\n \"flex-shrink\"\n \"flex-wrap\",\n \"justify-content\",\n \"align-items\",\n \"align-content\",\n \"align-self\",\n \"margin\",\n \"margin-x\",\n \"margin-y\",\n \"margin-top\",\n \"margin-right\",\n \"margin-bottom\",\n \"margin-left\",\n \"negative-margin\",\n \"negative-margin-x\",\n \"negative-margin-y\",\n \"negative-margin-top\",\n \"negative-margin-right\",\n \"negative-margin-bottom\",\n \"negative-margin-left\",\n \"padding\",\n \"padding-x\",\n \"padding-y\",\n \"padding-top\",\n \"padding-right\",\n \"padding-bottom\",\n \"padding-left\",\n )\n);\n\n@import \"utilities/api\";\n","/*!\n * Bootstrap Grid v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\nhtml {\n box-sizing: border-box;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid, .container-sm, .container-md, .container-lg, .container-xl {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.row-cols-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-md-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mr-3 {\n margin-right: 1rem !important;\n}\n\n.mr-4 {\n margin-right: 1.5rem !important;\n}\n\n.mr-5 {\n margin-right: 3rem !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.ml-3 {\n margin-left: 1rem !important;\n}\n\n.ml-4 {\n margin-left: 1.5rem !important;\n}\n\n.ml-5 {\n margin-left: 3rem !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mx-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n}\n\n.mx-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n}\n\n.mx-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n}\n\n.mx-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n}\n\n.mx-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n}\n\n.my-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n}\n\n.my-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n}\n\n.my-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n}\n\n.my-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n}\n\n.my-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n}\n\n.mt-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mt-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mt-n3 {\n margin-top: -1rem !important;\n}\n\n.mt-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mt-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mr-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mr-n3 {\n margin-right: -1rem !important;\n}\n\n.mr-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mr-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.mb-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.mb-n3 {\n margin-bottom: -1rem !important;\n}\n\n.mb-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.mb-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n1 {\n margin-left: -0.25rem !important;\n}\n\n.ml-n2 {\n margin-left: -0.5rem !important;\n}\n\n.ml-n3 {\n margin-left: -1rem !important;\n}\n\n.ml-n4 {\n margin-left: -1.5rem !important;\n}\n\n.ml-n5 {\n margin-left: -3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pr-3 {\n padding-right: 1rem !important;\n}\n\n.pr-4 {\n padding-right: 1.5rem !important;\n}\n\n.pr-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.pl-3 {\n padding-left: 1rem !important;\n}\n\n.pl-4 {\n padding-left: 1.5rem !important;\n}\n\n.pl-5 {\n padding-left: 3rem !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-0 {\n margin-right: 0 !important;\n }\n .mr-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mr-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mr-sm-3 {\n margin-right: 1rem !important;\n }\n .mr-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mr-sm-5 {\n margin-right: 3rem !important;\n }\n .mr-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-0 {\n margin-left: 0 !important;\n }\n .ml-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ml-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ml-sm-3 {\n margin-left: 1rem !important;\n }\n .ml-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ml-sm-5 {\n margin-left: 3rem !important;\n }\n .ml-sm-auto {\n margin-left: auto !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-sm-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-sm-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-sm-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-sm-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-sm-n3 {\n margin-top: -1rem !important;\n }\n .mt-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-sm-n3 {\n margin-right: -1rem !important;\n }\n .mr-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-sm-n3 {\n margin-left: -1rem !important;\n }\n .ml-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-sm-n5 {\n margin-left: -3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-0 {\n padding-right: 0 !important;\n }\n .pr-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pr-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pr-sm-3 {\n padding-right: 1rem !important;\n }\n .pr-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pr-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-0 {\n padding-left: 0 !important;\n }\n .pl-sm-1 {\n padding-left: 0.25rem !important;\n }\n .pl-sm-2 {\n padding-left: 0.5rem !important;\n }\n .pl-sm-3 {\n padding-left: 1rem !important;\n }\n .pl-sm-4 {\n padding-left: 1.5rem !important;\n }\n .pl-sm-5 {\n padding-left: 3rem !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .mr-md-0 {\n margin-right: 0 !important;\n }\n .mr-md-1 {\n margin-right: 0.25rem !important;\n }\n .mr-md-2 {\n margin-right: 0.5rem !important;\n }\n .mr-md-3 {\n margin-right: 1rem !important;\n }\n .mr-md-4 {\n margin-right: 1.5rem !important;\n }\n .mr-md-5 {\n margin-right: 3rem !important;\n }\n .mr-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-0 {\n margin-left: 0 !important;\n }\n .ml-md-1 {\n margin-left: 0.25rem !important;\n }\n .ml-md-2 {\n margin-left: 0.5rem !important;\n }\n .ml-md-3 {\n margin-left: 1rem !important;\n }\n .ml-md-4 {\n margin-left: 1.5rem !important;\n }\n .ml-md-5 {\n margin-left: 3rem !important;\n }\n .ml-md-auto {\n margin-left: auto !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-md-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-md-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-md-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-md-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-md-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-md-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-md-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-md-n3 {\n margin-top: -1rem !important;\n }\n .mt-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-md-n3 {\n margin-right: -1rem !important;\n }\n .mr-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-md-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-md-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-md-n3 {\n margin-left: -1rem !important;\n }\n .ml-md-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-md-n5 {\n margin-left: -3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-0 {\n padding-right: 0 !important;\n }\n .pr-md-1 {\n padding-right: 0.25rem !important;\n }\n .pr-md-2 {\n padding-right: 0.5rem !important;\n }\n .pr-md-3 {\n padding-right: 1rem !important;\n }\n .pr-md-4 {\n padding-right: 1.5rem !important;\n }\n .pr-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-0 {\n padding-left: 0 !important;\n }\n .pl-md-1 {\n padding-left: 0.25rem !important;\n }\n .pl-md-2 {\n padding-left: 0.5rem !important;\n }\n .pl-md-3 {\n padding-left: 1rem !important;\n }\n .pl-md-4 {\n padding-left: 1.5rem !important;\n }\n .pl-md-5 {\n padding-left: 3rem !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-0 {\n margin-right: 0 !important;\n }\n .mr-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mr-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mr-lg-3 {\n margin-right: 1rem !important;\n }\n .mr-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mr-lg-5 {\n margin-right: 3rem !important;\n }\n .mr-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-0 {\n margin-left: 0 !important;\n }\n .ml-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ml-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ml-lg-3 {\n margin-left: 1rem !important;\n }\n .ml-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ml-lg-5 {\n margin-left: 3rem !important;\n }\n .ml-lg-auto {\n margin-left: auto !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-lg-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-lg-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-lg-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-lg-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-lg-n3 {\n margin-top: -1rem !important;\n }\n .mt-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-lg-n3 {\n margin-right: -1rem !important;\n }\n .mr-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-lg-n3 {\n margin-left: -1rem !important;\n }\n .ml-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-lg-n5 {\n margin-left: -3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-0 {\n padding-right: 0 !important;\n }\n .pr-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pr-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pr-lg-3 {\n padding-right: 1rem !important;\n }\n .pr-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pr-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-0 {\n padding-left: 0 !important;\n }\n .pl-lg-1 {\n padding-left: 0.25rem !important;\n }\n .pl-lg-2 {\n padding-left: 0.5rem !important;\n }\n .pl-lg-3 {\n padding-left: 1rem !important;\n }\n .pl-lg-4 {\n padding-left: 1.5rem !important;\n }\n .pl-lg-5 {\n padding-left: 3rem !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-0 {\n margin-right: 0 !important;\n }\n .mr-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mr-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mr-xl-3 {\n margin-right: 1rem !important;\n }\n .mr-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mr-xl-5 {\n margin-right: 3rem !important;\n }\n .mr-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-0 {\n margin-left: 0 !important;\n }\n .ml-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ml-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ml-xl-3 {\n margin-left: 1rem !important;\n }\n .ml-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ml-xl-5 {\n margin-left: 3rem !important;\n }\n .ml-xl-auto {\n margin-left: auto !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-xl-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-xl-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-xl-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-xl-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-xl-n3 {\n margin-top: -1rem !important;\n }\n .mt-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-xl-n3 {\n margin-right: -1rem !important;\n }\n .mr-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-xl-n3 {\n margin-left: -1rem !important;\n }\n .ml-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-xl-n5 {\n margin-left: -3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-0 {\n padding-right: 0 !important;\n }\n .pr-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pr-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pr-xl-3 {\n padding-right: 1rem !important;\n }\n .pr-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pr-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-0 {\n padding-left: 0 !important;\n }\n .pl-xl-1 {\n padding-left: 0.25rem !important;\n }\n .pl-xl-2 {\n padding-left: 0.5rem !important;\n }\n .pl-xl-3 {\n padding-left: 1rem !important;\n }\n .pl-xl-4 {\n padding-left: 1.5rem !important;\n }\n .pl-xl-5 {\n padding-left: 3rem !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n @each $name, $width in $grid-breakpoints {\n @if ($container-max-width > $width or $breakpoint == $name) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n }\n }\n }\n }\n}\n\n\n// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container($padding-x: $container-padding-x) {\n width: 100%;\n padding-right: $padding-x;\n padding-left: $padding-x;\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter / 2;\n margin-left: -$gutter / 2;\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n & > * {\n flex: 0 0 100% / $count;\n max-width: 100% / $count;\n }\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (eg. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n // stylelint-disable-next-line declaration-no-important\n #{$property}: $value !important;\n }\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file
+{"version":3,"sources":["../../scss/bootstrap-grid.scss","../../scss/_containers.scss","../../scss/mixins/_container.scss","../../scss/mixins/_breakpoints.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","dist/css/bootstrap-grid.css","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"AAAA;;;;;ACME,WCHA,MAAA,KACA,cAAA,KACA,aAAA,KACA,aAAA,KACA,YAAA,KCwDE,yBFzDF,WCSI,UAAA,OCgDF,yBFzDF,WCSI,UAAA,OCgDF,yBFzDF,WCSI,UAAA,OCgDF,0BFzDF,WCSI,UAAA,QDHJ,iBAAA,cAAA,cAAA,cAAA,cCTA,MAAA,KACA,cAAA,KACA,aAAA,KACA,aAAA,KACA,YAAA,KCwDE,yBFxCE,WAAA,cACE,UAAA,OEuCJ,yBFxCE,WAAA,cAAA,cACE,UAAA,OEuCJ,yBFxCE,WAAA,cAAA,cAAA,cACE,UAAA,OEuCJ,0BFxCE,WAAA,cAAA,cAAA,cAAA,cACE,UAAA,QGnBN,KCAA,QAAA,KACA,UAAA,KACA,aAAA,QACA,YAAA,QDHA,OCQA,WAAA,WAIA,YAAA,EACA,MAAA,KACA,UAAA,KACA,cAAA,OACA,aAAA,ODIM,KE8DR,MF5DU,aAAA,EACA,YAAA,EAHF,OEoER,QF9DY,cAAA,EACA,aAAA,EAIJ,KE+DR,MF7DU,WAAA,EAFF,OEoER,QF/DY,WAAA,EAhBJ,KEoFR,MFlFU,aAAA,SACA,YAAA,SAHF,OE0FR,QFpFY,cAAA,QACA,aAAA,QAIJ,KEqFR,MFnFU,WAAA,QAFF,OE0FR,QFrFY,WAAA,OAhBJ,KE0GR,MFxGU,aAAA,QACA,YAAA,QAHF,OEgHR,QF1GY,cAAA,OACA,aAAA,OAIJ,KE2GR,MFzGU,WAAA,OAFF,OEgHR,QF3GY,WAAA,MAhBJ,KEgIR,MF9HU,aAAA,OACA,YAAA,OAHF,OEsIR,QFhIY,cAAA,MACA,aAAA,MAIJ,KEiIR,MF/HU,WAAA,MAFF,OEsIR,QFjIY,WAAA,KAhBJ,KEsJR,MFpJU,aAAA,QACA,YAAA,QAHF,OE4JR,QFtJY,cAAA,OACA,aAAA,OAIJ,KEuJR,MFrJU,WAAA,QAFF,OE4JR,QFvJY,WAAA,OAhBJ,KE4KR,MF1KU,aAAA,QACA,YAAA,QAHF,OEkLR,QF5KY,cAAA,OACA,aAAA,OAIJ,KE6KR,MF3KU,WAAA,MAFF,OEkLR,QF7KY,WAAA,KDsBR,yBCtCI,QEmMN,SFjMQ,aAAA,EACA,YAAA,EAHF,UEwMN,WFlMU,cAAA,EACA,aAAA,EAIJ,QEkMN,SFhMQ,WAAA,EAFF,UEsMN,WFjMU,WAAA,EAhBJ,QEqNN,SFnNQ,aAAA,SACA,YAAA,SAHF,UE0NN,WFpNU,cAAA,QACA,aAAA,QAIJ,QEoNN,SFlNQ,WAAA,QAFF,UEwNN,WFnNU,WAAA,OAhBJ,QEuON,SFrOQ,aAAA,QACA,YAAA,QAHF,UE4ON,WFtOU,cAAA,OACA,aAAA,OAIJ,QEsON,SFpOQ,WAAA,OAFF,UE0ON,WFrOU,WAAA,MAhBJ,QEyPN,SFvPQ,aAAA,OACA,YAAA,OAHF,UE8PN,WFxPU,cAAA,MACA,aAAA,MAIJ,QEwPN,SFtPQ,WAAA,MAFF,UE4PN,WFvPU,WAAA,KAhBJ,QE2QN,SFzQQ,aAAA,QACA,YAAA,QAHF,UEgRN,WF1QU,cAAA,OACA,aAAA,OAIJ,QE0QN,SFxQQ,WAAA,QAFF,UE8QN,WFzQU,WAAA,OAhBJ,QE6RN,SF3RQ,aAAA,QACA,YAAA,QAHF,UEkSN,WF5RU,cAAA,OACA,aAAA,OAIJ,QE4RN,SF1RQ,WAAA,MAFF,UEgSN,WF3RU,WAAA,MDsBR,yBCtCI,QEkTN,SFhTQ,aAAA,EACA,YAAA,EAHF,UEuTN,WFjTU,cAAA,EACA,aAAA,EAIJ,QEiTN,SF/SQ,WAAA,EAFF,UEqTN,WFhTU,WAAA,EAhBJ,QEoUN,SFlUQ,aAAA,SACA,YAAA,SAHF,UEyUN,WFnUU,cAAA,QACA,aAAA,QAIJ,QEmUN,SFjUQ,WAAA,QAFF,UEuUN,WFlUU,WAAA,OAhBJ,QEsVN,SFpVQ,aAAA,QACA,YAAA,QAHF,UE2VN,WFrVU,cAAA,OACA,aAAA,OAIJ,QEqVN,SFnVQ,WAAA,OAFF,UEyVN,WFpVU,WAAA,MAhBJ,QEwWN,SFtWQ,aAAA,OACA,YAAA,OAHF,UE6WN,WFvWU,cAAA,MACA,aAAA,MAIJ,QEuWN,SFrWQ,WAAA,MAFF,UE2WN,WFtWU,WAAA,KAhBJ,QE0XN,SFxXQ,aAAA,QACA,YAAA,QAHF,UE+XN,WFzXU,cAAA,OACA,aAAA,OAIJ,QEyXN,SFvXQ,WAAA,QAFF,UE6XN,WFxXU,WAAA,OAhBJ,QE4YN,SF1YQ,aAAA,QACA,YAAA,QAHF,UEiZN,WF3YU,cAAA,OACA,aAAA,OAIJ,QE2YN,SFzYQ,WAAA,MAFF,UE+YN,WF1YU,WAAA,MDsBR,yBCtCI,QEiaN,SF/ZQ,aAAA,EACA,YAAA,EAHF,UEsaN,WFhaU,cAAA,EACA,aAAA,EAIJ,QEgaN,SF9ZQ,WAAA,EAFF,UEoaN,WF/ZU,WAAA,EAhBJ,QEmbN,SFjbQ,aAAA,SACA,YAAA,SAHF,UEwbN,WFlbU,cAAA,QACA,aAAA,QAIJ,QEkbN,SFhbQ,WAAA,QAFF,UEsbN,WFjbU,WAAA,OAhBJ,QEqcN,SFncQ,aAAA,QACA,YAAA,QAHF,UE0cN,WFpcU,cAAA,OACA,aAAA,OAIJ,QEocN,SFlcQ,WAAA,OAFF,UEwcN,WFncU,WAAA,MAhBJ,QEudN,SFrdQ,aAAA,OACA,YAAA,OAHF,UE4dN,WFtdU,cAAA,MACA,aAAA,MAIJ,QEsdN,SFpdQ,WAAA,MAFF,UE0dN,WFrdU,WAAA,KAhBJ,QEyeN,SFveQ,aAAA,QACA,YAAA,QAHF,UE8eN,WFxeU,cAAA,OACA,aAAA,OAIJ,QEweN,SFteQ,WAAA,QAFF,UE4eN,WFveU,WAAA,OAhBJ,QE2fN,SFzfQ,aAAA,QACA,YAAA,QAHF,UEggBN,WF1fU,cAAA,OACA,aAAA,OAIJ,QE0fN,SFxfQ,WAAA,MAFF,UE8fN,WFzfU,WAAA,MDsBR,0BCtCI,QEghBN,SF9gBQ,aAAA,EACA,YAAA,EAHF,UEqhBN,WF/gBU,cAAA,EACA,aAAA,EAIJ,QE+gBN,SF7gBQ,WAAA,EAFF,UEmhBN,WF9gBU,WAAA,EAhBJ,QEkiBN,SFhiBQ,aAAA,SACA,YAAA,SAHF,UEuiBN,WFjiBU,cAAA,QACA,aAAA,QAIJ,QEiiBN,SF/hBQ,WAAA,QAFF,UEqiBN,WFhiBU,WAAA,OAhBJ,QEojBN,SFljBQ,aAAA,QACA,YAAA,QAHF,UEyjBN,WFnjBU,cAAA,OACA,aAAA,OAIJ,QEmjBN,SFjjBQ,WAAA,OAFF,UEujBN,WFljBU,WAAA,MAhBJ,QEskBN,SFpkBQ,aAAA,OACA,YAAA,OAHF,UE2kBN,WFrkBU,cAAA,MACA,aAAA,MAIJ,QEqkBN,SFnkBQ,WAAA,MAFF,UEykBN,WFpkBU,WAAA,KAhBJ,QEwlBN,SFtlBQ,aAAA,QACA,YAAA,QAHF,UE6lBN,WFvlBU,cAAA,OACA,aAAA,OAIJ,QEulBN,SFrlBQ,WAAA,QAFF,UE2lBN,WFtlBU,WAAA,OAhBJ,QE0mBN,SFxmBQ,aAAA,QACA,YAAA,QAHF,UE+mBN,WFzmBU,cAAA,OACA,aAAA,OAIJ,QEymBN,SFvmBQ,WAAA,MAFF,UE6mBN,WFxmBU,WAAA,MCqBN,KACE,KAAA,EAAA,EAAA,GACA,UAAA,EAGF,iBArCJ,KAAA,EAAA,EAAA,KACA,MAAA,KAcA,cACE,KAAA,EAAA,EAAA,KACA,MAAA,KAFF,cACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,cACE,KAAA,EAAA,EAAA,KACA,MAAA,WAFF,cACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,cACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,cACE,KAAA,EAAA,EAAA,KACA,MAAA,WA8BE,UA/CJ,KAAA,EAAA,EAAA,KACA,MAAA,KAmDM,OAzDN,KAAA,EAAA,EAAA,KACA,MAAA,UAwDM,OAzDN,KAAA,EAAA,EAAA,KACA,MAAA,WAwDM,OAzDN,KAAA,EAAA,EAAA,KACA,MAAA,IAwDM,OAzDN,KAAA,EAAA,EAAA,KACA,MAAA,WAwDM,OAzDN,KAAA,EAAA,EAAA,KACA,MAAA,WAwDM,OAzDN,KAAA,EAAA,EAAA,KACA,MAAA,IAwDM,OAzDN,KAAA,EAAA,EAAA,KACA,MAAA,WAwDM,OAzDN,KAAA,EAAA,EAAA,KACA,MAAA,WAwDM,OAzDN,KAAA,EAAA,EAAA,KACA,MAAA,IAwDM,QAzDN,KAAA,EAAA,EAAA,KACA,MAAA,WAwDM,QAzDN,KAAA,EAAA,EAAA,KACA,MAAA,WAwDM,QAzDN,KAAA,EAAA,EAAA,KACA,MAAA,KAgEQ,UAtDR,YAAA,UAsDQ,UAtDR,YAAA,WAsDQ,UAtDR,YAAA,IAsDQ,UAtDR,YAAA,WAsDQ,UAtDR,YAAA,WAsDQ,UAtDR,YAAA,IAsDQ,UAtDR,YAAA,WAsDQ,UAtDR,YAAA,WAsDQ,UAtDR,YAAA,IAsDQ,WAtDR,YAAA,WAsDQ,WAtDR,YAAA,WF2BE,yBEDE,QACE,KAAA,EAAA,EAAA,GACA,UAAA,EAGF,oBArCJ,KAAA,EAAA,EAAA,KACA,MAAA,KAcA,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,KAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,WAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,WA8BE,aA/CJ,KAAA,EAAA,EAAA,KACA,MAAA,KAmDM,UAzDN,KAAA,EAAA,EAAA,KACA,MAAA,UAwDM,UAzDN,KAAA,EAAA,EAAA,KACA,MAAA,WAwDM,UAzDN,KAAA,EAAA,EAAA,KACA,MAAA,IAwDM,UAzDN,KAAA,EAAA,EAAA,KACA,MAAA,WAwDM,UAzDN,KAAA,EAAA,EAAA,KACA,MAAA,WAwDM,UAzDN,KAAA,EAAA,EAAA,KACA,MAAA,IAwDM,UAzDN,KAAA,EAAA,EAAA,KACA,MAAA,WAwDM,UAzDN,KAAA,EAAA,EAAA,KACA,MAAA,WAwDM,UAzDN,KAAA,EAAA,EAAA,KACA,MAAA,IAwDM,WAzDN,KAAA,EAAA,EAAA,KACA,MAAA,WAwDM,WAzDN,KAAA,EAAA,EAAA,KACA,MAAA,WAwDM,WAzDN,KAAA,EAAA,EAAA,KACA,MAAA,KAgEQ,aAtDR,YAAA,EAsDQ,aAtDR,YAAA,UAsDQ,aAtDR,YAAA,WAsDQ,aAtDR,YAAA,IAsDQ,aAtDR,YAAA,WAsDQ,aAtDR,YAAA,WAsDQ,aAtDR,YAAA,IAsDQ,aAtDR,YAAA,WAsDQ,aAtDR,YAAA,WAsDQ,aAtDR,YAAA,IAsDQ,cAtDR,YAAA,WAsDQ,cAtDR,YAAA,YF2BE,yBEDE,QACE,KAAA,EAAA,EAAA,GACA,UAAA,EAGF,oBArCJ,KAAA,EAAA,EAAA,KACA,MAAA,KAcA,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,KAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,WAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,WA8BE,aA/CJ,KAAA,EAAA,EAAA,KACA,MAAA,KAmDM,UAzDN,KAAA,EAAA,EAAA,KACA,MAAA,UAwDM,UAzDN,KAAA,EAAA,EAAA,KACA,MAAA,WAwDM,UAzDN,KAAA,EAAA,EAAA,KACA,MAAA,IAwDM,UAzDN,KAAA,EAAA,EAAA,KACA,MAAA,WAwDM,UAzDN,KAAA,EAAA,EAAA,KACA,MAAA,WAwDM,UAzDN,KAAA,EAAA,EAAA,KACA,MAAA,IAwDM,UAzDN,KAAA,EAAA,EAAA,KACA,MAAA,WAwDM,UAzDN,KAAA,EAAA,EAAA,KACA,MAAA,WAwDM,UAzDN,KAAA,EAAA,EAAA,KACA,MAAA,IAwDM,WAzDN,KAAA,EAAA,EAAA,KACA,MAAA,WAwDM,WAzDN,KAAA,EAAA,EAAA,KACA,MAAA,WAwDM,WAzDN,KAAA,EAAA,EAAA,KACA,MAAA,KAgEQ,aAtDR,YAAA,EAsDQ,aAtDR,YAAA,UAsDQ,aAtDR,YAAA,WAsDQ,aAtDR,YAAA,IAsDQ,aAtDR,YAAA,WAsDQ,aAtDR,YAAA,WAsDQ,aAtDR,YAAA,IAsDQ,aAtDR,YAAA,WAsDQ,aAtDR,YAAA,WAsDQ,aAtDR,YAAA,IAsDQ,cAtDR,YAAA,WAsDQ,cAtDR,YAAA,YF2BE,yBEDE,QACE,KAAA,EAAA,EAAA,GACA,UAAA,EAGF,oBArCJ,KAAA,EAAA,EAAA,KACA,MAAA,KAcA,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,KAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,WAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,WA8BE,aA/CJ,KAAA,EAAA,EAAA,KACA,MAAA,KAmDM,UAzDN,KAAA,EAAA,EAAA,KACA,MAAA,UAwDM,UAzDN,KAAA,EAAA,EAAA,KACA,MAAA,WAwDM,UAzDN,KAAA,EAAA,EAAA,KACA,MAAA,IAwDM,UAzDN,KAAA,EAAA,EAAA,KACA,MAAA,WAwDM,UAzDN,KAAA,EAAA,EAAA,KACA,MAAA,WAwDM,UAzDN,KAAA,EAAA,EAAA,KACA,MAAA,IAwDM,UAzDN,KAAA,EAAA,EAAA,KACA,MAAA,WAwDM,UAzDN,KAAA,EAAA,EAAA,KACA,MAAA,WAwDM,UAzDN,KAAA,EAAA,EAAA,KACA,MAAA,IAwDM,WAzDN,KAAA,EAAA,EAAA,KACA,MAAA,WAwDM,WAzDN,KAAA,EAAA,EAAA,KACA,MAAA,WAwDM,WAzDN,KAAA,EAAA,EAAA,KACA,MAAA,KAgEQ,aAtDR,YAAA,EAsDQ,aAtDR,YAAA,UAsDQ,aAtDR,YAAA,WAsDQ,aAtDR,YAAA,IAsDQ,aAtDR,YAAA,WAsDQ,aAtDR,YAAA,WAsDQ,aAtDR,YAAA,IAsDQ,aAtDR,YAAA,WAsDQ,aAtDR,YAAA,WAsDQ,aAtDR,YAAA,IAsDQ,cAtDR,YAAA,WAsDQ,cAtDR,YAAA,YF2BE,0BEDE,QACE,KAAA,EAAA,EAAA,GACA,UAAA,EAGF,oBArCJ,KAAA,EAAA,EAAA,KACA,MAAA,KAcA,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,KAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,WAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,WA8BE,aA/CJ,KAAA,EAAA,EAAA,KACA,MAAA,KAmDM,UAzDN,KAAA,EAAA,EAAA,KACA,MAAA,UAwDM,UAzDN,KAAA,EAAA,EAAA,KACA,MAAA,WAwDM,UAzDN,KAAA,EAAA,EAAA,KACA,MAAA,IAwDM,UAzDN,KAAA,EAAA,EAAA,KACA,MAAA,WAwDM,UAzDN,KAAA,EAAA,EAAA,KACA,MAAA,WAwDM,UAzDN,KAAA,EAAA,EAAA,KACA,MAAA,IAwDM,UAzDN,KAAA,EAAA,EAAA,KACA,MAAA,WAwDM,UAzDN,KAAA,EAAA,EAAA,KACA,MAAA,WAwDM,UAzDN,KAAA,EAAA,EAAA,KACA,MAAA,IAwDM,WAzDN,KAAA,EAAA,EAAA,KACA,MAAA,WAwDM,WAzDN,KAAA,EAAA,EAAA,KACA,MAAA,WAwDM,WAzDN,KAAA,EAAA,EAAA,KACA,MAAA,KAgEQ,aAtDR,YAAA,EAsDQ,aAtDR,YAAA,UAsDQ,aAtDR,YAAA,WAsDQ,aAtDR,YAAA,IAsDQ,aAtDR,YAAA,WAsDQ,aAtDR,YAAA,WAsDQ,aAtDR,YAAA,IAsDQ,aAtDR,YAAA,WAsDQ,aAtDR,YAAA,WAsDQ,aAtDR,YAAA,IAsDQ,cAtDR,YAAA,WAsDQ,cAtDR,YAAA,YEKI,QAEI,QAAA,eAFJ,UAEI,QAAA,iBAFJ,gBAEI,QAAA,uBAFJ,SAEI,QAAA,gBAFJ,SAEI,QAAA,gBAFJ,aAEI,QAAA,oBAFJ,cAEI,QAAA,qBAFJ,QAEI,QAAA,eAFJ,eAEI,QAAA,sBAFJ,WAEI,KAAA,EAAA,EAAA,eAFJ,UAEI,eAAA,cAFJ,aAEI,eAAA,iBAFJ,kBAEI,eAAA,sBAFJ,qBAEI,eAAA,yBAFJ,aAEI,UAAA,YAFJ,aAEI,UAAA,YAFJ,uBAEI,gBAAA,qBAFJ,qBAEI,gBAAA,mBAFJ,wBAEI,gBAAA,iBAFJ,yBAEI,gBAAA,wBAFJ,wBAEI,gBAAA,uBAFJ,mBAEI,YAAA,qBAFJ,iBAEI,YAAA,mBAFJ,oBAEI,YAAA,iBAFJ,sBAEI,YAAA,mBAFJ,qBAEI,YAAA,kBAFJ,qBAEI,cAAA,qBAFJ,mBAEI,cAAA,mBAFJ,sBAEI,cAAA,iBAFJ,uBAEI,cAAA,wBAFJ,sBAEI,cAAA,uBAFJ,uBAEI,cAAA,kBAFJ,iBAEI,WAAA,eAFJ,kBAEI,WAAA,qBAFJ,gBAEI,WAAA,mBAFJ,mBAEI,WAAA,iBAFJ,qBAEI,WAAA,mBAFJ,oBAEI,WAAA,kBAFJ,aAEI,MAAA,aAFJ,SAEI,MAAA,YAFJ,SAEI,MAAA,YAFJ,SAEI,MAAA,YAFJ,SAEI,MAAA,YAFJ,SAEI,MAAA,YAFJ,SAEI,MAAA,YAFJ,YAEI,MAAA,YAFJ,KAEI,OAAA,YAFJ,KAEI,OAAA,iBAFJ,KAEI,OAAA,gBAFJ,KAEI,OAAA,eAFJ,KAEI,OAAA,iBAFJ,KAEI,OAAA,eAFJ,QAEI,OAAA,eAFJ,MAEI,aAAA,YAAA,YAAA,YAFJ,MAEI,aAAA,iBAAA,YAAA,iBAFJ,MAEI,aAAA,gBAAA,YAAA,gBAFJ,MAEI,aAAA,eAAA,YAAA,eAFJ,MAEI,aAAA,iBAAA,YAAA,iBAFJ,MAEI,aAAA,eAAA,YAAA,eAFJ,SAEI,aAAA,eAAA,YAAA,eAFJ,MAEI,WAAA,YAAA,cAAA,YAFJ,MAEI,WAAA,iBAAA,cAAA,iBAFJ,MAEI,WAAA,gBAAA,cAAA,gBAFJ,MAEI,WAAA,eAAA,cAAA,eAFJ,MAEI,WAAA,iBAAA,cAAA,iBAFJ,MAEI,WAAA,eAAA,cAAA,eAFJ,SAEI,WAAA,eAAA,cAAA,eAFJ,MAEI,WAAA,YAFJ,MAEI,WAAA,iBAFJ,MAEI,WAAA,gBAFJ,MAEI,WAAA,eAFJ,MAEI,WAAA,iBAFJ,MAEI,WAAA,eAFJ,SAEI,WAAA,eAFJ,MAEI,aAAA,YAFJ,MAEI,aAAA,iBAFJ,MAEI,aAAA,gBAFJ,MAEI,aAAA,eAFJ,MAEI,aAAA,iBAFJ,MAEI,aAAA,eAFJ,SAEI,aAAA,eAFJ,MAEI,cAAA,YAFJ,MAEI,cAAA,iBAFJ,MAEI,cAAA,gBAFJ,MAEI,cAAA,eAFJ,MAEI,cAAA,iBAFJ,MAEI,cAAA,eAFJ,SAEI,cAAA,eAFJ,MAEI,YAAA,YAFJ,MAEI,YAAA,iBAFJ,MAEI,YAAA,gBAFJ,MAEI,YAAA,eAFJ,MAEI,YAAA,iBAFJ,MAEI,YAAA,eAFJ,SAEI,YAAA,eAFJ,MAEI,OAAA,kBAFJ,MAEI,OAAA,iBAFJ,MAEI,OAAA,gBAFJ,MAEI,OAAA,kBAFJ,MAEI,OAAA,gBAFJ,OAEI,aAAA,kBAAA,YAAA,kBAFJ,OAEI,aAAA,iBAAA,YAAA,iBAFJ,OAEI,aAAA,gBAAA,YAAA,gBAFJ,OAEI,aAAA,kBAAA,YAAA,kBAFJ,OAEI,aAAA,gBAAA,YAAA,gBAFJ,OAEI,WAAA,kBAAA,cAAA,kBAFJ,OAEI,WAAA,iBAAA,cAAA,iBAFJ,OAEI,WAAA,gBAAA,cAAA,gBAFJ,OAEI,WAAA,kBAAA,cAAA,kBAFJ,OAEI,WAAA,gBAAA,cAAA,gBAFJ,OAEI,WAAA,kBAFJ,OAEI,WAAA,iBAFJ,OAEI,WAAA,gBAFJ,OAEI,WAAA,kBAFJ,OAEI,WAAA,gBAFJ,OAEI,aAAA,kBAFJ,OAEI,aAAA,iBAFJ,OAEI,aAAA,gBAFJ,OAEI,aAAA,kBAFJ,OAEI,aAAA,gBAFJ,OAEI,cAAA,kBAFJ,OAEI,cAAA,iBAFJ,OAEI,cAAA,gBAFJ,OAEI,cAAA,kBAFJ,OAEI,cAAA,gBAFJ,OAEI,YAAA,kBAFJ,OAEI,YAAA,iBAFJ,OAEI,YAAA,gBAFJ,OAEI,YAAA,kBAFJ,OAEI,YAAA,gBAFJ,KAEI,QAAA,YAFJ,KAEI,QAAA,iBAFJ,KAEI,QAAA,gBAFJ,KAEI,QAAA,eAFJ,KAEI,QAAA,iBAFJ,KAEI,QAAA,eAFJ,MAEI,cAAA,YAAA,aAAA,YAFJ,MAEI,cAAA,iBAAA,aAAA,iBAFJ,MAEI,cAAA,gBAAA,aAAA,gBAFJ,MAEI,cAAA,eAAA,aAAA,eAFJ,MAEI,cAAA,iBAAA,aAAA,iBAFJ,MAEI,cAAA,eAAA,aAAA,eAFJ,MAEI,YAAA,YAAA,eAAA,YAFJ,MAEI,YAAA,iBAAA,eAAA,iBAFJ,MAEI,YAAA,gBAAA,eAAA,gBAFJ,MAEI,YAAA,eAAA,eAAA,eAFJ,MAEI,YAAA,iBAAA,eAAA,iBAFJ,MAEI,YAAA,eAAA,eAAA,eAFJ,MAEI,YAAA,YAFJ,MAEI,YAAA,iBAFJ,MAEI,YAAA,gBAFJ,MAEI,YAAA,eAFJ,MAEI,YAAA,iBAFJ,MAEI,YAAA,eAFJ,MAEI,cAAA,YAFJ,MAEI,cAAA,iBAFJ,MAEI,cAAA,gBAFJ,MAEI,cAAA,eAFJ,MAEI,cAAA,iBAFJ,MAEI,cAAA,eAFJ,MAEI,eAAA,YAFJ,MAEI,eAAA,iBAFJ,MAEI,eAAA,gBAFJ,MAEI,eAAA,eAFJ,MAEI,eAAA,iBAFJ,MAEI,eAAA,eAFJ,MAEI,aAAA,YAFJ,MAEI,aAAA,iBAFJ,MAEI,aAAA,gBAFJ,MAEI,aAAA,eAFJ,MAEI,aAAA,iBAFJ,MAEI,aAAA,eJoBN,yBItBE,WAEI,QAAA,eAFJ,aAEI,QAAA,iBAFJ,mBAEI,QAAA,uBAFJ,YAEI,QAAA,gBAFJ,YAEI,QAAA,gBAFJ,gBAEI,QAAA,oBAFJ,iBAEI,QAAA,qBAFJ,WAEI,QAAA,eAFJ,kBAEI,QAAA,sBAFJ,cAEI,KAAA,EAAA,EAAA,eAFJ,aAEI,eAAA,cAFJ,gBAEI,eAAA,iBAFJ,qBAEI,eAAA,sBAFJ,wBAEI,eAAA,yBAFJ,gBAEI,UAAA,YAFJ,gBAEI,UAAA,YAFJ,0BAEI,gBAAA,qBAFJ,wBAEI,gBAAA,mBAFJ,2BAEI,gBAAA,iBAFJ,4BAEI,gBAAA,wBAFJ,2BAEI,gBAAA,uBAFJ,sBAEI,YAAA,qBAFJ,oBAEI,YAAA,mBAFJ,uBAEI,YAAA,iBAFJ,yBAEI,YAAA,mBAFJ,wBAEI,YAAA,kBAFJ,wBAEI,cAAA,qBAFJ,sBAEI,cAAA,mBAFJ,yBAEI,cAAA,iBAFJ,0BAEI,cAAA,wBAFJ,yBAEI,cAAA,uBAFJ,0BAEI,cAAA,kBAFJ,oBAEI,WAAA,eAFJ,qBAEI,WAAA,qBAFJ,mBAEI,WAAA,mBAFJ,sBAEI,WAAA,iBAFJ,wBAEI,WAAA,mBAFJ,uBAEI,WAAA,kBAFJ,gBAEI,MAAA,aAFJ,YAEI,MAAA,YAFJ,YAEI,MAAA,YAFJ,YAEI,MAAA,YAFJ,YAEI,MAAA,YAFJ,YAEI,MAAA,YAFJ,YAEI,MAAA,YAFJ,eAEI,MAAA,YAFJ,QAEI,OAAA,YAFJ,QAEI,OAAA,iBAFJ,QAEI,OAAA,gBAFJ,QAEI,OAAA,eAFJ,QAEI,OAAA,iBAFJ,QAEI,OAAA,eAFJ,WAEI,OAAA,eAFJ,SAEI,aAAA,YAAA,YAAA,YAFJ,SAEI,aAAA,iBAAA,YAAA,iBAFJ,SAEI,aAAA,gBAAA,YAAA,gBAFJ,SAEI,aAAA,eAAA,YAAA,eAFJ,SAEI,aAAA,iBAAA,YAAA,iBAFJ,SAEI,aAAA,eAAA,YAAA,eAFJ,YAEI,aAAA,eAAA,YAAA,eAFJ,SAEI,WAAA,YAAA,cAAA,YAFJ,SAEI,WAAA,iBAAA,cAAA,iBAFJ,SAEI,WAAA,gBAAA,cAAA,gBAFJ,SAEI,WAAA,eAAA,cAAA,eAFJ,SAEI,WAAA,iBAAA,cAAA,iBAFJ,SAEI,WAAA,eAAA,cAAA,eAFJ,YAEI,WAAA,eAAA,cAAA,eAFJ,SAEI,WAAA,YAFJ,SAEI,WAAA,iBAFJ,SAEI,WAAA,gBAFJ,SAEI,WAAA,eAFJ,SAEI,WAAA,iBAFJ,SAEI,WAAA,eAFJ,YAEI,WAAA,eAFJ,SAEI,aAAA,YAFJ,SAEI,aAAA,iBAFJ,SAEI,aAAA,gBAFJ,SAEI,aAAA,eAFJ,SAEI,aAAA,iBAFJ,SAEI,aAAA,eAFJ,YAEI,aAAA,eAFJ,SAEI,cAAA,YAFJ,SAEI,cAAA,iBAFJ,SAEI,cAAA,gBAFJ,SAEI,cAAA,eAFJ,SAEI,cAAA,iBAFJ,SAEI,cAAA,eAFJ,YAEI,cAAA,eAFJ,SAEI,YAAA,YAFJ,SAEI,YAAA,iBAFJ,SAEI,YAAA,gBAFJ,SAEI,YAAA,eAFJ,SAEI,YAAA,iBAFJ,SAEI,YAAA,eAFJ,YAEI,YAAA,eAFJ,SAEI,OAAA,kBAFJ,SAEI,OAAA,iBAFJ,SAEI,OAAA,gBAFJ,SAEI,OAAA,kBAFJ,SAEI,OAAA,gBAFJ,UAEI,aAAA,kBAAA,YAAA,kBAFJ,UAEI,aAAA,iBAAA,YAAA,iBAFJ,UAEI,aAAA,gBAAA,YAAA,gBAFJ,UAEI,aAAA,kBAAA,YAAA,kBAFJ,UAEI,aAAA,gBAAA,YAAA,gBAFJ,UAEI,WAAA,kBAAA,cAAA,kBAFJ,UAEI,WAAA,iBAAA,cAAA,iBAFJ,UAEI,WAAA,gBAAA,cAAA,gBAFJ,UAEI,WAAA,kBAAA,cAAA,kBAFJ,UAEI,WAAA,gBAAA,cAAA,gBAFJ,UAEI,WAAA,kBAFJ,UAEI,WAAA,iBAFJ,UAEI,WAAA,gBAFJ,UAEI,WAAA,kBAFJ,UAEI,WAAA,gBAFJ,UAEI,aAAA,kBAFJ,UAEI,aAAA,iBAFJ,UAEI,aAAA,gBAFJ,UAEI,aAAA,kBAFJ,UAEI,aAAA,gBAFJ,UAEI,cAAA,kBAFJ,UAEI,cAAA,iBAFJ,UAEI,cAAA,gBAFJ,UAEI,cAAA,kBAFJ,UAEI,cAAA,gBAFJ,UAEI,YAAA,kBAFJ,UAEI,YAAA,iBAFJ,UAEI,YAAA,gBAFJ,UAEI,YAAA,kBAFJ,UAEI,YAAA,gBAFJ,QAEI,QAAA,YAFJ,QAEI,QAAA,iBAFJ,QAEI,QAAA,gBAFJ,QAEI,QAAA,eAFJ,QAEI,QAAA,iBAFJ,QAEI,QAAA,eAFJ,SAEI,cAAA,YAAA,aAAA,YAFJ,SAEI,cAAA,iBAAA,aAAA,iBAFJ,SAEI,cAAA,gBAAA,aAAA,gBAFJ,SAEI,cAAA,eAAA,aAAA,eAFJ,SAEI,cAAA,iBAAA,aAAA,iBAFJ,SAEI,cAAA,eAAA,aAAA,eAFJ,SAEI,YAAA,YAAA,eAAA,YAFJ,SAEI,YAAA,iBAAA,eAAA,iBAFJ,SAEI,YAAA,gBAAA,eAAA,gBAFJ,SAEI,YAAA,eAAA,eAAA,eAFJ,SAEI,YAAA,iBAAA,eAAA,iBAFJ,SAEI,YAAA,eAAA,eAAA,eAFJ,SAEI,YAAA,YAFJ,SAEI,YAAA,iBAFJ,SAEI,YAAA,gBAFJ,SAEI,YAAA,eAFJ,SAEI,YAAA,iBAFJ,SAEI,YAAA,eAFJ,SAEI,cAAA,YAFJ,SAEI,cAAA,iBAFJ,SAEI,cAAA,gBAFJ,SAEI,cAAA,eAFJ,SAEI,cAAA,iBAFJ,SAEI,cAAA,eAFJ,SAEI,eAAA,YAFJ,SAEI,eAAA,iBAFJ,SAEI,eAAA,gBAFJ,SAEI,eAAA,eAFJ,SAEI,eAAA,iBAFJ,SAEI,eAAA,eAFJ,SAEI,aAAA,YAFJ,SAEI,aAAA,iBAFJ,SAEI,aAAA,gBAFJ,SAEI,aAAA,eAFJ,SAEI,aAAA,iBAFJ,SAEI,aAAA,gBJoBN,yBItBE,WAEI,QAAA,eAFJ,aAEI,QAAA,iBAFJ,mBAEI,QAAA,uBAFJ,YAEI,QAAA,gBAFJ,YAEI,QAAA,gBAFJ,gBAEI,QAAA,oBAFJ,iBAEI,QAAA,qBAFJ,WAEI,QAAA,eAFJ,kBAEI,QAAA,sBAFJ,cAEI,KAAA,EAAA,EAAA,eAFJ,aAEI,eAAA,cAFJ,gBAEI,eAAA,iBAFJ,qBAEI,eAAA,sBAFJ,wBAEI,eAAA,yBAFJ,gBAEI,UAAA,YAFJ,gBAEI,UAAA,YAFJ,0BAEI,gBAAA,qBAFJ,wBAEI,gBAAA,mBAFJ,2BAEI,gBAAA,iBAFJ,4BAEI,gBAAA,wBAFJ,2BAEI,gBAAA,uBAFJ,sBAEI,YAAA,qBAFJ,oBAEI,YAAA,mBAFJ,uBAEI,YAAA,iBAFJ,yBAEI,YAAA,mBAFJ,wBAEI,YAAA,kBAFJ,wBAEI,cAAA,qBAFJ,sBAEI,cAAA,mBAFJ,yBAEI,cAAA,iBAFJ,0BAEI,cAAA,wBAFJ,yBAEI,cAAA,uBAFJ,0BAEI,cAAA,kBAFJ,oBAEI,WAAA,eAFJ,qBAEI,WAAA,qBAFJ,mBAEI,WAAA,mBAFJ,sBAEI,WAAA,iBAFJ,wBAEI,WAAA,mBAFJ,uBAEI,WAAA,kBAFJ,gBAEI,MAAA,aAFJ,YAEI,MAAA,YAFJ,YAEI,MAAA,YAFJ,YAEI,MAAA,YAFJ,YAEI,MAAA,YAFJ,YAEI,MAAA,YAFJ,YAEI,MAAA,YAFJ,eAEI,MAAA,YAFJ,QAEI,OAAA,YAFJ,QAEI,OAAA,iBAFJ,QAEI,OAAA,gBAFJ,QAEI,OAAA,eAFJ,QAEI,OAAA,iBAFJ,QAEI,OAAA,eAFJ,WAEI,OAAA,eAFJ,SAEI,aAAA,YAAA,YAAA,YAFJ,SAEI,aAAA,iBAAA,YAAA,iBAFJ,SAEI,aAAA,gBAAA,YAAA,gBAFJ,SAEI,aAAA,eAAA,YAAA,eAFJ,SAEI,aAAA,iBAAA,YAAA,iBAFJ,SAEI,aAAA,eAAA,YAAA,eAFJ,YAEI,aAAA,eAAA,YAAA,eAFJ,SAEI,WAAA,YAAA,cAAA,YAFJ,SAEI,WAAA,iBAAA,cAAA,iBAFJ,SAEI,WAAA,gBAAA,cAAA,gBAFJ,SAEI,WAAA,eAAA,cAAA,eAFJ,SAEI,WAAA,iBAAA,cAAA,iBAFJ,SAEI,WAAA,eAAA,cAAA,eAFJ,YAEI,WAAA,eAAA,cAAA,eAFJ,SAEI,WAAA,YAFJ,SAEI,WAAA,iBAFJ,SAEI,WAAA,gBAFJ,SAEI,WAAA,eAFJ,SAEI,WAAA,iBAFJ,SAEI,WAAA,eAFJ,YAEI,WAAA,eAFJ,SAEI,aAAA,YAFJ,SAEI,aAAA,iBAFJ,SAEI,aAAA,gBAFJ,SAEI,aAAA,eAFJ,SAEI,aAAA,iBAFJ,SAEI,aAAA,eAFJ,YAEI,aAAA,eAFJ,SAEI,cAAA,YAFJ,SAEI,cAAA,iBAFJ,SAEI,cAAA,gBAFJ,SAEI,cAAA,eAFJ,SAEI,cAAA,iBAFJ,SAEI,cAAA,eAFJ,YAEI,cAAA,eAFJ,SAEI,YAAA,YAFJ,SAEI,YAAA,iBAFJ,SAEI,YAAA,gBAFJ,SAEI,YAAA,eAFJ,SAEI,YAAA,iBAFJ,SAEI,YAAA,eAFJ,YAEI,YAAA,eAFJ,SAEI,OAAA,kBAFJ,SAEI,OAAA,iBAFJ,SAEI,OAAA,gBAFJ,SAEI,OAAA,kBAFJ,SAEI,OAAA,gBAFJ,UAEI,aAAA,kBAAA,YAAA,kBAFJ,UAEI,aAAA,iBAAA,YAAA,iBAFJ,UAEI,aAAA,gBAAA,YAAA,gBAFJ,UAEI,aAAA,kBAAA,YAAA,kBAFJ,UAEI,aAAA,gBAAA,YAAA,gBAFJ,UAEI,WAAA,kBAAA,cAAA,kBAFJ,UAEI,WAAA,iBAAA,cAAA,iBAFJ,UAEI,WAAA,gBAAA,cAAA,gBAFJ,UAEI,WAAA,kBAAA,cAAA,kBAFJ,UAEI,WAAA,gBAAA,cAAA,gBAFJ,UAEI,WAAA,kBAFJ,UAEI,WAAA,iBAFJ,UAEI,WAAA,gBAFJ,UAEI,WAAA,kBAFJ,UAEI,WAAA,gBAFJ,UAEI,aAAA,kBAFJ,UAEI,aAAA,iBAFJ,UAEI,aAAA,gBAFJ,UAEI,aAAA,kBAFJ,UAEI,aAAA,gBAFJ,UAEI,cAAA,kBAFJ,UAEI,cAAA,iBAFJ,UAEI,cAAA,gBAFJ,UAEI,cAAA,kBAFJ,UAEI,cAAA,gBAFJ,UAEI,YAAA,kBAFJ,UAEI,YAAA,iBAFJ,UAEI,YAAA,gBAFJ,UAEI,YAAA,kBAFJ,UAEI,YAAA,gBAFJ,QAEI,QAAA,YAFJ,QAEI,QAAA,iBAFJ,QAEI,QAAA,gBAFJ,QAEI,QAAA,eAFJ,QAEI,QAAA,iBAFJ,QAEI,QAAA,eAFJ,SAEI,cAAA,YAAA,aAAA,YAFJ,SAEI,cAAA,iBAAA,aAAA,iBAFJ,SAEI,cAAA,gBAAA,aAAA,gBAFJ,SAEI,cAAA,eAAA,aAAA,eAFJ,SAEI,cAAA,iBAAA,aAAA,iBAFJ,SAEI,cAAA,eAAA,aAAA,eAFJ,SAEI,YAAA,YAAA,eAAA,YAFJ,SAEI,YAAA,iBAAA,eAAA,iBAFJ,SAEI,YAAA,gBAAA,eAAA,gBAFJ,SAEI,YAAA,eAAA,eAAA,eAFJ,SAEI,YAAA,iBAAA,eAAA,iBAFJ,SAEI,YAAA,eAAA,eAAA,eAFJ,SAEI,YAAA,YAFJ,SAEI,YAAA,iBAFJ,SAEI,YAAA,gBAFJ,SAEI,YAAA,eAFJ,SAEI,YAAA,iBAFJ,SAEI,YAAA,eAFJ,SAEI,cAAA,YAFJ,SAEI,cAAA,iBAFJ,SAEI,cAAA,gBAFJ,SAEI,cAAA,eAFJ,SAEI,cAAA,iBAFJ,SAEI,cAAA,eAFJ,SAEI,eAAA,YAFJ,SAEI,eAAA,iBAFJ,SAEI,eAAA,gBAFJ,SAEI,eAAA,eAFJ,SAEI,eAAA,iBAFJ,SAEI,eAAA,eAFJ,SAEI,aAAA,YAFJ,SAEI,aAAA,iBAFJ,SAEI,aAAA,gBAFJ,SAEI,aAAA,eAFJ,SAEI,aAAA,iBAFJ,SAEI,aAAA,gBJoBN,yBItBE,WAEI,QAAA,eAFJ,aAEI,QAAA,iBAFJ,mBAEI,QAAA,uBAFJ,YAEI,QAAA,gBAFJ,YAEI,QAAA,gBAFJ,gBAEI,QAAA,oBAFJ,iBAEI,QAAA,qBAFJ,WAEI,QAAA,eAFJ,kBAEI,QAAA,sBAFJ,cAEI,KAAA,EAAA,EAAA,eAFJ,aAEI,eAAA,cAFJ,gBAEI,eAAA,iBAFJ,qBAEI,eAAA,sBAFJ,wBAEI,eAAA,yBAFJ,gBAEI,UAAA,YAFJ,gBAEI,UAAA,YAFJ,0BAEI,gBAAA,qBAFJ,wBAEI,gBAAA,mBAFJ,2BAEI,gBAAA,iBAFJ,4BAEI,gBAAA,wBAFJ,2BAEI,gBAAA,uBAFJ,sBAEI,YAAA,qBAFJ,oBAEI,YAAA,mBAFJ,uBAEI,YAAA,iBAFJ,yBAEI,YAAA,mBAFJ,wBAEI,YAAA,kBAFJ,wBAEI,cAAA,qBAFJ,sBAEI,cAAA,mBAFJ,yBAEI,cAAA,iBAFJ,0BAEI,cAAA,wBAFJ,yBAEI,cAAA,uBAFJ,0BAEI,cAAA,kBAFJ,oBAEI,WAAA,eAFJ,qBAEI,WAAA,qBAFJ,mBAEI,WAAA,mBAFJ,sBAEI,WAAA,iBAFJ,wBAEI,WAAA,mBAFJ,uBAEI,WAAA,kBAFJ,gBAEI,MAAA,aAFJ,YAEI,MAAA,YAFJ,YAEI,MAAA,YAFJ,YAEI,MAAA,YAFJ,YAEI,MAAA,YAFJ,YAEI,MAAA,YAFJ,YAEI,MAAA,YAFJ,eAEI,MAAA,YAFJ,QAEI,OAAA,YAFJ,QAEI,OAAA,iBAFJ,QAEI,OAAA,gBAFJ,QAEI,OAAA,eAFJ,QAEI,OAAA,iBAFJ,QAEI,OAAA,eAFJ,WAEI,OAAA,eAFJ,SAEI,aAAA,YAAA,YAAA,YAFJ,SAEI,aAAA,iBAAA,YAAA,iBAFJ,SAEI,aAAA,gBAAA,YAAA,gBAFJ,SAEI,aAAA,eAAA,YAAA,eAFJ,SAEI,aAAA,iBAAA,YAAA,iBAFJ,SAEI,aAAA,eAAA,YAAA,eAFJ,YAEI,aAAA,eAAA,YAAA,eAFJ,SAEI,WAAA,YAAA,cAAA,YAFJ,SAEI,WAAA,iBAAA,cAAA,iBAFJ,SAEI,WAAA,gBAAA,cAAA,gBAFJ,SAEI,WAAA,eAAA,cAAA,eAFJ,SAEI,WAAA,iBAAA,cAAA,iBAFJ,SAEI,WAAA,eAAA,cAAA,eAFJ,YAEI,WAAA,eAAA,cAAA,eAFJ,SAEI,WAAA,YAFJ,SAEI,WAAA,iBAFJ,SAEI,WAAA,gBAFJ,SAEI,WAAA,eAFJ,SAEI,WAAA,iBAFJ,SAEI,WAAA,eAFJ,YAEI,WAAA,eAFJ,SAEI,aAAA,YAFJ,SAEI,aAAA,iBAFJ,SAEI,aAAA,gBAFJ,SAEI,aAAA,eAFJ,SAEI,aAAA,iBAFJ,SAEI,aAAA,eAFJ,YAEI,aAAA,eAFJ,SAEI,cAAA,YAFJ,SAEI,cAAA,iBAFJ,SAEI,cAAA,gBAFJ,SAEI,cAAA,eAFJ,SAEI,cAAA,iBAFJ,SAEI,cAAA,eAFJ,YAEI,cAAA,eAFJ,SAEI,YAAA,YAFJ,SAEI,YAAA,iBAFJ,SAEI,YAAA,gBAFJ,SAEI,YAAA,eAFJ,SAEI,YAAA,iBAFJ,SAEI,YAAA,eAFJ,YAEI,YAAA,eAFJ,SAEI,OAAA,kBAFJ,SAEI,OAAA,iBAFJ,SAEI,OAAA,gBAFJ,SAEI,OAAA,kBAFJ,SAEI,OAAA,gBAFJ,UAEI,aAAA,kBAAA,YAAA,kBAFJ,UAEI,aAAA,iBAAA,YAAA,iBAFJ,UAEI,aAAA,gBAAA,YAAA,gBAFJ,UAEI,aAAA,kBAAA,YAAA,kBAFJ,UAEI,aAAA,gBAAA,YAAA,gBAFJ,UAEI,WAAA,kBAAA,cAAA,kBAFJ,UAEI,WAAA,iBAAA,cAAA,iBAFJ,UAEI,WAAA,gBAAA,cAAA,gBAFJ,UAEI,WAAA,kBAAA,cAAA,kBAFJ,UAEI,WAAA,gBAAA,cAAA,gBAFJ,UAEI,WAAA,kBAFJ,UAEI,WAAA,iBAFJ,UAEI,WAAA,gBAFJ,UAEI,WAAA,kBAFJ,UAEI,WAAA,gBAFJ,UAEI,aAAA,kBAFJ,UAEI,aAAA,iBAFJ,UAEI,aAAA,gBAFJ,UAEI,aAAA,kBAFJ,UAEI,aAAA,gBAFJ,UAEI,cAAA,kBAFJ,UAEI,cAAA,iBAFJ,UAEI,cAAA,gBAFJ,UAEI,cAAA,kBAFJ,UAEI,cAAA,gBAFJ,UAEI,YAAA,kBAFJ,UAEI,YAAA,iBAFJ,UAEI,YAAA,gBAFJ,UAEI,YAAA,kBAFJ,UAEI,YAAA,gBAFJ,QAEI,QAAA,YAFJ,QAEI,QAAA,iBAFJ,QAEI,QAAA,gBAFJ,QAEI,QAAA,eAFJ,QAEI,QAAA,iBAFJ,QAEI,QAAA,eAFJ,SAEI,cAAA,YAAA,aAAA,YAFJ,SAEI,cAAA,iBAAA,aAAA,iBAFJ,SAEI,cAAA,gBAAA,aAAA,gBAFJ,SAEI,cAAA,eAAA,aAAA,eAFJ,SAEI,cAAA,iBAAA,aAAA,iBAFJ,SAEI,cAAA,eAAA,aAAA,eAFJ,SAEI,YAAA,YAAA,eAAA,YAFJ,SAEI,YAAA,iBAAA,eAAA,iBAFJ,SAEI,YAAA,gBAAA,eAAA,gBAFJ,SAEI,YAAA,eAAA,eAAA,eAFJ,SAEI,YAAA,iBAAA,eAAA,iBAFJ,SAEI,YAAA,eAAA,eAAA,eAFJ,SAEI,YAAA,YAFJ,SAEI,YAAA,iBAFJ,SAEI,YAAA,gBAFJ,SAEI,YAAA,eAFJ,SAEI,YAAA,iBAFJ,SAEI,YAAA,eAFJ,SAEI,cAAA,YAFJ,SAEI,cAAA,iBAFJ,SAEI,cAAA,gBAFJ,SAEI,cAAA,eAFJ,SAEI,cAAA,iBAFJ,SAEI,cAAA,eAFJ,SAEI,eAAA,YAFJ,SAEI,eAAA,iBAFJ,SAEI,eAAA,gBAFJ,SAEI,eAAA,eAFJ,SAEI,eAAA,iBAFJ,SAEI,eAAA,eAFJ,SAEI,aAAA,YAFJ,SAEI,aAAA,iBAFJ,SAEI,aAAA,gBAFJ,SAEI,aAAA,eAFJ,SAEI,aAAA,iBAFJ,SAEI,aAAA,gBJoBN,0BItBE,WAEI,QAAA,eAFJ,aAEI,QAAA,iBAFJ,mBAEI,QAAA,uBAFJ,YAEI,QAAA,gBAFJ,YAEI,QAAA,gBAFJ,gBAEI,QAAA,oBAFJ,iBAEI,QAAA,qBAFJ,WAEI,QAAA,eAFJ,kBAEI,QAAA,sBAFJ,cAEI,KAAA,EAAA,EAAA,eAFJ,aAEI,eAAA,cAFJ,gBAEI,eAAA,iBAFJ,qBAEI,eAAA,sBAFJ,wBAEI,eAAA,yBAFJ,gBAEI,UAAA,YAFJ,gBAEI,UAAA,YAFJ,0BAEI,gBAAA,qBAFJ,wBAEI,gBAAA,mBAFJ,2BAEI,gBAAA,iBAFJ,4BAEI,gBAAA,wBAFJ,2BAEI,gBAAA,uBAFJ,sBAEI,YAAA,qBAFJ,oBAEI,YAAA,mBAFJ,uBAEI,YAAA,iBAFJ,yBAEI,YAAA,mBAFJ,wBAEI,YAAA,kBAFJ,wBAEI,cAAA,qBAFJ,sBAEI,cAAA,mBAFJ,yBAEI,cAAA,iBAFJ,0BAEI,cAAA,wBAFJ,yBAEI,cAAA,uBAFJ,0BAEI,cAAA,kBAFJ,oBAEI,WAAA,eAFJ,qBAEI,WAAA,qBAFJ,mBAEI,WAAA,mBAFJ,sBAEI,WAAA,iBAFJ,wBAEI,WAAA,mBAFJ,uBAEI,WAAA,kBAFJ,gBAEI,MAAA,aAFJ,YAEI,MAAA,YAFJ,YAEI,MAAA,YAFJ,YAEI,MAAA,YAFJ,YAEI,MAAA,YAFJ,YAEI,MAAA,YAFJ,YAEI,MAAA,YAFJ,eAEI,MAAA,YAFJ,QAEI,OAAA,YAFJ,QAEI,OAAA,iBAFJ,QAEI,OAAA,gBAFJ,QAEI,OAAA,eAFJ,QAEI,OAAA,iBAFJ,QAEI,OAAA,eAFJ,WAEI,OAAA,eAFJ,SAEI,aAAA,YAAA,YAAA,YAFJ,SAEI,aAAA,iBAAA,YAAA,iBAFJ,SAEI,aAAA,gBAAA,YAAA,gBAFJ,SAEI,aAAA,eAAA,YAAA,eAFJ,SAEI,aAAA,iBAAA,YAAA,iBAFJ,SAEI,aAAA,eAAA,YAAA,eAFJ,YAEI,aAAA,eAAA,YAAA,eAFJ,SAEI,WAAA,YAAA,cAAA,YAFJ,SAEI,WAAA,iBAAA,cAAA,iBAFJ,SAEI,WAAA,gBAAA,cAAA,gBAFJ,SAEI,WAAA,eAAA,cAAA,eAFJ,SAEI,WAAA,iBAAA,cAAA,iBAFJ,SAEI,WAAA,eAAA,cAAA,eAFJ,YAEI,WAAA,eAAA,cAAA,eAFJ,SAEI,WAAA,YAFJ,SAEI,WAAA,iBAFJ,SAEI,WAAA,gBAFJ,SAEI,WAAA,eAFJ,SAEI,WAAA,iBAFJ,SAEI,WAAA,eAFJ,YAEI,WAAA,eAFJ,SAEI,aAAA,YAFJ,SAEI,aAAA,iBAFJ,SAEI,aAAA,gBAFJ,SAEI,aAAA,eAFJ,SAEI,aAAA,iBAFJ,SAEI,aAAA,eAFJ,YAEI,aAAA,eAFJ,SAEI,cAAA,YAFJ,SAEI,cAAA,iBAFJ,SAEI,cAAA,gBAFJ,SAEI,cAAA,eAFJ,SAEI,cAAA,iBAFJ,SAEI,cAAA,eAFJ,YAEI,cAAA,eAFJ,SAEI,YAAA,YAFJ,SAEI,YAAA,iBAFJ,SAEI,YAAA,gBAFJ,SAEI,YAAA,eAFJ,SAEI,YAAA,iBAFJ,SAEI,YAAA,eAFJ,YAEI,YAAA,eAFJ,SAEI,OAAA,kBAFJ,SAEI,OAAA,iBAFJ,SAEI,OAAA,gBAFJ,SAEI,OAAA,kBAFJ,SAEI,OAAA,gBAFJ,UAEI,aAAA,kBAAA,YAAA,kBAFJ,UAEI,aAAA,iBAAA,YAAA,iBAFJ,UAEI,aAAA,gBAAA,YAAA,gBAFJ,UAEI,aAAA,kBAAA,YAAA,kBAFJ,UAEI,aAAA,gBAAA,YAAA,gBAFJ,UAEI,WAAA,kBAAA,cAAA,kBAFJ,UAEI,WAAA,iBAAA,cAAA,iBAFJ,UAEI,WAAA,gBAAA,cAAA,gBAFJ,UAEI,WAAA,kBAAA,cAAA,kBAFJ,UAEI,WAAA,gBAAA,cAAA,gBAFJ,UAEI,WAAA,kBAFJ,UAEI,WAAA,iBAFJ,UAEI,WAAA,gBAFJ,UAEI,WAAA,kBAFJ,UAEI,WAAA,gBAFJ,UAEI,aAAA,kBAFJ,UAEI,aAAA,iBAFJ,UAEI,aAAA,gBAFJ,UAEI,aAAA,kBAFJ,UAEI,aAAA,gBAFJ,UAEI,cAAA,kBAFJ,UAEI,cAAA,iBAFJ,UAEI,cAAA,gBAFJ,UAEI,cAAA,kBAFJ,UAEI,cAAA,gBAFJ,UAEI,YAAA,kBAFJ,UAEI,YAAA,iBAFJ,UAEI,YAAA,gBAFJ,UAEI,YAAA,kBAFJ,UAEI,YAAA,gBAFJ,QAEI,QAAA,YAFJ,QAEI,QAAA,iBAFJ,QAEI,QAAA,gBAFJ,QAEI,QAAA,eAFJ,QAEI,QAAA,iBAFJ,QAEI,QAAA,eAFJ,SAEI,cAAA,YAAA,aAAA,YAFJ,SAEI,cAAA,iBAAA,aAAA,iBAFJ,SAEI,cAAA,gBAAA,aAAA,gBAFJ,SAEI,cAAA,eAAA,aAAA,eAFJ,SAEI,cAAA,iBAAA,aAAA,iBAFJ,SAEI,cAAA,eAAA,aAAA,eAFJ,SAEI,YAAA,YAAA,eAAA,YAFJ,SAEI,YAAA,iBAAA,eAAA,iBAFJ,SAEI,YAAA,gBAAA,eAAA,gBAFJ,SAEI,YAAA,eAAA,eAAA,eAFJ,SAEI,YAAA,iBAAA,eAAA,iBAFJ,SAEI,YAAA,eAAA,eAAA,eAFJ,SAEI,YAAA,YAFJ,SAEI,YAAA,iBAFJ,SAEI,YAAA,gBAFJ,SAEI,YAAA,eAFJ,SAEI,YAAA,iBAFJ,SAEI,YAAA,eAFJ,SAEI,cAAA,YAFJ,SAEI,cAAA,iBAFJ,SAEI,cAAA,gBAFJ,SAEI,cAAA,eAFJ,SAEI,cAAA,iBAFJ,SAEI,cAAA,eAFJ,SAEI,eAAA,YAFJ,SAEI,eAAA,iBAFJ,SAEI,eAAA,gBAFJ,SAEI,eAAA,eAFJ,SAEI,eAAA,iBAFJ,SAEI,eAAA,eAFJ,SAEI,aAAA,YAFJ,SAEI,aAAA,iBAFJ,SAEI,aAAA,gBAFJ,SAEI,aAAA,eAFJ,SAEI,aAAA,iBAFJ,SAEI,aAAA,gBCLV,aDGM,cAEI,QAAA,eAFJ,gBAEI,QAAA,iBAFJ,sBAEI,QAAA,uBAFJ,eAEI,QAAA,gBAFJ,eAEI,QAAA,gBAFJ,mBAEI,QAAA,oBAFJ,oBAEI,QAAA,qBAFJ,cAEI,QAAA,eAFJ,qBAEI,QAAA","sourcesContent":["/*!\n * Bootstrap Grid v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n$include-column-box-sizing: true !default;\n\n@import \"functions\";\n@import \"variables\";\n\n@import \"mixins/lists\";\n@import \"mixins/breakpoints\";\n@import \"mixins/container\";\n@import \"mixins/grid\";\n@import \"mixins/utilities\";\n\n@import \"vendor/rfs\";\n\n@import \"containers\";\n@import \"grid\";\n\n@import \"utilities\";\n// Only use the utilities we need\n// stylelint-disable-next-line scss/dollar-variable-default\n$utilities: map-get-multiple(\n $utilities,\n (\n \"display\",\n \"order\",\n \"flex\",\n \"flex-direction\",\n \"flex-grow\",\n \"flex-shrink\"\n \"flex-wrap\",\n \"justify-content\",\n \"align-items\",\n \"align-content\",\n \"align-self\",\n \"margin\",\n \"margin-x\",\n \"margin-y\",\n \"margin-top\",\n \"margin-right\",\n \"margin-bottom\",\n \"margin-left\",\n \"negative-margin\",\n \"negative-margin-x\",\n \"negative-margin-y\",\n \"negative-margin-top\",\n \"negative-margin-right\",\n \"negative-margin-bottom\",\n \"negative-margin-left\",\n \"padding\",\n \"padding-x\",\n \"padding-y\",\n \"padding-top\",\n \"padding-right\",\n \"padding-bottom\",\n \"padding-left\",\n )\n);\n\n@import \"utilities/api\";\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n","// Container mixins\n\n@mixin make-container($padding-x: $container-padding-x) {\n width: 100%;\n padding-right: $padding-x;\n padding-left: $padding-x;\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n\n > * {\n @include make-col-ready();\n }\n }\n}\n\n// Gutters\n//\n// Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n\n@if $enable-grid-classes {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n\n @each $key, $value in $gutters {\n .g#{$infix}-#{$key},\n .gx#{$infix}-#{$key} {\n margin-right: -$value / 2;\n margin-left: -$value / 2;\n\n > * {\n padding-right: $value / 2;\n padding-left: $value / 2;\n }\n }\n\n .g#{$infix}-#{$key},\n .gy#{$infix}-#{$key} {\n margin-top: -$value;\n\n > * {\n margin-top: $value;\n }\n }\n }\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter / 2;\n margin-left: -$gutter / 2;\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n // Add box sizing if only the grid is loaded\n box-sizing: if(variable-exists(include-column-box-sizing) and $include-column-box-sizing, border-box, null);\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we set the width\n // later on to override this initial width.\n flex-shrink: 0;\n width: 100%;\n max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 auto;\n width: percentage($size / $columns);\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n & > * {\n flex: 0 0 auto;\n width: 100% / $count;\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0%; // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n min-width: 0; // See https://github.com/twbs/bootstrap/issues/25410\n }\n\n .row-cols#{$infix}-auto > * {\n @include make-col-auto();\n }\n\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","/*!\n * Bootstrap Grid v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n.container {\n width: 100%;\n padding-right: 1rem;\n padding-left: 1rem;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid, .container-sm, .container-md, .container-lg, .container-xl {\n width: 100%;\n padding-right: 1rem;\n padding-left: 1rem;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -0.75rem;\n margin-left: -0.75rem;\n}\n\n.row > * {\n box-sizing: border-box;\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.g-0,\n.gx-0 {\n margin-right: 0;\n margin-left: 0;\n}\n\n.g-0 > *,\n.gx-0 > * {\n padding-right: 0;\n padding-left: 0;\n}\n\n.g-0,\n.gy-0 {\n margin-top: 0;\n}\n\n.g-0 > *,\n.gy-0 > * {\n margin-top: 0;\n}\n\n.g-1,\n.gx-1 {\n margin-right: -0.125rem;\n margin-left: -0.125rem;\n}\n\n.g-1 > *,\n.gx-1 > * {\n padding-right: 0.125rem;\n padding-left: 0.125rem;\n}\n\n.g-1,\n.gy-1 {\n margin-top: -0.25rem;\n}\n\n.g-1 > *,\n.gy-1 > * {\n margin-top: 0.25rem;\n}\n\n.g-2,\n.gx-2 {\n margin-right: -0.25rem;\n margin-left: -0.25rem;\n}\n\n.g-2 > *,\n.gx-2 > * {\n padding-right: 0.25rem;\n padding-left: 0.25rem;\n}\n\n.g-2,\n.gy-2 {\n margin-top: -0.5rem;\n}\n\n.g-2 > *,\n.gy-2 > * {\n margin-top: 0.5rem;\n}\n\n.g-3,\n.gx-3 {\n margin-right: -0.5rem;\n margin-left: -0.5rem;\n}\n\n.g-3 > *,\n.gx-3 > * {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.g-3,\n.gy-3 {\n margin-top: -1rem;\n}\n\n.g-3 > *,\n.gy-3 > * {\n margin-top: 1rem;\n}\n\n.g-4,\n.gx-4 {\n margin-right: -0.75rem;\n margin-left: -0.75rem;\n}\n\n.g-4 > *,\n.gx-4 > * {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.g-4,\n.gy-4 {\n margin-top: -1.5rem;\n}\n\n.g-4 > *,\n.gy-4 > * {\n margin-top: 1.5rem;\n}\n\n.g-5,\n.gx-5 {\n margin-right: -1.5rem;\n margin-left: -1.5rem;\n}\n\n.g-5 > *,\n.gx-5 > * {\n padding-right: 1.5rem;\n padding-left: 1.5rem;\n}\n\n.g-5,\n.gy-5 {\n margin-top: -3rem;\n}\n\n.g-5 > *,\n.gy-5 > * {\n margin-top: 3rem;\n}\n\n@media (min-width: 576px) {\n .g-sm-0,\n .gx-sm-0 {\n margin-right: 0;\n margin-left: 0;\n }\n .g-sm-0 > *,\n .gx-sm-0 > * {\n padding-right: 0;\n padding-left: 0;\n }\n .g-sm-0,\n .gy-sm-0 {\n margin-top: 0;\n }\n .g-sm-0 > *,\n .gy-sm-0 > * {\n margin-top: 0;\n }\n .g-sm-1,\n .gx-sm-1 {\n margin-right: -0.125rem;\n margin-left: -0.125rem;\n }\n .g-sm-1 > *,\n .gx-sm-1 > * {\n padding-right: 0.125rem;\n padding-left: 0.125rem;\n }\n .g-sm-1,\n .gy-sm-1 {\n margin-top: -0.25rem;\n }\n .g-sm-1 > *,\n .gy-sm-1 > * {\n margin-top: 0.25rem;\n }\n .g-sm-2,\n .gx-sm-2 {\n margin-right: -0.25rem;\n margin-left: -0.25rem;\n }\n .g-sm-2 > *,\n .gx-sm-2 > * {\n padding-right: 0.25rem;\n padding-left: 0.25rem;\n }\n .g-sm-2,\n .gy-sm-2 {\n margin-top: -0.5rem;\n }\n .g-sm-2 > *,\n .gy-sm-2 > * {\n margin-top: 0.5rem;\n }\n .g-sm-3,\n .gx-sm-3 {\n margin-right: -0.5rem;\n margin-left: -0.5rem;\n }\n .g-sm-3 > *,\n .gx-sm-3 > * {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .g-sm-3,\n .gy-sm-3 {\n margin-top: -1rem;\n }\n .g-sm-3 > *,\n .gy-sm-3 > * {\n margin-top: 1rem;\n }\n .g-sm-4,\n .gx-sm-4 {\n margin-right: -0.75rem;\n margin-left: -0.75rem;\n }\n .g-sm-4 > *,\n .gx-sm-4 > * {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n }\n .g-sm-4,\n .gy-sm-4 {\n margin-top: -1.5rem;\n }\n .g-sm-4 > *,\n .gy-sm-4 > * {\n margin-top: 1.5rem;\n }\n .g-sm-5,\n .gx-sm-5 {\n margin-right: -1.5rem;\n margin-left: -1.5rem;\n }\n .g-sm-5 > *,\n .gx-sm-5 > * {\n padding-right: 1.5rem;\n padding-left: 1.5rem;\n }\n .g-sm-5,\n .gy-sm-5 {\n margin-top: -3rem;\n }\n .g-sm-5 > *,\n .gy-sm-5 > * {\n margin-top: 3rem;\n }\n}\n\n@media (min-width: 768px) {\n .g-md-0,\n .gx-md-0 {\n margin-right: 0;\n margin-left: 0;\n }\n .g-md-0 > *,\n .gx-md-0 > * {\n padding-right: 0;\n padding-left: 0;\n }\n .g-md-0,\n .gy-md-0 {\n margin-top: 0;\n }\n .g-md-0 > *,\n .gy-md-0 > * {\n margin-top: 0;\n }\n .g-md-1,\n .gx-md-1 {\n margin-right: -0.125rem;\n margin-left: -0.125rem;\n }\n .g-md-1 > *,\n .gx-md-1 > * {\n padding-right: 0.125rem;\n padding-left: 0.125rem;\n }\n .g-md-1,\n .gy-md-1 {\n margin-top: -0.25rem;\n }\n .g-md-1 > *,\n .gy-md-1 > * {\n margin-top: 0.25rem;\n }\n .g-md-2,\n .gx-md-2 {\n margin-right: -0.25rem;\n margin-left: -0.25rem;\n }\n .g-md-2 > *,\n .gx-md-2 > * {\n padding-right: 0.25rem;\n padding-left: 0.25rem;\n }\n .g-md-2,\n .gy-md-2 {\n margin-top: -0.5rem;\n }\n .g-md-2 > *,\n .gy-md-2 > * {\n margin-top: 0.5rem;\n }\n .g-md-3,\n .gx-md-3 {\n margin-right: -0.5rem;\n margin-left: -0.5rem;\n }\n .g-md-3 > *,\n .gx-md-3 > * {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .g-md-3,\n .gy-md-3 {\n margin-top: -1rem;\n }\n .g-md-3 > *,\n .gy-md-3 > * {\n margin-top: 1rem;\n }\n .g-md-4,\n .gx-md-4 {\n margin-right: -0.75rem;\n margin-left: -0.75rem;\n }\n .g-md-4 > *,\n .gx-md-4 > * {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n }\n .g-md-4,\n .gy-md-4 {\n margin-top: -1.5rem;\n }\n .g-md-4 > *,\n .gy-md-4 > * {\n margin-top: 1.5rem;\n }\n .g-md-5,\n .gx-md-5 {\n margin-right: -1.5rem;\n margin-left: -1.5rem;\n }\n .g-md-5 > *,\n .gx-md-5 > * {\n padding-right: 1.5rem;\n padding-left: 1.5rem;\n }\n .g-md-5,\n .gy-md-5 {\n margin-top: -3rem;\n }\n .g-md-5 > *,\n .gy-md-5 > * {\n margin-top: 3rem;\n }\n}\n\n@media (min-width: 992px) {\n .g-lg-0,\n .gx-lg-0 {\n margin-right: 0;\n margin-left: 0;\n }\n .g-lg-0 > *,\n .gx-lg-0 > * {\n padding-right: 0;\n padding-left: 0;\n }\n .g-lg-0,\n .gy-lg-0 {\n margin-top: 0;\n }\n .g-lg-0 > *,\n .gy-lg-0 > * {\n margin-top: 0;\n }\n .g-lg-1,\n .gx-lg-1 {\n margin-right: -0.125rem;\n margin-left: -0.125rem;\n }\n .g-lg-1 > *,\n .gx-lg-1 > * {\n padding-right: 0.125rem;\n padding-left: 0.125rem;\n }\n .g-lg-1,\n .gy-lg-1 {\n margin-top: -0.25rem;\n }\n .g-lg-1 > *,\n .gy-lg-1 > * {\n margin-top: 0.25rem;\n }\n .g-lg-2,\n .gx-lg-2 {\n margin-right: -0.25rem;\n margin-left: -0.25rem;\n }\n .g-lg-2 > *,\n .gx-lg-2 > * {\n padding-right: 0.25rem;\n padding-left: 0.25rem;\n }\n .g-lg-2,\n .gy-lg-2 {\n margin-top: -0.5rem;\n }\n .g-lg-2 > *,\n .gy-lg-2 > * {\n margin-top: 0.5rem;\n }\n .g-lg-3,\n .gx-lg-3 {\n margin-right: -0.5rem;\n margin-left: -0.5rem;\n }\n .g-lg-3 > *,\n .gx-lg-3 > * {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .g-lg-3,\n .gy-lg-3 {\n margin-top: -1rem;\n }\n .g-lg-3 > *,\n .gy-lg-3 > * {\n margin-top: 1rem;\n }\n .g-lg-4,\n .gx-lg-4 {\n margin-right: -0.75rem;\n margin-left: -0.75rem;\n }\n .g-lg-4 > *,\n .gx-lg-4 > * {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n }\n .g-lg-4,\n .gy-lg-4 {\n margin-top: -1.5rem;\n }\n .g-lg-4 > *,\n .gy-lg-4 > * {\n margin-top: 1.5rem;\n }\n .g-lg-5,\n .gx-lg-5 {\n margin-right: -1.5rem;\n margin-left: -1.5rem;\n }\n .g-lg-5 > *,\n .gx-lg-5 > * {\n padding-right: 1.5rem;\n padding-left: 1.5rem;\n }\n .g-lg-5,\n .gy-lg-5 {\n margin-top: -3rem;\n }\n .g-lg-5 > *,\n .gy-lg-5 > * {\n margin-top: 3rem;\n }\n}\n\n@media (min-width: 1200px) {\n .g-xl-0,\n .gx-xl-0 {\n margin-right: 0;\n margin-left: 0;\n }\n .g-xl-0 > *,\n .gx-xl-0 > * {\n padding-right: 0;\n padding-left: 0;\n }\n .g-xl-0,\n .gy-xl-0 {\n margin-top: 0;\n }\n .g-xl-0 > *,\n .gy-xl-0 > * {\n margin-top: 0;\n }\n .g-xl-1,\n .gx-xl-1 {\n margin-right: -0.125rem;\n margin-left: -0.125rem;\n }\n .g-xl-1 > *,\n .gx-xl-1 > * {\n padding-right: 0.125rem;\n padding-left: 0.125rem;\n }\n .g-xl-1,\n .gy-xl-1 {\n margin-top: -0.25rem;\n }\n .g-xl-1 > *,\n .gy-xl-1 > * {\n margin-top: 0.25rem;\n }\n .g-xl-2,\n .gx-xl-2 {\n margin-right: -0.25rem;\n margin-left: -0.25rem;\n }\n .g-xl-2 > *,\n .gx-xl-2 > * {\n padding-right: 0.25rem;\n padding-left: 0.25rem;\n }\n .g-xl-2,\n .gy-xl-2 {\n margin-top: -0.5rem;\n }\n .g-xl-2 > *,\n .gy-xl-2 > * {\n margin-top: 0.5rem;\n }\n .g-xl-3,\n .gx-xl-3 {\n margin-right: -0.5rem;\n margin-left: -0.5rem;\n }\n .g-xl-3 > *,\n .gx-xl-3 > * {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .g-xl-3,\n .gy-xl-3 {\n margin-top: -1rem;\n }\n .g-xl-3 > *,\n .gy-xl-3 > * {\n margin-top: 1rem;\n }\n .g-xl-4,\n .gx-xl-4 {\n margin-right: -0.75rem;\n margin-left: -0.75rem;\n }\n .g-xl-4 > *,\n .gx-xl-4 > * {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n }\n .g-xl-4,\n .gy-xl-4 {\n margin-top: -1.5rem;\n }\n .g-xl-4 > *,\n .gy-xl-4 > * {\n margin-top: 1.5rem;\n }\n .g-xl-5,\n .gx-xl-5 {\n margin-right: -1.5rem;\n margin-left: -1.5rem;\n }\n .g-xl-5 > *,\n .gx-xl-5 > * {\n padding-right: 1.5rem;\n padding-left: 1.5rem;\n }\n .g-xl-5,\n .gy-xl-5 {\n margin-top: -3rem;\n }\n .g-xl-5 > *,\n .gy-xl-5 > * {\n margin-top: 3rem;\n }\n}\n\n.col {\n flex: 1 0 0%;\n min-width: 0;\n}\n\n.row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n}\n\n.row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.col-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.col-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 auto;\n width: 75%;\n}\n\n.col-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex: 1 0 0%;\n min-width: 0;\n }\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex: 1 0 0%;\n min-width: 0;\n }\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex: 1 0 0%;\n min-width: 0;\n }\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex: 1 0 0%;\n min-width: 0;\n }\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mr-3 {\n margin-right: 1rem !important;\n}\n\n.mr-4 {\n margin-right: 1.5rem !important;\n}\n\n.mr-5 {\n margin-right: 3rem !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.ml-3 {\n margin-left: 1rem !important;\n}\n\n.ml-4 {\n margin-left: 1.5rem !important;\n}\n\n.ml-5 {\n margin-left: 3rem !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mx-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n}\n\n.mx-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n}\n\n.mx-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n}\n\n.mx-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n}\n\n.mx-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n}\n\n.my-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n}\n\n.my-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n}\n\n.my-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n}\n\n.my-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n}\n\n.my-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n}\n\n.mt-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mt-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mt-n3 {\n margin-top: -1rem !important;\n}\n\n.mt-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mt-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mr-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mr-n3 {\n margin-right: -1rem !important;\n}\n\n.mr-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mr-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.mb-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.mb-n3 {\n margin-bottom: -1rem !important;\n}\n\n.mb-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.mb-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n1 {\n margin-left: -0.25rem !important;\n}\n\n.ml-n2 {\n margin-left: -0.5rem !important;\n}\n\n.ml-n3 {\n margin-left: -1rem !important;\n}\n\n.ml-n4 {\n margin-left: -1.5rem !important;\n}\n\n.ml-n5 {\n margin-left: -3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pr-3 {\n padding-right: 1rem !important;\n}\n\n.pr-4 {\n padding-right: 1.5rem !important;\n}\n\n.pr-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.pl-3 {\n padding-left: 1rem !important;\n}\n\n.pl-4 {\n padding-left: 1.5rem !important;\n}\n\n.pl-5 {\n padding-left: 3rem !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-0 {\n margin-right: 0 !important;\n }\n .mr-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mr-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mr-sm-3 {\n margin-right: 1rem !important;\n }\n .mr-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mr-sm-5 {\n margin-right: 3rem !important;\n }\n .mr-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-0 {\n margin-left: 0 !important;\n }\n .ml-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ml-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ml-sm-3 {\n margin-left: 1rem !important;\n }\n .ml-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ml-sm-5 {\n margin-left: 3rem !important;\n }\n .ml-sm-auto {\n margin-left: auto !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-sm-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-sm-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-sm-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-sm-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-sm-n3 {\n margin-top: -1rem !important;\n }\n .mt-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-sm-n3 {\n margin-right: -1rem !important;\n }\n .mr-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-sm-n3 {\n margin-left: -1rem !important;\n }\n .ml-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-sm-n5 {\n margin-left: -3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-0 {\n padding-right: 0 !important;\n }\n .pr-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pr-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pr-sm-3 {\n padding-right: 1rem !important;\n }\n .pr-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pr-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-0 {\n padding-left: 0 !important;\n }\n .pl-sm-1 {\n padding-left: 0.25rem !important;\n }\n .pl-sm-2 {\n padding-left: 0.5rem !important;\n }\n .pl-sm-3 {\n padding-left: 1rem !important;\n }\n .pl-sm-4 {\n padding-left: 1.5rem !important;\n }\n .pl-sm-5 {\n padding-left: 3rem !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .mr-md-0 {\n margin-right: 0 !important;\n }\n .mr-md-1 {\n margin-right: 0.25rem !important;\n }\n .mr-md-2 {\n margin-right: 0.5rem !important;\n }\n .mr-md-3 {\n margin-right: 1rem !important;\n }\n .mr-md-4 {\n margin-right: 1.5rem !important;\n }\n .mr-md-5 {\n margin-right: 3rem !important;\n }\n .mr-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-0 {\n margin-left: 0 !important;\n }\n .ml-md-1 {\n margin-left: 0.25rem !important;\n }\n .ml-md-2 {\n margin-left: 0.5rem !important;\n }\n .ml-md-3 {\n margin-left: 1rem !important;\n }\n .ml-md-4 {\n margin-left: 1.5rem !important;\n }\n .ml-md-5 {\n margin-left: 3rem !important;\n }\n .ml-md-auto {\n margin-left: auto !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-md-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-md-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-md-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-md-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-md-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-md-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-md-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-md-n3 {\n margin-top: -1rem !important;\n }\n .mt-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-md-n3 {\n margin-right: -1rem !important;\n }\n .mr-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-md-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-md-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-md-n3 {\n margin-left: -1rem !important;\n }\n .ml-md-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-md-n5 {\n margin-left: -3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-0 {\n padding-right: 0 !important;\n }\n .pr-md-1 {\n padding-right: 0.25rem !important;\n }\n .pr-md-2 {\n padding-right: 0.5rem !important;\n }\n .pr-md-3 {\n padding-right: 1rem !important;\n }\n .pr-md-4 {\n padding-right: 1.5rem !important;\n }\n .pr-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-0 {\n padding-left: 0 !important;\n }\n .pl-md-1 {\n padding-left: 0.25rem !important;\n }\n .pl-md-2 {\n padding-left: 0.5rem !important;\n }\n .pl-md-3 {\n padding-left: 1rem !important;\n }\n .pl-md-4 {\n padding-left: 1.5rem !important;\n }\n .pl-md-5 {\n padding-left: 3rem !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-0 {\n margin-right: 0 !important;\n }\n .mr-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mr-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mr-lg-3 {\n margin-right: 1rem !important;\n }\n .mr-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mr-lg-5 {\n margin-right: 3rem !important;\n }\n .mr-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-0 {\n margin-left: 0 !important;\n }\n .ml-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ml-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ml-lg-3 {\n margin-left: 1rem !important;\n }\n .ml-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ml-lg-5 {\n margin-left: 3rem !important;\n }\n .ml-lg-auto {\n margin-left: auto !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-lg-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-lg-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-lg-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-lg-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-lg-n3 {\n margin-top: -1rem !important;\n }\n .mt-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-lg-n3 {\n margin-right: -1rem !important;\n }\n .mr-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-lg-n3 {\n margin-left: -1rem !important;\n }\n .ml-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-lg-n5 {\n margin-left: -3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-0 {\n padding-right: 0 !important;\n }\n .pr-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pr-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pr-lg-3 {\n padding-right: 1rem !important;\n }\n .pr-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pr-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-0 {\n padding-left: 0 !important;\n }\n .pl-lg-1 {\n padding-left: 0.25rem !important;\n }\n .pl-lg-2 {\n padding-left: 0.5rem !important;\n }\n .pl-lg-3 {\n padding-left: 1rem !important;\n }\n .pl-lg-4 {\n padding-left: 1.5rem !important;\n }\n .pl-lg-5 {\n padding-left: 3rem !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-0 {\n margin-right: 0 !important;\n }\n .mr-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mr-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mr-xl-3 {\n margin-right: 1rem !important;\n }\n .mr-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mr-xl-5 {\n margin-right: 3rem !important;\n }\n .mr-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-0 {\n margin-left: 0 !important;\n }\n .ml-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ml-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ml-xl-3 {\n margin-left: 1rem !important;\n }\n .ml-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ml-xl-5 {\n margin-left: 3rem !important;\n }\n .ml-xl-auto {\n margin-left: auto !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-xl-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-xl-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-xl-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-xl-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-xl-n3 {\n margin-top: -1rem !important;\n }\n .mt-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-xl-n3 {\n margin-right: -1rem !important;\n }\n .mr-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-xl-n3 {\n margin-left: -1rem !important;\n }\n .ml-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-xl-n5 {\n margin-left: -3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-0 {\n padding-right: 0 !important;\n }\n .pr-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pr-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pr-xl-3 {\n padding-right: 1rem !important;\n }\n .pr-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pr-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-0 {\n padding-left: 0 !important;\n }\n .pl-xl-1 {\n padding-left: 0.25rem !important;\n }\n .pl-xl-2 {\n padding-left: 0.5rem !important;\n }\n .pl-xl-3 {\n padding-left: 1rem !important;\n }\n .pl-xl-4 {\n padding-left: 1.5rem !important;\n }\n .pl-xl-5 {\n padding-left: 3rem !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix, $is-rfs-media-query: false) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (eg. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n @if map-get($utility, rfs) {\n // Inside the media query\n @if $is-rfs-media-query {\n $val: rfs-value($value);\n\n // Do not render anything if fluid and non fluid values are the same\n $value: if($val == rfs-fluid-value($value), null, $val);\n }\n @else {\n $value: rfs-fluid-value($value);\n }\n }\n\n @if $value != null {\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n// RFS rescaling\n@media (min-width: $rfs-mq-value) {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and map-get($utility, rfs) {\n @include generate-utility($utility, $infix, true);\n }\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file
diff --git a/dist/css/bootstrap-reboot.css b/dist/css/bootstrap-reboot.css
index c49a82e394..15f118853c 100644
--- a/dist/css/bootstrap-reboot.css
+++ b/dist/css/bootstrap-reboot.css
@@ -1,7 +1,7 @@
/*!
* Bootstrap Reboot v4.3.1 (https://getbootstrap.com/)
- * Copyright 2011-2019 The Bootstrap Authors
- * Copyright 2011-2019 Twitter, Inc.
+ * Copyright 2011-2020 The Bootstrap Authors
+ * Copyright 2011-2020 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
*/
@@ -47,19 +47,43 @@ h1, h2, h3, h4, h5, h6 {
}
h1 {
- font-size: 2.5rem;
+ font-size: calc(1.375rem + 1.5vw);
+}
+
+@media (min-width: 1200px) {
+ h1 {
+ font-size: 2.5rem;
+ }
}
h2 {
- font-size: 2rem;
+ font-size: calc(1.325rem + 0.9vw);
+}
+
+@media (min-width: 1200px) {
+ h2 {
+ font-size: 2rem;
+ }
}
h3 {
- font-size: 1.75rem;
+ font-size: calc(1.3rem + 0.6vw);
+}
+
+@media (min-width: 1200px) {
+ h3 {
+ font-size: 1.75rem;
+ }
}
h4 {
- font-size: 1.5rem;
+ font-size: calc(1.275rem + 0.3vw);
+}
+
+@media (min-width: 1200px) {
+ h4 {
+ font-size: 1.5rem;
+ }
}
h5 {
@@ -132,6 +156,11 @@ small {
font-size: 0.875em;
}
+mark {
+ padding: 0.2em;
+ background-color: #fcf8e3;
+}
+
sub,
sup {
position: relative;
@@ -150,12 +179,11 @@ sup {
a {
color: #0d6efd;
- text-decoration: none;
+ text-decoration: underline;
}
a:hover {
color: #024dbc;
- text-decoration: underline;
}
a:not([href]), a:not([href]):hover {
@@ -213,16 +241,13 @@ figure {
margin: 0 0 1rem;
}
-img {
- vertical-align: middle;
-}
-
+img,
svg {
- overflow: hidden;
vertical-align: middle;
}
table {
+ caption-side: bottom;
border-collapse: collapse;
}
@@ -231,11 +256,11 @@ caption {
padding-bottom: 0.5rem;
color: #6c757d;
text-align: left;
- caption-side: bottom;
}
th {
text-align: inherit;
+ text-align: -webkit-match-parent;
}
label {
@@ -308,7 +333,6 @@ input[type="month"] {
}
textarea {
- overflow: auto;
resize: vertical;
}
@@ -324,24 +348,33 @@ legend {
width: 100%;
padding: 0;
margin-bottom: 0.5rem;
- font-size: 1.5rem;
+ font-size: calc(1.275rem + 0.3vw);
line-height: inherit;
- color: inherit;
white-space: normal;
}
-mark {
- padding: 0.2em;
- background-color: #fcf8e3;
+@media (min-width: 1200px) {
+ legend {
+ font-size: 1.5rem;
+ }
}
-progress {
- vertical-align: baseline;
+legend + * {
+ clear: left;
}
-::-webkit-datetime-edit {
- overflow: visible;
- line-height: 0;
+::-webkit-datetime-edit-fields-wrapper,
+::-webkit-datetime-edit-text,
+::-webkit-datetime-edit-minute,
+::-webkit-datetime-edit-hour-field,
+::-webkit-datetime-edit-day-field,
+::-webkit-datetime-edit-month-field,
+::-webkit-datetime-edit-year-field {
+ padding: 0;
+}
+
+::-webkit-inner-spin-button {
+ height: auto;
}
[type="search"] {
@@ -371,12 +404,8 @@ summary {
cursor: pointer;
}
-template {
- display: none;
-}
-
-main {
- display: block;
+progress {
+ vertical-align: baseline;
}
[hidden] {
diff --git a/dist/css/bootstrap-reboot.css.map b/dist/css/bootstrap-reboot.css.map
index 71612e78c2..94bafc1140 100644
--- a/dist/css/bootstrap-reboot.css.map
+++ b/dist/css/bootstrap-reboot.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/bootstrap-reboot.scss","bootstrap-reboot.css","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/vendor/_rfs.scss","../../scss/mixins/_border-radius.scss"],"names":[],"mappings":"AAAA;;;;;;ECME;ACOF;;;EAGE,sBAAsB;ADLxB;;ACuBA;EACE,SAAS;EACT,kMC6ViN;ECvP7M,eAAW;EFpGf,gBCyW+B;EDxW/B,gBC8W+B;ED7W/B,cCxBgB;ED0BhB,sBCnCa;EDoCb,8BAA8B;EAC9B,6CC3Ba;AFMf;;AAEA;ECiCE,qBAAqB;AD/BvB;;ACyCA;EACE,cAAsB;EACtB,cC2XmC;ED1XnC,8BAA8B;EAC9B,SAAS;EACT,aC0X+B;AFhajC;;ACyCA;EACE,WC8P+B;AFpSjC;;ACgDA;EACE,aAAa;EACb,qBCuUuC;EDpUvC,gBCuU+B;EDtU/B,gBCuU+B;AFtXjC;;ACmDA;EEyCM,iBAAW;AHxFjB;;ACoDA;EEoCM,eAAW;AHpFjB;;ACqDA;EE+BM,kBAAW;AHhFjB;;ACsDA;EE0BM,iBAAW;AH5EjB;;ACuDA;EEqBM,kBAAW;AHxEjB;;ACwDA;EEgBM,eAAW;AHpEjB;;AC+DA;EACE,aAAa;EACb,mBCgJ8B;AF5MhC;;ACuEA;;EAEE,0BAA0B;EAC1B,yCAAiC;EAAjC,iCAAiC;EACjC,YAAY;EACZ,sCAA8B;EAA9B,8BAA8B;ADpEhC;;ACwEA;EACE,mBAAmB;EACnB,kBAAkB;EAClB,oBAAoB;ADrEtB;;ACwEA;;EAEE,kBAAkB;ADrEpB;;ACwEA;;;EAGE,aAAa;EACb,mBAAmB;ADrErB;;ACwEA;;;;EAIE,gBAAgB;ADrElB;;ACwEA;EACE,gBC2N+B;AFhSjC;;AC0EA;EACE,oBAAoB;EACpB,cAAc;ADvEhB;;AC0EA;EACE,gBAAgB;ADvElB;;AC4EA;;EAEE,mBC0MkC;AFnRpC;;AC+EA;EEnFI,kBAAW;AHQf;;ACkFA;;EAEE,kBAAkB;EE5FhB,iBAAW;EF8Fb,cAAc;EACd,wBAAwB;AD/E1B;;ACkFA;EAAM,cAAc;AD9EpB;;AC+EA;EAAM,UAAU;AD3EhB;;ACgFA;EACE,cC/Le;EDgMf,qBCsC4C;AFnH9C;;AC2EA;EAKI,cCoC8D;EDnC9D,0BCoC+C;AFhHnD;;ACqFA;EAGI,cAAc;EACd,qBAAqB;ADpFzB;;AC2FA;;;;EAIE,iGCkIgH;ECxQ9G,cAAW;AH+Cf;;AC+FA;EACE,cAAc;EACd,aAAa;EACb,mBAAmB;EACnB,cAAc;EElJZ,kBAAW;AHuDf;;ACuFA;EE9II,kBAAW;EFyJX,cAAc;EACd,kBAAkB;AD7FtB;;ACiGA;EE9JI,kBAAW;EFgKb,cCnPe;EDoPf,qBAAqB;AD9FvB;;ACiGE;EACE,cAAc;AD9FlB;;ACkGA;EACE,sBCo6BuC;EC9kCrC,kBAAW;EF4Kb,WC/Ra;EDgSb,yBCvRgB;EEXd,qBF2U+B;AFvInC;;AC0FA;EAQI,UAAU;EEjLV,cAAW;EFmLX,gBCmG6B;AFjMjC;;ACuGA;EACE,gBAAgB;ADpGlB;;AC0GA;EACE,sBAAsB;ADvGxB;;AC6GA;EACE,gBAAgB;EAChB,sBAAsB;AD1GxB;;ACkHA;EACE,yBAAyB;AD/G3B;;ACkHA;EACE,mBCuIiC;EDtIjC,sBCsIiC;EDrIjC,cCxUgB;EDyUhB,gBAAgB;EAChB,oBAAoB;AD/GtB;;ACqHA;EACE,mBAAmB;ADlHrB;;AC0HA;EACE,qBAAqB;EACrB,qBCyN2C;AFhV7C;;AC8HA;EAEE,gBAAgB;AD5HlB;;ACoIA;EACE,mBAAmB;EACnB,0CAA0C;ADjI5C;;ACsIA;;;;;EAKE,SAAS;EACT,oBAAoB;EE5QlB,kBAAW;EF8Qb,oBAAoB;ADnItB;;ACwIA;;EAEE,iBAAiB;ADrInB;;AC0IA;;EAEE,oBAAoB;ADvItB;;AC8IA;EACE,iBAAiB;AD3InB;;AAEA;ECiJE,aAAa;AD/If;;ACuJA;;;;EAIE,0BAA0B;ADpJ5B;;ACgJA;;;;EAQM,eAAe;ADjJrB;;ACyJA;EACE,UAAU;EACV,kBAAkB;ADtJpB;;ACgKA;;;;EAIE,6BAA6B;AD7J/B;;ACmKA;EACE,cAAc;EACd,gBAAgB;ADhKlB;;AC0KA;EACE,YAAY;EACZ,UAAU;EACV,SAAS;EACT,SAAS;ADvKX;;AC+KA;EACE,WAAW;EACX,WAAW;EACX,UAAU;EACV,qBC3CiC;EC3T7B,iBAAW;EFyWf,oBAAoB;EACpB,cAAc;EACd,mBAAmB;AD7KrB;;ACiLA;EACE,cCjDgC;EDkDhC,yBC1CmC;AFpIrC;;ACmLA;EACE,wBAAwB;ADhL1B;;ACuLA;EACE,iBAAiB;EACjB,cAAc;ADpLhB;;AAEA;EC6LE,oBAAoB;EACpB,6BAA6B;AD3L/B;;ACgMA;EACE,wBAAwB;AD7L1B;;ACkMA;EACE,UAAU;AD/LZ;;ACqMA;EACE,aAAa;EACb,0BAA0B;ADlM5B;;ACuMA;EACE,qBAAqB;ADpMvB;;ACyMA;EACE,kBAAkB;EAClB,eAAe;ADtMjB;;AC2MA;EACE,aAAa;ADxMf;;AC2MA;EACE,cAAc;ADxMhB;;AAEA;EC4ME,wBAAwB;AD1M1B","file":"bootstrap-reboot.css","sourcesContent":["/*!\n * Bootstrap Reboot v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"reboot\";\n","/*!\n * Bootstrap Reboot v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n background-color: #fff;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n margin: 1rem 0;\n color: inherit;\n background-color: currentColor;\n border: 0;\n opacity: 0.25;\n}\n\nhr:not([size]) {\n height: 1px;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1 {\n font-size: 2.5rem;\n}\n\nh2 {\n font-size: 2rem;\n}\n\nh3 {\n font-size: 1.75rem;\n}\n\nh4 {\n font-size: 1.5rem;\n}\n\nh5 {\n font-size: 1.25rem;\n}\n\nh6 {\n font-size: 1rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 0.875em;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 0.75em;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #0d6efd;\n text-decoration: none;\n}\n\na:hover {\n color: #024dbc;\n text-decoration: underline;\n}\n\na:not([href]), a:not([href]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: 0.875em;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\ncode {\n font-size: 0.875em;\n color: #d63384;\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 0.875em;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 1em;\n font-weight: 700;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nselect {\n word-wrap: normal;\n}\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: textfield;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n float: left;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nmark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n::-webkit-datetime-edit {\n overflow: visible;\n line-height: 0;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: textfield;\n}\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\nmain {\n display: block;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n// Root\n//\n// 1. Ability to the value of the root font sizes, affecting the value of `rem`.\n// null by default, thus nothing is generated.\n\n:root {\n font-size: $font-size-root; // 1\n}\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 4. Change the default tap highlight to be completely transparent in iOS.\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: $body-text-align;\n background-color: $body-bg; // 2\n -webkit-text-size-adjust: 100%; // 3\n -webkit-tap-highlight-color: rgba($black, 0); // 4\n}\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n//\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Reset Firefox's gray color\n// 2. Set correct height and prevent the `size` attribute to make the `hr` look like an input field\n// See https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_hr_size\n\nhr {\n margin: $hr-margin-y 0;\n color: $hr-color; // 1\n background-color: currentColor;\n border: 0;\n opacity: $hr-opacity;\n}\n\nhr:not([size]) {\n height: $hr-height; // 2\n}\n\n\n// Typography\n//\n// 1. Remove top margins from headings\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n\n%heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1 {\n @extend %heading;\n @include font-size($h1-font-size);\n}\n\nh2 {\n @extend %heading;\n @include font-size($h2-font-size);\n}\n\nh3 {\n @extend %heading;\n @include font-size($h3-font-size);\n}\n\nh4 {\n @extend %heading;\n @include font-size($h4-font-size);\n}\n\nh5 {\n @extend %heading;\n @include font-size($h5-font-size);\n}\n\nh6 {\n @extend %heading;\n @include font-size($h6-font-size);\n}\n\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\n\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n text-decoration-skip-ink: none; // 4\n}\n\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\n// 1. Undo browser default\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // 1\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\n// Add the correct font weight in Chrome, Edge, and Safari\n\nb,\nstrong {\n font-weight: $font-weight-bolder;\n}\n\n\n// Add the correct font size in all browsers\n\nsmall {\n @include font-size($small-font-size);\n}\n\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n\nsub,\nsup {\n position: relative;\n @include font-size($sub-sup-font-size);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n// Links\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n\n &:hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n// Code\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\n// 1. Remove browser default top margin\n// 2. Reset browser default of `1em` to use `rem`s\n// 3. Don't allow content to break outside\n\npre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n\n kbd {\n padding: 0;\n @include font-size(1em);\n font-weight: $nested-kbd-font-weight;\n }\n}\n\n\n// Figures\n\n// Apply a consistent margin strategy (matches our type styles).\n\nfigure {\n margin: 0 0 1rem;\n}\n\n\n// Images and content\n\nimg {\n vertical-align: middle;\n}\n\n// 1. Workaround for the SVG overflow bug in IE 11 is still required.\n// See https://github.com/twbs/bootstrap/issues/26878\n\nsvg {\n overflow: hidden; // 1\n vertical-align: middle;\n}\n\n\n// Tables\n\n// Prevent double borders\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\n// Matches default `<td>` alignment by inheriting from the `<body>`, or the\n// closest parent with a set `text-align`.\n\nth {\n text-align: inherit;\n}\n\n\n// Forms\n\n// 1. Allow labels to use `margin` for spacing.\n\nlabel {\n display: inline-block; // 1\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\n\nbutton {\n // stylelint-disable-next-line property-blacklist\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\n// 1. Remove the margin in Firefox and Safari\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\n// Show the overflow in Edge\n\nbutton,\ninput {\n overflow: visible;\n}\n\n// Remove the inheritance of text transform in Firefox\n\nbutton,\nselect {\n text-transform: none;\n}\n\n// Remove the inheritance of word-wrap in Safari.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24990\n\nselect {\n word-wrap: normal;\n}\n\n// Remove the dropdown arrow in Chrome from inputs built with datalists.\n//\n// Source: https://stackoverflow.com/a/54997118\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n// 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n\n @if $enable-pointer-cursor-for-buttons {\n &:not(:disabled) {\n cursor: pointer; // 3\n }\n }\n}\n\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\n\n// Remove the default appearance of temporal inputs to avoid a Mobile Safari\n// bug where setting a custom line-height prevents text from being vertically\n// centered within the input.\n// See https://bugs.webkit.org/show_bug.cgi?id=139848\n// and https://github.com/twbs/bootstrap/issues/11266\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: textfield;\n}\n\n// 1. Remove the default vertical scrollbar in IE.\n// 2. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\ntextarea {\n overflow: auto; // 1\n resize: vertical; // 2\n}\n\n// 1. Browsers set a default `min-width: min-content;` on fieldsets,\n// unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n// So we reset that to ensure fieldsets behave more like a standard block element.\n// See https://github.com/twbs/bootstrap/issues/12359\n// and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n// 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\nfieldset {\n min-width: 0; // 1\n padding: 0; // 2\n margin: 0; // 2\n border: 0; // 2\n}\n\n\n// 1. By using `float: left`, the legend will behave like a block element\n// 2. Correct the color inheritance from `fieldset` elements in IE.\n// 3. Correct the text wrapping in Edge and IE.\n\nlegend {\n float: left; // 1\n width: 100%;\n padding: 0;\n margin-bottom: $legend-margin-bottom;\n @include font-size($legend-font-size);\n font-weight: $legend-font-weight;\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 3\n}\n\n\nmark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n// Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\nprogress {\n vertical-align: baseline;\n}\n\n\n// Fix height of inputs with a type of datetime-local, date, month, week, or time\n// See https://github.com/twbs/bootstrap/issues/18842\n\n::-webkit-datetime-edit {\n overflow: visible;\n line-height: 0;\n}\n\n\n// 1. Correct the outline style in Safari.\n// 2. This overrides the extra rounded corners on search inputs in iOS so that our\n// `.form-control` class can properly style them. Note that this cannot simply\n// be added to `.form-control` as it's not specific enough. For details, see\n// https://github.com/twbs/bootstrap/issues/11586.\n\n[type=\"search\"] {\n outline-offset: -2px; // 1\n -webkit-appearance: textfield; // 2\n}\n\n// Remove the inner padding in Chrome and Safari on macOS.\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n// Remove padding around color pickers in webkit browsers\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n// 1. Change font properties to `inherit` in Safari.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n\n::-webkit-file-upload-button {\n font: inherit; // 1\n -webkit-appearance: button; // 2\n}\n\n// Correct element displays\n\noutput {\n display: inline-block;\n}\n\n// 1. Add the correct display in all browsers\n\nsummary {\n display: list-item; // 1\n cursor: pointer;\n}\n\n// Add the correct display for template & main in IE 11\n\ntemplate {\n display: none;\n}\n\nmain {\n display: block;\n}\n\n// Always hide an element with the `hidden` HTML attribute.\n\n[hidden] {\n display: none !important;\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$grays: map-merge(\n (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n ),\n $grays\n);\n\n$blue: #0d6efd !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #d63384 !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: map-merge(\n (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n ),\n $colors\n);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$theme-colors: map-merge(\n (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n ),\n $theme-colors\n);\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n// fusv-disable\n$blue-100: tint-color($blue, 8) !default;\n$blue-200: tint-color($blue, 6) !default;\n$blue-300: tint-color($blue, 4) !default;\n$blue-400: tint-color($blue, 2) !default;\n$blue-500: $blue !default;\n$blue-600: shade-color($blue, 2) !default;\n$blue-700: shade-color($blue, 4) !default;\n$blue-800: shade-color($blue, 6) !default;\n$blue-900: shade-color($blue, 8) !default;\n\n$indigo-100: tint-color($indigo, 8) !default;\n$indigo-200: tint-color($indigo, 6) !default;\n$indigo-300: tint-color($indigo, 4) !default;\n$indigo-400: tint-color($indigo, 2) !default;\n$indigo-500: $indigo !default;\n$indigo-600: shade-color($indigo, 2) !default;\n$indigo-700: shade-color($indigo, 4) !default;\n$indigo-800: shade-color($indigo, 6) !default;\n$indigo-900: shade-color($indigo, 8) !default;\n\n$purple-100: tint-color($purple, 8) !default;\n$purple-200: tint-color($purple, 6) !default;\n$purple-300: tint-color($purple, 4) !default;\n$purple-400: tint-color($purple, 2) !default;\n$purple-500: $purple !default;\n$purple-600: shade-color($purple, 2) !default;\n$purple-700: shade-color($purple, 4) !default;\n$purple-800: shade-color($purple, 6) !default;\n$purple-900: shade-color($purple, 8) !default;\n\n$pink-100: tint-color($pink, 8) !default;\n$pink-200: tint-color($pink, 6) !default;\n$pink-300: tint-color($pink, 4) !default;\n$pink-400: tint-color($pink, 2) !default;\n$pink-500: $pink !default;\n$pink-600: shade-color($pink, 2) !default;\n$pink-700: shade-color($pink, 4) !default;\n$pink-800: shade-color($pink, 6) !default;\n$pink-900: shade-color($pink, 8) !default;\n\n$red-100: tint-color($red, 8) !default;\n$red-200: tint-color($red, 6) !default;\n$red-300: tint-color($red, 4) !default;\n$red-400: tint-color($red, 2) !default;\n$red-500: $red !default;\n$red-600: shade-color($red, 2) !default;\n$red-700: shade-color($red, 4) !default;\n$red-800: shade-color($red, 6) !default;\n$red-900: shade-color($red, 8) !default;\n\n$orange-100: tint-color($orange, 8) !default;\n$orange-200: tint-color($orange, 6) !default;\n$orange-300: tint-color($orange, 4) !default;\n$orange-400: tint-color($orange, 2) !default;\n$orange-500: $orange !default;\n$orange-600: shade-color($orange, 2) !default;\n$orange-700: shade-color($orange, 4) !default;\n$orange-800: shade-color($orange, 6) !default;\n$orange-900: shade-color($orange, 8) !default;\n\n$yellow-100: tint-color($yellow, 8) !default;\n$yellow-200: tint-color($yellow, 6) !default;\n$yellow-300: tint-color($yellow, 4) !default;\n$yellow-400: tint-color($yellow, 2) !default;\n$yellow-500: $yellow !default;\n$yellow-600: shade-color($yellow, 2) !default;\n$yellow-700: shade-color($yellow, 4) !default;\n$yellow-800: shade-color($yellow, 6) !default;\n$yellow-900: shade-color($yellow, 8) !default;\n\n$green-100: tint-color($green, 8) !default;\n$green-200: tint-color($green, 6) !default;\n$green-300: tint-color($green, 4) !default;\n$green-400: tint-color($green, 2) !default;\n$green-500: $green !default;\n$green-600: shade-color($green, 2) !default;\n$green-700: shade-color($green, 4) !default;\n$green-800: shade-color($green, 6) !default;\n$green-900: shade-color($green, 8) !default;\n\n$teal-100: tint-color($teal, 8) !default;\n$teal-200: tint-color($teal, 6) !default;\n$teal-300: tint-color($teal, 4) !default;\n$teal-400: tint-color($teal, 2) !default;\n$teal-500: $teal !default;\n$teal-600: shade-color($teal, 2) !default;\n$teal-700: shade-color($teal, 4) !default;\n$teal-800: shade-color($teal, 6) !default;\n$teal-900: shade-color($teal, 8) !default;\n\n$cyan-100: tint-color($cyan, 8) !default;\n$cyan-200: tint-color($cyan, 6) !default;\n$cyan-300: tint-color($cyan, 4) !default;\n$cyan-400: tint-color($cyan, 2) !default;\n$cyan-500: $cyan !default;\n$cyan-600: shade-color($cyan, 2) !default;\n$cyan-700: shade-color($cyan, 4) !default;\n$cyan-800: shade-color($cyan, 6) !default;\n$cyan-900: shade-color($cyan, 8) !default;\n// fusv-enable\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\",\"%3c\"),\n (\">\",\"%3e\"),\n (\"#\",\"%23\"),\n) !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-prefers-reduced-motion-media-query: true !default;\n$enable-grid-classes: true !default;\n$enable-pointer-cursor-for-buttons: true !default;\n$enable-responsive-font-sizes: false !default;\n$enable-validation-icons: true !default;\n$enable-deprecation-messages: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$spacers: map-merge(\n (\n 0: 0,\n 1: $spacer * .25,\n 2: $spacer * .5,\n 3: $spacer,\n 4: $spacer * 1.5,\n 5: $spacer * 3,\n ),\n $spacers\n);\n\n$negative-spacers: negativify-map($spacers) !default;\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n$body-text-align: null !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: $primary !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n// Darken percentage for links with `.text-*` class (e.g. `.text-success`)\n$emphasized-link-hover-darken-percentage: 15% !default;\n\n$stretched-link-pseudo-element: after !default;\n$stretched-link-z-index: 1 !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n$grid-row-columns: 6 !default;\n\n\n// Container padding\n\n$container-padding-x: $grid-gutter-width / 2 !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$rounded-pill: 50rem !default;\n\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n$box-shadow-inset: inset 0 1px 2px rgba($black, .075) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: $primary !default;\n\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n$embed-responsive-aspect-ratios: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$embed-responsive-aspect-ratios: map-merge(\n (\n \"21by9\": (\n x: 21,\n y: 9\n ),\n \"16by9\": (\n x: 16,\n y: 9\n ),\n \"4by3\": (\n x: 4,\n y: 3\n ),\n \"1by1\": (\n x: 1,\n y: 1\n )\n ),\n $embed-responsive-aspect-ratios\n);\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n// $font-size-root effects the value of `rem`, which is used for as well font sizes, paddings and margins\n// $font-size-base effects the font size of the body text\n$font-size-root: null !default;\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: $font-size-base * 1.25 !default;\n$font-size-sm: $font-size-base * .875 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n\n$line-height-base: 1.5 !default;\n$line-height-lg: 2 !default;\n$line-height-sm: 1.25 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: $spacer / 2 !default;\n$headings-font-family: null !default;\n$headings-font-style: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: null !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: .875em !default;\n\n$sub-sup-font-size: .75em !default;\n\n$text-muted: $gray-600 !default;\n\n$initialism-font-size: $small-font-size !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-small-font-size: $small-font-size !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n\n$hr-color: inherit !default;\n$hr-height: $border-width !default;\n$hr-opacity: .25 !default;\n\n$legend-margin-bottom: .5rem !default;\n$legend-font-size: 1.5rem !default;\n$legend-font-weight: null !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .5rem !default;\n$table-cell-padding-sm: .25rem !default;\n\n$table-cell-vertical-align: top !default;\n\n$table-color: $body-color !default;\n$table-bg: null !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-color: $table-color !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n$table-head-border-color: $gray-700 !default;\n\n$table-dark-color: $white !default;\n$table-dark-bg: $gray-800 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-color: $table-dark-color !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($table-dark-bg, 7.5%) !default;\n\n$table-striped-order: odd !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-level: -9 !default;\n$table-border-level: -6 !default;\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-color: $link-color !default;\n$btn-link-hover-color: $link-hover-color !default;\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$label-margin-bottom: .5rem !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n$input-disabled-border-color: null !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: $box-shadow-inset !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y / 2) !default;\n\n$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n$input-height-sm: add($input-line-height * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n$input-height-lg: add($input-line-height * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n$form-check-input-width: 1.25em !default;\n$form-check-min-height: $font-size-base * $line-height-base !default;\n$form-check-padding-left: $form-check-input-width + .5em !default;\n$form-check-margin-bottom: .125rem !default;\n$form-check-label-cursor: null !default;\n\n$form-check-input-active-filter: brightness(90%) !default;\n\n$form-check-input-bg: $body-bg !default;\n$form-check-input-border: 1px solid rgba(0, 0, 0, .25) !default;\n$form-check-input-border-radius: .25em !default;\n$form-check-radio-border-radius: 50% !default;\n$form-check-input-focus-border: $input-focus-border-color !default;\n$form-check-input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$form-check-input-checked-color: $component-active-color !default;\n$form-check-input-checked-bg-color: $component-active-bg !default;\n$form-check-input-checked-border-color: $form-check-input-checked-bg-color !default;\n$form-check-input-checked-bg-repeat: no-repeat !default;\n$form-check-input-checked-bg-position: center center !default;\n$form-check-input-checked-bg-size: 1em !default;\n$form-check-input-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-check-input-checked-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M4 8.5L6.5 11l6-6'/></svg>\") !default;\n$form-check-radio-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='2' fill='#{$form-check-input-checked-color}'/></svg>\") !default;\n\n$form-check-input-indeterminate-color: $component-active-color !default;\n$form-check-input-indeterminate-bg-color: $component-active-bg !default;\n$form-check-input-indeterminate-border-color: $form-check-input-indeterminate-bg-color !default;\n$form-check-input-indeterminate-bg-repeat: no-repeat !default;\n$form-check-input-indeterminate-bg-position: center center !default;\n$form-check-input-indeterminate-bg-size: 1em !default;\n$form-check-input-indeterminate-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-check-input-indeterminate-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M5 8h6'/></svg>\") !default;\n\n$form-switch-color: rgba(0, 0, 0, .25) !default;\n$form-switch-width: 2em !default;\n$form-switch-padding-left: $form-switch-width + .5em !default;\n$form-switch-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-color}'/></svg>\") !default;\n$form-switch-bg-size: contain !default;\n$form-switch-border-radius: $form-switch-width !default;\n$form-switch-transition: .2s ease-in-out !default;\n$form-switch-transition-property: background-position, background-color !default;\n\n$form-switch-focus-color: hsla(211, 100%, 75%, 1) !default;\n$form-switch-focus-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-focus-color}'/></svg>\") !default;\n\n$form-switch-checked-color: $component-active-color !default;\n$form-switch-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-checked-color}'/></svg>\") !default;\n$form-switch-checked-bg-position: right center !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-inline-margin-right: 1rem !default;\n\n$form-check-input-margin-x: .25rem !default;\n\n$form-grid-gutter-width: 10px !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n\n$form-select-padding-y: $input-padding-y !default;\n$form-select-padding-x: $input-padding-x !default;\n$form-select-font-family: $input-font-family !default;\n$form-select-font-size: $input-font-size !default;\n$form-select-height: $input-height !default;\n$form-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$form-select-font-weight: $input-font-weight !default;\n$form-select-line-height: $input-line-height !default;\n$form-select-color: $input-color !default;\n$form-select-disabled-color: $gray-600 !default;\n$form-select-bg: $input-bg !default;\n$form-select-disabled-bg: $gray-200 !default;\n$form-select-disabled-border-color: $input-disabled-border-color !default;\n$form-select-bg-size: 16px 12px !default; // In pixels because image dimensions\n$form-select-indicator-color: $gray-800 !default;\n$form-select-indicator: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-select-indicator-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/></svg>\") !default;\n\n$form-select-background: no-repeat right $form-select-padding-x center / $form-select-bg-size !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon)\n\n$form-select-feedback-icon-padding-right: add(1em * .75, (2 * $form-select-padding-y * .75) + $form-select-padding-x + $form-select-indicator-padding) !default;\n$form-select-feedback-icon-position: center right ($form-select-padding-x + $form-select-indicator-padding) !default;\n$form-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$form-select-border-width: $input-border-width !default;\n$form-select-border-color: $input-border-color !default;\n$form-select-border-radius: $border-radius !default;\n$form-select-box-shadow: $box-shadow-inset !default;\n\n$form-select-focus-border-color: $input-focus-border-color !default;\n$form-select-focus-width: $input-focus-width !default;\n$form-select-focus-box-shadow: 0 0 0 $form-select-focus-width $input-btn-focus-color !default;\n\n$form-select-padding-y-sm: $input-padding-y-sm !default;\n$form-select-padding-x-sm: $input-padding-x-sm !default;\n$form-select-font-size-sm: $input-font-size-sm !default;\n$form-select-height-sm: $input-height-sm !default;\n\n$form-select-padding-y-lg: $input-padding-y-lg !default;\n$form-select-padding-x-lg: $input-padding-x-lg !default;\n$form-select-font-size-lg: $input-font-size-lg !default;\n$form-select-height-lg: $input-height-lg !default;\n\n$form-range-track-width: 100% !default;\n$form-range-track-height: .5rem !default;\n$form-range-track-cursor: pointer !default;\n$form-range-track-bg: $gray-300 !default;\n$form-range-track-border-radius: 1rem !default;\n$form-range-track-box-shadow: $box-shadow-inset !default;\n\n$form-range-thumb-width: 1rem !default;\n$form-range-thumb-height: $form-range-thumb-width !default;\n$form-range-thumb-bg: $component-active-bg !default;\n$form-range-thumb-border: 0 !default;\n$form-range-thumb-border-radius: 1rem !default;\n$form-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$form-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$form-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in IE/Edge\n$form-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\n$form-range-thumb-disabled-bg: $gray-500 !default;\n$form-range-thumb-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-file-height: $input-height !default;\n$form-file-focus-border-color: $input-focus-border-color !default;\n$form-file-focus-box-shadow: $input-focus-box-shadow !default;\n$form-file-disabled-bg: $input-disabled-bg !default;\n$form-file-disabled-border-color: $input-disabled-border-color !default;\n\n$form-file-padding-y: $input-padding-y !default;\n$form-file-padding-x: $input-padding-x !default;\n$form-file-line-height: $input-line-height !default;\n$form-file-font-family: $input-font-family !default;\n$form-file-font-weight: $input-font-weight !default;\n$form-file-color: $input-color !default;\n$form-file-bg: $input-bg !default;\n$form-file-border-width: $input-border-width !default;\n$form-file-border-color: $input-border-color !default;\n$form-file-border-radius: $input-border-radius !default;\n$form-file-box-shadow: $input-box-shadow !default;\n$form-file-button-color: $form-file-color !default;\n$form-file-button-bg: $input-group-addon-bg !default;\n\n\n// Form validation\n\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: $success !default;\n$form-feedback-invalid-color: $danger !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/></svg>\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}' viewBox='0 0 12 12'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>\") !default;\n\n$form-validation-states: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-validation-states: map-merge(\n (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n ),\n ),\n $form-validation-states\n);\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n\n// Navbar\n\n$navbar-padding-y: $spacer / 2 !default;\n$navbar-padding-x: null !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-divider-margin-y: $spacer / 2 !default;\n$dropdown-box-shadow: $box-shadow !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n\n\n// Pagination\n\n$pagination-padding-y: .375rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-radius: $border-radius !default;\n$pagination-margin-left: -$pagination-border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: $grid-gutter-width / 2 !default;\n$card-deck-margin: $card-group-margin !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n// Form tooltips must come after regular tooltips\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: null !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default;\n$popover-box-shadow: $box-shadow !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Toasts\n\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .25rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba(0, 0, 0, .1) !default;\n$toast-border-radius: $border-radius !default;\n$toast-box-shadow: $box-shadow !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\n\n\n// Badges\n\n$badge-font-size: .75em !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-color: $white !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .5em !default;\n$badge-border-radius: $border-radius !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs: $box-shadow-sm !default;\n$modal-content-box-shadow-sm-up: $box-shadow !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: 1rem !default;\n$modal-header-padding-x: 1rem !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-xl: 1140px !default;\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n$modal-scale-transform: scale(1.02) !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: $box-shadow-inset !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: $primary !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n\n// List group\n\n$list-group-color: null !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: $box-shadow-sm !default;\n\n\n// Figures\n\n$figure-caption-font-size: $small-font-size !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-font-size: null !default;\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding-x: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n\n$breadcrumb-border-radius: $border-radius !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-opacity: .5 !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-active-opacity: 1 !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n$carousel-caption-padding-y: 1.25rem !default;\n$carousel-caption-spacer: 1.25rem !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'><path d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/></svg>\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'><path d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/></svg>\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n\n// Spinners\n\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-border-width: .25em !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n\n// Code\n\n$code-font-size: $small-font-size !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: null !default;\n","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated responsive font sizes\n//\n// Licensed under MIT (https://github.com/twbs/rfs/blob/master/LICENSE)\n\n// Configuration\n\n// Base font size\n$rfs-base-font-size: 1.25rem !default;\n$rfs-font-size-unit: rem !default;\n\n@if $rfs-font-size-unit != rem and $rfs-font-size-unit != px {\n @error \"`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.\";\n}\n\n// Breakpoint at where font-size starts decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n}\n\n// Resize font size based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != \"number\" or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-responsive-font-sizes to false\n$enable-responsive-font-sizes: true !default;\n\n// Cache $rfs-base-font-size unit\n$rfs-base-font-size-unit: unit($rfs-base-font-size);\n\n// Remove px-unit from $rfs-base-font-size for calculations\n@if $rfs-base-font-size-unit == \"px\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1);\n}\n@else if $rfs-base-font-size-unit == \"rem\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == \"px\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == \"rem\" or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Internal mixin that adds disable classes to the selector if needed.\n@mixin _rfs-disable-class {\n @if $rfs-class == \"disable\" {\n // Adding an extra class increases specificity, which prevents the media query to override the font size\n &,\n .disable-responsive-font-size &,\n &.disable-responsive-font-size {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n// Internal mixin that adds enable classes to the selector if needed.\n@mixin _rfs-enable-class {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n// Internal mixin used to determine which media query needs to be used\n@mixin _rfs-media-query($mq-value) {\n @if $rfs-two-dimensional {\n @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {\n @content;\n }\n }\n @else {\n @media (max-width: #{$mq-value}) {\n @content;\n }\n }\n}\n\n// Responsive font size mixin\n@mixin rfs($fs, $important: false) {\n // Cache $fs unit\n $fs-unit: if(type-of($fs) == \"number\", unit($fs), false);\n\n // Add !important suffix if needed\n $rfs-suffix: if($important, \" !important\", \"\");\n\n // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $fs-unit or $fs-unit != \"\" and $fs-unit != \"px\" and $fs-unit != \"rem\" or $fs == 0 {\n font-size: #{$fs}#{$rfs-suffix};\n }\n @else {\n // Remove unit from $fs for calculations\n @if $fs-unit == \"px\" {\n $fs: $fs / ($fs * 0 + 1);\n }\n @else if $fs-unit == \"rem\" {\n $fs: $fs / ($fs * 0 + 1 / $rfs-rem-value);\n }\n\n // Set default font size\n $rfs-static: if($rfs-font-size-unit == rem, #{$fs / $rfs-rem-value}rem, #{$fs}px);\n\n // Only add the media query if the font size is bigger than the minimum font size\n @if $fs <= $rfs-base-font-size or not $enable-responsive-font-sizes {\n font-size: #{$rfs-static}#{$rfs-suffix};\n }\n @else {\n // Calculate the minimum font size for $fs\n $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;\n\n // Calculate difference between $fs and the minimum font size\n $fs-diff: $fs - $fs-min;\n\n // Base font-size formatting\n $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);\n\n // Use `vmin` if two-dimensional is enabled\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Set the calculated font-size\n $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};\n\n // Breakpoint formatting\n $mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit});\n\n @include _rfs-disable-class {\n font-size: #{$rfs-static}#{$rfs-suffix};\n }\n\n @include _rfs-media-query($mq-value) {\n @include _rfs-enable-class {\n font-size: $rfs-fluid;\n }\n\n // Include safari iframe resize fix if needed\n min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null);\n }\n }\n }\n}\n\n// The font-size & responsive-font-size mixins use RFS to rescale the font size\n@mixin font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n\n@mixin responsive-font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n","// stylelint-disable property-blacklist\n// Single side border-radius\n\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: $radius;\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-top-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n }\n}\n\n@mixin border-top-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-right-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-left-radius($radius) {\n @if $enable-rounded {\n border-bottom-left-radius: $radius;\n }\n}\n"]} \ No newline at end of file
+{"version":3,"sources":["../../scss/bootstrap-reboot.scss","bootstrap-reboot.css","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/vendor/_rfs.scss","../../scss/mixins/_border-radius.scss"],"names":[],"mappings":"AAAA;;;;;;ECME;ACSF;;;EAGE,sBAAsB;ADPxB;;AC4BA;EACE,SAAS;EACT,kMCsUiN;EC3H7M,eAvE+B;EFlInC,gBCkV+B;EDjV/B,gBCuV+B;EDtV/B,cC7BgB;ED+BhB,sBCxCa;EDyCb,8BAA8B;EAC9B,6CChCa;AFMf;;AAEA;ECsCE,qBAAqB;ADpCvB;;AC8CA;EACE,cAAsB;EACtB,cCqWmC;EDpWnC,8BAA8B;EAC9B,SAAS;EACT,aCoW+B;AF/YjC;;AC8CA;EACE,WC4O+B;AFvRjC;;ACqDA;EACE,aAAa;EACb,qBCgTuC;ED7SvC,gBCgT+B;ED/S/B,gBCgT+B;AFpWjC;;ACwDA;EEkJQ,iCAf6B;AHvLrC;;AGoCI;EFgBJ;IEyJQ,iBAlF6B;EHtHnC;AACF;;ACmDA;EE6IQ,iCAf6B;AH7KrC;;AG0BI;EFqBJ;IEoJQ,eAlF6B;EH5GnC;AACF;;AC8CA;EEwIQ,+BAf6B;AHnKrC;;AGgBI;EF0BJ;IE+IQ,kBAlF6B;EHlGnC;AACF;;ACyCA;EEmIQ,iCAf6B;AHzJrC;;AGMI;EF+BJ;IE0IQ,iBAlF6B;EHxFnC;AACF;;ACoCA;EE0HM,kBAvE+B;AHnFrC;;ACqCA;EEqHM,eAvE+B;AH/ErC;;AC4CA;EACE,aAAa;EACb,mBC6H8B;AFtKhC;;ACoDA;;EAEE,0BAA0B;EAC1B,yCAAiC;EAAjC,iCAAiC;EACjC,YAAY;EACZ,sCAA8B;EAA9B,8BAA8B;ADjDhC;;ACuDA;EACE,mBAAmB;EACnB,kBAAkB;EAClB,oBAAoB;ADpDtB;;AC0DA;;EAEE,kBAAkB;ADvDpB;;AC0DA;;;EAGE,aAAa;EACb,mBAAmB;ADvDrB;;AC0DA;;;;EAIE,gBAAgB;ADvDlB;;AC0DA;EACE,gBC+L+B;AFtPjC;;AC4DA;EACE,oBAAoB;EACpB,cAAc;ADzDhB;;AC+DA;EACE,gBAAgB;AD5DlB;;ACoEA;;EAEE,mBCwKkC;AFzOpC;;ACyEA;EEqBM,kBAvE+B;AHnBrC;;AC4EA;EACE,cCiNgC;EDhNhC,yBCwNmC;AFjSrC;;ACkFA;;EAEE,kBAAkB;EECd,iBAvE+B;EFwEnC,cAAc;EACd,wBAAwB;AD/E1B;;ACkFA;EAAM,cAAc;AD9EpB;;AC+EA;EAAM,UAAU;AD3EhB;;ACgFA;EACE,cC/Ne;EDgOf,0BCLiD;AFxEnD;;AC2EA;EAKI,cCP8D;AFrElE;;ACsFA;EAGI,cAAc;EACd,qBAAqB;ADrFzB;;AC4FA;;;;EAIE,iGCmFgH;EC5H5G,cAvE+B;AHwBrC;;ACgGA;EACE,cAAc;EACd,aAAa;EACb,mBAAmB;EACnB,cAAc;EErDV,kBAvE+B;AHgCrC;;ACwFA;EEjDM,kBAvE+B;EFmIjC,cAAc;EACd,kBAAkB;AD9FtB;;ACkGA;EEjEM,kBAvE+B;EF0InC,cCnRe;EDoRf,qBAAqB;AD/FvB;;ACkGE;EACE,cAAc;AD/FlB;;ACmGA;EACE,sBC63BuC;EC18BnC,kBAvE+B;EFsJnC,WC5Ta;ED6Tb,yBCpTgB;EEEd,qBFiT+B;AF9FnC;;AC2FA;EAQI,UAAU;EEpFR,cAvE+B;EF6JjC,gBCoD6B;AFnJjC;;ACwGA;EACE,gBAAgB;ADrGlB;;AC2GA;;EAEE,sBAAsB;ADxGxB;;ACgHA;EACE,oBAAoB;EACpB,yBAAyB;AD7G3B;;ACgHA;EACE,mBC6FiC;ED5FjC,sBC4FiC;ED3FjC,cC/VgB;EDgWhB,gBAAgB;AD7GlB;;ACmHA;EACE,mBAAmB;EACnB,gCAAgC;ADhHlC;;ACwHA;EACE,qBAAqB;EACrB,qBCgL2C;AFrS7C;;AC2HA;EAEE,gBAAgB;ADzHlB;;ACgIA;EACE,mBAAmB;EACnB,0CAA0C;AD7H5C;;ACkIA;;;;;EAKE,SAAS;EACT,oBAAoB;EEvKhB,kBAvE+B;EFgPnC,oBAAoB;AD/HtB;;ACoIA;;EAEE,iBAAiB;ADjInB;;ACsIA;;EAEE,oBAAoB;ADnItB;;ACyIA;EACE,iBAAiB;ADtInB;;AAEA;EC2IE,aAAa;ADzIf;;ACiJA;;;;EAIE,0BAA0B;AD9I5B;;AC0IA;;;;EAQM,eAAe;AD3IrB;;ACkJA;EACE,UAAU;EACV,kBAAkB;AD/IpB;;ACwJA;;;;EAIE,6BAA6B;ADrJ/B;;AC0JA;EACE,gBAAgB;ADvJlB;;ACiKA;EACE,YAAY;EACZ,UAAU;EACV,SAAS;EACT,SAAS;AD9JX;;ACuKA;EACE,WAAW;EACX,WAAW;EACX,UAAU;EACV,qBC5EiC;EC5L3B,iCAf6B;EF0RnC,oBAAoB;EACpB,mBAAmB;ADrKrB;;AGzQI;EFsaJ;IE7PQ,iBAlF6B;EHuLnC;AACF;;ACuJA;EAWI,WAAW;AD9Jf;;ACqKA;;;;;;;EAOE,UAAU;ADlKZ;;ACqKA;EACE,YAAY;ADlKd;;AAEA;EC0KE,oBAAoB;EACpB,6BAA6B;ADxK/B;;AC6KA;EACE,wBAAwB;AD1K1B;;AC+KA;EACE,UAAU;AD5KZ;;ACkLA;EACE,aAAa;EACb,0BAA0B;AD/K5B;;ACoLA;EACE,qBAAqB;ADjLvB;;ACyLA;EACE,kBAAkB;EAClB,eAAe;ADtLjB;;AC8LA;EACE,wBAAwB;AD3L1B;;AAEA;ECkME,wBAAwB;ADhM1B","file":"bootstrap-reboot.css","sourcesContent":["/*!\n * Bootstrap Reboot v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"reboot\";\n","/*!\n * Bootstrap Reboot v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n background-color: #fff;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n margin: 1rem 0;\n color: inherit;\n background-color: currentColor;\n border: 0;\n opacity: 0.25;\n}\n\nhr:not([size]) {\n height: 1px;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1 {\n font-size: calc(1.375rem + 1.5vw);\n}\n\n@media (min-width: 1200px) {\n h1 {\n font-size: 2.5rem;\n }\n}\n\nh2 {\n font-size: calc(1.325rem + 0.9vw);\n}\n\n@media (min-width: 1200px) {\n h2 {\n font-size: 2rem;\n }\n}\n\nh3 {\n font-size: calc(1.3rem + 0.6vw);\n}\n\n@media (min-width: 1200px) {\n h3 {\n font-size: 1.75rem;\n }\n}\n\nh4 {\n font-size: calc(1.275rem + 0.3vw);\n}\n\n@media (min-width: 1200px) {\n h4 {\n font-size: 1.5rem;\n }\n}\n\nh5 {\n font-size: 1.25rem;\n}\n\nh6 {\n font-size: 1rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 0.875em;\n}\n\nmark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 0.75em;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #0d6efd;\n text-decoration: underline;\n}\n\na:hover {\n color: #024dbc;\n}\n\na:not([href]), a:not([href]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: 0.875em;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\ncode {\n font-size: 0.875em;\n color: #d63384;\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 0.875em;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 1em;\n font-weight: 700;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: #6c757d;\n text-align: left;\n}\n\nth {\n text-align: inherit;\n text-align: -webkit-match-parent;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nselect {\n word-wrap: normal;\n}\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: textfield;\n}\n\ntextarea {\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n float: left;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: calc(1.275rem + 0.3vw);\n line-height: inherit;\n white-space: normal;\n}\n\n@media (min-width: 1200px) {\n legend {\n font-size: 1.5rem;\n }\n}\n\nlegend + * {\n clear: left;\n}\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: textfield;\n}\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n\n// Root\n//\n// Ability to the value of the root font sizes, affecting the value of `rem`.\n// null by default, thus nothing is generated.\n\n:root {\n font-size: $font-size-root;\n}\n\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Prevent adjustments of font size after orientation changes in iOS.\n// 4. Change the default tap highlight to be completely transparent in iOS.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: $body-text-align;\n background-color: $body-bg; // 2\n -webkit-text-size-adjust: 100%; // 3\n -webkit-tap-highlight-color: rgba($black, 0); // 4\n}\n\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Reset Firefox's gray color\n// 2. Set correct height and prevent the `size` attribute to make the `hr` look like an input field\n// See https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_hr_size\n\nhr {\n margin: $hr-margin-y 0;\n color: $hr-color; // 1\n background-color: currentColor;\n border: 0;\n opacity: $hr-opacity;\n}\n\nhr:not([size]) {\n height: $hr-height; // 2\n}\n\n\n// Typography\n//\n// 1. Remove top margins from headings\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n\n%heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1 {\n @extend %heading;\n @include font-size($h1-font-size);\n}\n\nh2 {\n @extend %heading;\n @include font-size($h2-font-size);\n}\n\nh3 {\n @extend %heading;\n @include font-size($h3-font-size);\n}\n\nh4 {\n @extend %heading;\n @include font-size($h4-font-size);\n}\n\nh5 {\n @extend %heading;\n @include font-size($h5-font-size);\n}\n\nh6 {\n @extend %heading;\n @include font-size($h6-font-size);\n}\n\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\n\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n text-decoration-skip-ink: none; // 4\n}\n\n\n// Address\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\n\n// Lists\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\n// 1. Undo browser default\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // 1\n}\n\n\n// Blockquote\n\nblockquote {\n margin: 0 0 1rem;\n}\n\n\n// Strong\n//\n// Add the correct font weight in Chrome, Edge, and Safari\n\nb,\nstrong {\n font-weight: $font-weight-bolder;\n}\n\n\n// Small\n//\n// Add the correct font size in all browsers\n\nsmall {\n @include font-size($small-font-size);\n}\n\n\n// Mark\n\nmark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n// Sub and Sup\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n\nsub,\nsup {\n position: relative;\n @include font-size($sub-sup-font-size);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n// Links\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n\n &:hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n// Code\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\n// 1. Remove browser default top margin\n// 2. Reset browser default of `1em` to use `rem`s\n// 3. Don't allow content to break outside\n\npre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n\n kbd {\n padding: 0;\n @include font-size(1em);\n font-weight: $nested-kbd-font-weight;\n }\n}\n\n\n// Figures\n//\n// Apply a consistent margin strategy (matches our type styles).\n\nfigure {\n margin: 0 0 1rem;\n}\n\n\n// Images and content\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\n\n// Tables\n//\n// Prevent double borders\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n}\n\n// 1. Matches default `<td>` alignment by inheriting `text-align`.\n// 2. Fix alignment for Safari\n\nth {\n text-align: inherit; // 1\n text-align: -webkit-match-parent; // 2\n}\n\n\n// Forms\n//\n// 1. Allow labels to use `margin` for spacing.\n\nlabel {\n display: inline-block; // 1\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n// See https://github.com/twbs/bootstrap/issues/24093\n\nbutton {\n // stylelint-disable-next-line property-blacklist\n border-radius: 0;\n}\n\n// Work around a Firefox bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n// Credit https://github.com/suitcss/base/\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\n// 1. Remove the margin in Firefox and Safari\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // 1\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\n// Show the overflow in Edge\n\nbutton,\ninput {\n overflow: visible;\n}\n\n// Remove the inheritance of text transform in Firefox\n\nbutton,\nselect {\n text-transform: none;\n}\n\n// Remove the inheritance of word-wrap in Safari.\n// See https://github.com/twbs/bootstrap/issues/24990\n\nselect {\n word-wrap: normal;\n}\n\n// Remove the dropdown arrow in Chrome from inputs built with datalists.\n// See https://stackoverflow.com/a/54997118\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n// 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n\n @if $enable-pointer-cursor-for-buttons {\n &:not(:disabled) {\n cursor: pointer; // 3\n }\n }\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\n// Remove the default appearance of temporal inputs to avoid a Mobile Safari\n// bug where setting a custom line-height prevents text from being vertically\n// centered within the input.\n// See https://bugs.webkit.org/show_bug.cgi?id=139848\n// and https://github.com/twbs/bootstrap/issues/11266\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: textfield;\n}\n\n// 1. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\ntextarea {\n resize: vertical; // 1\n}\n\n// 1. Browsers set a default `min-width: min-content;` on fieldsets,\n// unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n// So we reset that to ensure fieldsets behave more like a standard block element.\n// See https://github.com/twbs/bootstrap/issues/12359\n// and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n// 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\nfieldset {\n min-width: 0; // 1\n padding: 0; // 2\n margin: 0; // 2\n border: 0; // 2\n}\n\n// 1. By using `float: left`, the legend will behave like a block element.\n// This way the border of a fieldset wraps around the legend if present.\n// 2. Correct the text wrapping in Edge.\n// 3. Fix wrapping bug.\n// See https://github.com/twbs/bootstrap/issues/29712\n\nlegend {\n float: left; // 1\n width: 100%;\n padding: 0;\n margin-bottom: $legend-margin-bottom;\n @include font-size($legend-font-size);\n font-weight: $legend-font-weight;\n line-height: inherit;\n white-space: normal; // 2\n\n + * {\n clear: left; // 3\n }\n}\n\n// Fix height of inputs with a type of datetime-local, date, month, week, or time\n// See https://github.com/twbs/bootstrap/issues/18842\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n// 1. Correct the outline style in Safari.\n// 2. This overrides the extra rounded corners on search inputs in iOS so that our\n// `.form-control` class can properly style them. Note that this cannot simply\n// be added to `.form-control` as it's not specific enough. For details, see\n// https://github.com/twbs/bootstrap/issues/11586.\n\n[type=\"search\"] {\n outline-offset: -2px; // 1\n -webkit-appearance: textfield; // 2\n}\n\n// Remove the inner padding in Chrome and Safari on macOS.\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n// Remove padding around color pickers in webkit browsers\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n// 1. Change font properties to `inherit` in Safari.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n\n::-webkit-file-upload-button {\n font: inherit; // 1\n -webkit-appearance: button; // 2\n}\n\n// Correct element displays\n\noutput {\n display: inline-block;\n}\n\n\n// Summary\n//\n// 1. Add the correct display in all browsers\n\nsummary {\n display: list-item; // 1\n cursor: pointer;\n}\n\n\n// Progress\n//\n// Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\nprogress {\n vertical-align: baseline;\n}\n\n\n// Hidden attribute\n//\n// Always hide an element with the `hidden` HTML attribute.\n\n[hidden] {\n display: none !important;\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n// fusv-disable\n$grays: (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n) !default;\n// fusv-enable\n\n$blue: #0d6efd !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #d63384 !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n) !default;\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n) !default;\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The contrast ratio to reach against white, to determine if color changes from \"light\" to \"dark\". Acceptable values for WCAG 2.0 are 3, 4.5 and 7.\n// See https://www.w3.org/TR/WCAG20/#visual-audio-contrast-contrast\n$min-contrast-ratio: 3 !default;\n\n// Customize the light and dark text colors for use in our color contrast function.\n$color-contrast-dark: $gray-900 !default;\n$color-contrast-light: $white !default;\n\n// fusv-disable\n$blue-100: tint-color($blue, 8) !default;\n$blue-200: tint-color($blue, 6) !default;\n$blue-300: tint-color($blue, 4) !default;\n$blue-400: tint-color($blue, 2) !default;\n$blue-500: $blue !default;\n$blue-600: shade-color($blue, 2) !default;\n$blue-700: shade-color($blue, 4) !default;\n$blue-800: shade-color($blue, 6) !default;\n$blue-900: shade-color($blue, 8) !default;\n\n$indigo-100: tint-color($indigo, 8) !default;\n$indigo-200: tint-color($indigo, 6) !default;\n$indigo-300: tint-color($indigo, 4) !default;\n$indigo-400: tint-color($indigo, 2) !default;\n$indigo-500: $indigo !default;\n$indigo-600: shade-color($indigo, 2) !default;\n$indigo-700: shade-color($indigo, 4) !default;\n$indigo-800: shade-color($indigo, 6) !default;\n$indigo-900: shade-color($indigo, 8) !default;\n\n$purple-100: tint-color($purple, 8) !default;\n$purple-200: tint-color($purple, 6) !default;\n$purple-300: tint-color($purple, 4) !default;\n$purple-400: tint-color($purple, 2) !default;\n$purple-500: $purple !default;\n$purple-600: shade-color($purple, 2) !default;\n$purple-700: shade-color($purple, 4) !default;\n$purple-800: shade-color($purple, 6) !default;\n$purple-900: shade-color($purple, 8) !default;\n\n$pink-100: tint-color($pink, 8) !default;\n$pink-200: tint-color($pink, 6) !default;\n$pink-300: tint-color($pink, 4) !default;\n$pink-400: tint-color($pink, 2) !default;\n$pink-500: $pink !default;\n$pink-600: shade-color($pink, 2) !default;\n$pink-700: shade-color($pink, 4) !default;\n$pink-800: shade-color($pink, 6) !default;\n$pink-900: shade-color($pink, 8) !default;\n\n$red-100: tint-color($red, 8) !default;\n$red-200: tint-color($red, 6) !default;\n$red-300: tint-color($red, 4) !default;\n$red-400: tint-color($red, 2) !default;\n$red-500: $red !default;\n$red-600: shade-color($red, 2) !default;\n$red-700: shade-color($red, 4) !default;\n$red-800: shade-color($red, 6) !default;\n$red-900: shade-color($red, 8) !default;\n\n$orange-100: tint-color($orange, 8) !default;\n$orange-200: tint-color($orange, 6) !default;\n$orange-300: tint-color($orange, 4) !default;\n$orange-400: tint-color($orange, 2) !default;\n$orange-500: $orange !default;\n$orange-600: shade-color($orange, 2) !default;\n$orange-700: shade-color($orange, 4) !default;\n$orange-800: shade-color($orange, 6) !default;\n$orange-900: shade-color($orange, 8) !default;\n\n$yellow-100: tint-color($yellow, 8) !default;\n$yellow-200: tint-color($yellow, 6) !default;\n$yellow-300: tint-color($yellow, 4) !default;\n$yellow-400: tint-color($yellow, 2) !default;\n$yellow-500: $yellow !default;\n$yellow-600: shade-color($yellow, 2) !default;\n$yellow-700: shade-color($yellow, 4) !default;\n$yellow-800: shade-color($yellow, 6) !default;\n$yellow-900: shade-color($yellow, 8) !default;\n\n$green-100: tint-color($green, 8) !default;\n$green-200: tint-color($green, 6) !default;\n$green-300: tint-color($green, 4) !default;\n$green-400: tint-color($green, 2) !default;\n$green-500: $green !default;\n$green-600: shade-color($green, 2) !default;\n$green-700: shade-color($green, 4) !default;\n$green-800: shade-color($green, 6) !default;\n$green-900: shade-color($green, 8) !default;\n\n$teal-100: tint-color($teal, 8) !default;\n$teal-200: tint-color($teal, 6) !default;\n$teal-300: tint-color($teal, 4) !default;\n$teal-400: tint-color($teal, 2) !default;\n$teal-500: $teal !default;\n$teal-600: shade-color($teal, 2) !default;\n$teal-700: shade-color($teal, 4) !default;\n$teal-800: shade-color($teal, 6) !default;\n$teal-900: shade-color($teal, 8) !default;\n\n$cyan-100: tint-color($cyan, 8) !default;\n$cyan-200: tint-color($cyan, 6) !default;\n$cyan-300: tint-color($cyan, 4) !default;\n$cyan-400: tint-color($cyan, 2) !default;\n$cyan-500: $cyan !default;\n$cyan-600: shade-color($cyan, 2) !default;\n$cyan-700: shade-color($cyan, 4) !default;\n$cyan-800: shade-color($cyan, 6) !default;\n$cyan-900: shade-color($cyan, 8) !default;\n// fusv-enable\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\",\"%3c\"),\n (\">\",\"%3e\"),\n (\"#\",\"%23\"),\n (\"(\",\"%28\"),\n (\")\",\"%29\"),\n) !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-prefers-reduced-motion-media-query: true !default;\n$enable-grid-classes: true !default;\n$enable-pointer-cursor-for-buttons: true !default;\n$enable-rfs: true !default;\n$enable-validation-icons: true !default;\n$enable-deprecation-messages: true !default;\n$enable-important-utilities: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: (\n 0: 0,\n 1: $spacer * .25,\n 2: $spacer * .5,\n 3: $spacer,\n 4: $spacer * 1.5,\n 5: $spacer * 3,\n) !default;\n\n$negative-spacers: negativify-map($spacers) !default;\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n$body-text-align: null !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: $primary !default;\n$link-decoration: underline !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: null !default;\n// Darken percentage for links with `.text-*` class (e.g. `.text-success`)\n$emphasized-link-hover-darken-percentage: 15% !default;\n\n$stretched-link-pseudo-element: after !default;\n$stretched-link-z-index: 1 !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 1.5rem !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Container padding\n\n$container-padding-x: 1rem !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$rounded-pill: 50rem !default;\n\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n$box-shadow-inset: inset 0 1px 2px rgba($black, .075) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: $primary !default;\n\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n$embed-responsive-aspect-ratios: (\n \"21by9\": (\n x: 21,\n y: 9\n ),\n \"16by9\": (\n x: 16,\n y: 9\n ),\n \"4by3\": (\n x: 4,\n y: 3\n ),\n \"1by1\": (\n x: 1,\n y: 1\n )\n) !default;\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n// $font-size-root effects the value of `rem`, which is used for as well font sizes, paddings and margins\n// $font-size-base effects the font size of the body text\n$font-size-root: null !default;\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: $font-size-base * 1.25 !default;\n$font-size-sm: $font-size-base * .875 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n\n$line-height-base: 1.5 !default;\n$line-height-lg: 2 !default;\n$line-height-sm: 1.25 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: $spacer / 2 !default;\n$headings-font-family: null !default;\n$headings-font-style: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: null !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: .875em !default;\n\n$sub-sup-font-size: .75em !default;\n\n$text-muted: $gray-600 !default;\n\n$initialism-font-size: $small-font-size !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-small-font-size: $small-font-size !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n\n$hr-margin-y: $spacer !default;\n$hr-color: inherit !default;\n$hr-height: $border-width !default;\n$hr-opacity: .25 !default;\n\n$legend-margin-bottom: .5rem !default;\n$legend-font-size: 1.5rem !default;\n$legend-font-weight: null !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .5rem !default;\n$table-cell-padding-sm: .25rem !default;\n\n$table-cell-vertical-align: top !default;\n\n$table-color: $body-color !default;\n$table-bg: null !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-color: $table-color !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n$table-head-border-color: $gray-700 !default;\n\n$table-dark-color: $white !default;\n$table-dark-bg: $gray-800 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-color: $table-dark-color !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($table-dark-bg, 7.5%) !default;\n\n$table-striped-order: odd !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-level: -9 !default;\n$table-border-level: -6 !default;\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color-opacity: .25 !default;\n$input-btn-focus-color: rgba($component-active-bg, $input-btn-focus-color-opacity) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-color: $link-color !default;\n$btn-link-hover-color: $link-hover-color !default;\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$label-margin-bottom: .5rem !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n$input-disabled-border-color: null !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: $box-shadow-inset !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y / 2) !default;\n\n$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n$input-height-sm: add($input-line-height * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n$input-height-lg: add($input-line-height * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n$form-check-input-width: 1.25em !default;\n$form-check-min-height: $font-size-base * $line-height-base !default;\n$form-check-padding-left: $form-check-input-width + .5em !default;\n$form-check-margin-bottom: .125rem !default;\n$form-check-label-color: null !default;\n$form-check-label-cursor: null !default;\n\n$form-check-input-active-filter: brightness(90%) !default;\n\n$form-check-input-bg: $body-bg !default;\n$form-check-input-border: 1px solid rgba(0, 0, 0, .25) !default;\n$form-check-input-border-radius: .25em !default;\n$form-check-radio-border-radius: 50% !default;\n$form-check-input-focus-border: $input-focus-border-color !default;\n$form-check-input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$form-check-input-checked-color: $component-active-color !default;\n$form-check-input-checked-bg-color: $component-active-bg !default;\n$form-check-input-checked-border-color: $form-check-input-checked-bg-color !default;\n$form-check-input-checked-bg-repeat: no-repeat !default;\n$form-check-input-checked-bg-position: center center !default;\n$form-check-input-checked-bg-size: 1em !default;\n$form-check-input-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-check-input-checked-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M4 8.5L6.5 11l6-6'/></svg>\") !default;\n$form-check-radio-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='2' fill='#{$form-check-input-checked-color}'/></svg>\") !default;\n\n$form-check-input-indeterminate-color: $component-active-color !default;\n$form-check-input-indeterminate-bg-color: $component-active-bg !default;\n$form-check-input-indeterminate-border-color: $form-check-input-indeterminate-bg-color !default;\n$form-check-input-indeterminate-bg-repeat: no-repeat !default;\n$form-check-input-indeterminate-bg-position: center center !default;\n$form-check-input-indeterminate-bg-size: 1em !default;\n$form-check-input-indeterminate-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-check-input-indeterminate-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M5 8h6'/></svg>\") !default;\n\n$form-switch-color: rgba(0, 0, 0, .25) !default;\n$form-switch-width: 2em !default;\n$form-switch-padding-left: $form-switch-width + .5em !default;\n$form-switch-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-color}'/></svg>\") !default;\n$form-switch-bg-size: contain !default;\n$form-switch-border-radius: $form-switch-width !default;\n$form-switch-transition: .2s ease-in-out !default;\n$form-switch-transition-property: background-position, background-color !default;\n\n$form-switch-focus-color: hsla(211, 100%, 75%, 1) !default;\n$form-switch-focus-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-focus-color}'/></svg>\") !default;\n\n$form-switch-checked-color: $component-active-color !default;\n$form-switch-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-checked-color}'/></svg>\") !default;\n$form-switch-checked-bg-position: right center !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-inline-margin-right: 1rem !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n\n$form-select-padding-y: $input-padding-y !default;\n$form-select-padding-x: $input-padding-x !default;\n$form-select-font-family: $input-font-family !default;\n$form-select-font-size: $input-font-size !default;\n$form-select-height: $input-height !default;\n$form-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$form-select-font-weight: $input-font-weight !default;\n$form-select-line-height: $input-line-height !default;\n$form-select-color: $input-color !default;\n$form-select-disabled-color: $gray-600 !default;\n$form-select-bg: $input-bg !default;\n$form-select-disabled-bg: $gray-200 !default;\n$form-select-disabled-border-color: $input-disabled-border-color !default;\n$form-select-bg-position: right $form-select-padding-x center !default;\n$form-select-bg-size: 16px 12px !default; // In pixels because image dimensions\n$form-select-indicator-color: $gray-800 !default;\n$form-select-indicator: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-select-indicator-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/></svg>\") !default;\n\n$form-select-feedback-icon-padding-right: add(1em * .75, (2 * $form-select-padding-y * .75) + $form-select-padding-x + $form-select-indicator-padding) !default;\n$form-select-feedback-icon-position: center right ($form-select-padding-x + $form-select-indicator-padding) !default;\n$form-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$form-select-border-width: $input-border-width !default;\n$form-select-border-color: $input-border-color !default;\n$form-select-border-radius: $border-radius !default;\n$form-select-box-shadow: $box-shadow-inset !default;\n\n$form-select-focus-border-color: $input-focus-border-color !default;\n$form-select-focus-width: $input-focus-width !default;\n$form-select-focus-box-shadow: 0 0 0 $form-select-focus-width $input-btn-focus-color !default;\n\n$form-select-padding-y-sm: $input-padding-y-sm !default;\n$form-select-padding-x-sm: $input-padding-x-sm !default;\n$form-select-font-size-sm: $input-font-size-sm !default;\n$form-select-height-sm: $input-height-sm !default;\n\n$form-select-padding-y-lg: $input-padding-y-lg !default;\n$form-select-padding-x-lg: $input-padding-x-lg !default;\n$form-select-font-size-lg: $input-font-size-lg !default;\n$form-select-height-lg: $input-height-lg !default;\n\n$form-range-track-width: 100% !default;\n$form-range-track-height: .5rem !default;\n$form-range-track-cursor: pointer !default;\n$form-range-track-bg: $gray-300 !default;\n$form-range-track-border-radius: 1rem !default;\n$form-range-track-box-shadow: $box-shadow-inset !default;\n\n$form-range-thumb-width: 1rem !default;\n$form-range-thumb-height: $form-range-thumb-width !default;\n$form-range-thumb-bg: $component-active-bg !default;\n$form-range-thumb-border: 0 !default;\n$form-range-thumb-border-radius: 1rem !default;\n$form-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$form-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$form-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in Edge\n$form-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\n$form-range-thumb-disabled-bg: $gray-500 !default;\n$form-range-thumb-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-file-height: $input-height !default;\n$form-file-focus-border-color: $input-focus-border-color !default;\n$form-file-focus-box-shadow: $input-focus-box-shadow !default;\n$form-file-disabled-bg: $input-disabled-bg !default;\n$form-file-disabled-border-color: $input-disabled-border-color !default;\n\n$form-file-padding-y: $input-padding-y !default;\n$form-file-padding-x: $input-padding-x !default;\n$form-file-line-height: $input-line-height !default;\n$form-file-font-family: $input-font-family !default;\n$form-file-font-weight: $input-font-weight !default;\n$form-file-color: $input-color !default;\n$form-file-bg: $input-bg !default;\n$form-file-border-width: $input-border-width !default;\n$form-file-border-color: $input-border-color !default;\n$form-file-border-radius: $input-border-radius !default;\n$form-file-box-shadow: $input-box-shadow !default;\n$form-file-button-color: $form-file-color !default;\n$form-file-button-bg: $input-group-addon-bg !default;\n\n$form-file-padding-y-sm: $input-padding-y-sm !default;\n$form-file-padding-x-sm: $input-padding-x-sm !default;\n$form-file-font-size-sm: $input-font-size-sm !default;\n$form-file-height-sm: $input-height-sm !default;\n\n$form-file-padding-y-lg: $input-padding-y-lg !default;\n$form-file-padding-x-lg: $input-padding-x-lg !default;\n$form-file-font-size-lg: $input-font-size-lg !default;\n$form-file-height-lg: $input-height-lg !default;\n\n\n// Form validation\n\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: $success !default;\n$form-feedback-invalid-color: $danger !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/></svg>\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}' viewBox='0 0 12 12'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>\") !default;\n\n$form-validation-states: (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n )\n) !default;\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n\n// Navbar\n\n$navbar-padding-y: $spacer / 2 !default;\n$navbar-padding-x: null !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n$navbar-brand-margin-right: 1rem !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n$navbar-toggler-focus-width: $btn-focus-width !default;\n$navbar-toggler-transition: box-shadow .15s ease-in-out !default;\n\n$navbar-dark-color: rgba($white, .55) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .55) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-divider-margin-y: $spacer / 2 !default;\n$dropdown-box-shadow: $box-shadow !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n$dropdown-header-padding: $dropdown-padding-y $dropdown-item-padding-x !default;\n\n\n// Pagination\n\n$pagination-padding-y: .375rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-radius: $border-radius !default;\n$pagination-margin-left: -$pagination-border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n\n// Cards\n\n$card-spacer-y: 1.25rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-title-spacer-y: .75rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;\n$card-cap-padding-y: .75rem !default;\n$card-cap-padding-x: 1.25rem !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: $grid-gutter-width / 2 !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n// Form tooltips must come after regular tooltips\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: null !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default;\n$popover-box-shadow: $box-shadow !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Toasts\n\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .25rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba(0, 0, 0, .1) !default;\n$toast-border-radius: $border-radius !default;\n$toast-box-shadow: $box-shadow !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\n\n\n// Badges\n\n$badge-font-size: .75em !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-color: $white !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .5em !default;\n$badge-border-radius: $border-radius !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs: $box-shadow-sm !default;\n$modal-content-box-shadow-sm-up: $box-shadow !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: 1rem !default;\n$modal-header-padding-x: 1rem !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-xl: 1140px !default;\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n$modal-scale-transform: scale(1.02) !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: $box-shadow-inset !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: $primary !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n\n// List group\n\n$list-group-color: null !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: $box-shadow-sm !default;\n\n\n// Figures\n\n$figure-caption-font-size: $small-font-size !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-font-size: null !default;\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding-x: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n\n$breadcrumb-border-radius: $border-radius !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-opacity: .5 !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-active-opacity: 1 !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n$carousel-caption-padding-y: 1.25rem !default;\n$carousel-caption-spacer: 1.25rem !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'><path d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/></svg>\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'><path d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/></svg>\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n\n// Spinners\n\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-border-width: .25em !default;\n$spinner-animation-speed: .75s !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n\n// Code\n\n$code-font-size: $small-font-size !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: null !default;\n","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated responsive values for font sizes, paddings, margins and much more\n//\n// Licensed under MIT (https://github.com/twbs/rfs/blob/master/LICENSE)\n\n// Configuration\n\n// Base value\n$rfs-base-value: 1.25rem !default;\n$rfs-unit: rem !default;\n\n@if $rfs-unit != rem and $rfs-unit != px {\n @error \"`#{$rfs-unit}` is not a valid unit for $rfs-unit. Use `px` or `rem`.\";\n}\n\n// Breakpoint at where values start decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n}\n\n// Resize values based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != number or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Mode. Possibilities: \"min-media-query\", \"max-media-query\"\n$rfs-mode: min-media-query !default;\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-rfs to false\n$enable-rfs: true !default;\n\n// Cache $rfs-base-value unit\n$rfs-base-value-unit: unit($rfs-base-value);\n\n// Remove px-unit from $rfs-base-value for calculations\n@if $rfs-base-value-unit == px {\n $rfs-base-value: $rfs-base-value / ($rfs-base-value * 0 + 1);\n}\n@else if $rfs-base-value-unit == rem {\n $rfs-base-value: $rfs-base-value / ($rfs-base-value * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == px {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == rem or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Calculate the media query value\n$rfs-mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit});\n$rfs-mq-property-width: if($rfs-mode == max-media-query, max-width, min-width);\n$rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height);\n\n// Internal mixin used to determine which media query needs to be used\n@mixin _rfs-media-query {\n @if $rfs-two-dimensional {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}), (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n @content;\n }\n }\n @else {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) {\n @content;\n }\n }\n}\n\n// Internal mixin that adds disable classes to the selector if needed.\n@mixin _rfs-rule {\n @if $rfs-class == disable and $rfs-mode == max-media-query {\n // Adding an extra class increases specificity, which prevents the media query to override the property\n &,\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @else if $rfs-class == enable and $rfs-mode == min-media-query {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n// Internal mixin that adds enable classes to the selector if needed.\n@mixin _rfs-media-query-rule {\n\n @if $rfs-class == enable {\n @if $rfs-mode == min-media-query {\n @content;\n }\n\n @include _rfs-media-query {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n }\n }\n @else {\n @if $rfs-class == disable and $rfs-mode == min-media-query {\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @include _rfs-media-query {\n @content;\n }\n }\n}\n\n// Helper function to get the formatted non-responsive value\n@function rfs-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: '';\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + ' 0';\n }\n @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n @if $unit == px {\n // Convert to rem if needed\n $val: $val + ' ' + if($rfs-unit == rem, #{$value / ($value * 0 + $rfs-rem-value)}rem, $value);\n }\n @else if $unit == rem {\n // Convert to px if needed\n $val: $val + ' ' + if($rfs-unit == px, #{$value / ($value * 0 + 1) * $rfs-rem-value}px, $value);\n }\n @else {\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n $val: $val + ' ' + $value;\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// Helper function to get the responsive value calculated by RFS\n@function rfs-fluid-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: '';\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + ' 0';\n }\n\n @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $unit or $unit != px and $unit != rem {\n $val: $val + ' ' + $value;\n }\n\n @else {\n // Remove unit from $value for calculations\n $value: $value / ($value * 0 + if($unit == px, 1, 1 / $rfs-rem-value));\n\n // Only add the media query if the value is greater than the minimum value\n @if abs($value) <= $rfs-base-value or not $enable-rfs {\n $val: $val + ' ' + if($rfs-unit == rem, #{$value / $rfs-rem-value}rem, #{$value}px);\n }\n @else {\n // Calculate the minimum value\n $value-min: $rfs-base-value + (abs($value) - $rfs-base-value) / $rfs-factor;\n\n // Calculate difference between $value and the minimum value\n $value-diff: abs($value) - $value-min;\n\n // Base value formatting\n $min-width: if($rfs-unit == rem, #{$value-min / $rfs-rem-value}rem, #{$value-min}px);\n\n // Use negative value if needed\n $min-width: if($value < 0, -$min-width, $min-width);\n\n // Use `vmin` if two-dimensional is enabled\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$value-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Return the calculated value\n $val: $val + ' calc(' + $min-width + if($value < 0, ' - ', ' + ') + $variable-width + ')';\n }\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// RFS mixin\n@mixin rfs($values, $property: font-size) {\n @if $values != null {\n $val: rfs-value($values);\n $fluidVal: rfs-fluid-value($values);\n\n // Do not print the media query if responsive & non-responsive values are the same\n @if $val == $fluidVal {\n #{$property}: $val;\n }\n @else {\n @include _rfs-rule {\n #{$property}: if($rfs-mode == max-media-query, $val, $fluidVal);\n\n // Include safari iframe resize fix if needed\n min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null);\n }\n\n @include _rfs-media-query-rule {\n #{$property}: if($rfs-mode == max-media-query, $fluidVal, $val);\n }\n }\n }\n}\n\n// Shorthand helper mixins\n@mixin font-size($value) {\n @include rfs($value);\n}\n\n@mixin padding($value) {\n @include rfs($value, padding);\n}\n\n@mixin padding-top($value) {\n @include rfs($value, padding-top);\n}\n\n@mixin padding-right($value) {\n @include rfs($value, padding-right);\n}\n\n@mixin padding-bottom($value) {\n @include rfs($value, padding-bottom);\n}\n\n@mixin padding-left($value) {\n @include rfs($value, padding-left);\n}\n\n@mixin margin($value) {\n @include rfs($value, margin);\n}\n\n@mixin margin-top($value) {\n @include rfs($value, margin-top);\n}\n\n@mixin margin-right($value) {\n @include rfs($value, margin-right);\n}\n\n@mixin margin-bottom($value) {\n @include rfs($value, margin-bottom);\n}\n\n@mixin margin-left($value) {\n @include rfs($value, margin-left);\n}\n","// stylelint-disable property-blacklist\n// Single side border-radius\n\n// Helper function to replace negative values with 0\n@function valid-radius($radius) {\n $return: ();\n @each $value in $radius {\n @if type-of($value) == number {\n $return: append($return, max($value, 0));\n } @else {\n $return: append($return, $value);\n }\n }\n @return $return;\n}\n\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: valid-radius($radius);\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-right-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-left-radius($radius) {\n @if $enable-rounded {\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n"]} \ No newline at end of file
diff --git a/dist/css/bootstrap-reboot.min.css b/dist/css/bootstrap-reboot.min.css
index 89240f017c..764b7f9f98 100644
--- a/dist/css/bootstrap-reboot.min.css
+++ b/dist/css/bootstrap-reboot.min.css
@@ -1,8 +1,8 @@
/*!
* Bootstrap Reboot v4.3.1 (https://getbootstrap.com/)
- * Copyright 2011-2019 The Bootstrap Authors
- * Copyright 2011-2019 Twitter, Inc.
+ * Copyright 2011-2020 The Bootstrap Authors
+ * Copyright 2011-2020 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
- */*,::after,::before{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:none}a:hover{color:#024dbc;text-decoration:underline}a:not([href]),a:not([href]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img{vertical-align:middle}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:textfield}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}mark{padding:.2em;background-color:#fcf8e3}progress{vertical-align:baseline}::-webkit-datetime-edit{overflow:visible;line-height:0}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}main{display:block}[hidden]{display:none!important}
+ */*,::after,::before{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#024dbc}a:not([href]),a:not([href]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:textfield}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit;white-space:normal}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}
/*# sourceMappingURL=bootstrap-reboot.min.css.map */ \ No newline at end of file
diff --git a/dist/css/bootstrap-reboot.min.css.map b/dist/css/bootstrap-reboot.min.css.map
index 3f3e713a49..675081d2f6 100644
--- a/dist/css/bootstrap-reboot.min.css.map
+++ b/dist/css/bootstrap-reboot.min.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/bootstrap-reboot.scss","../../scss/_reboot.scss","dist/css/bootstrap-reboot.css","../../scss/vendor/_rfs.scss","bootstrap-reboot.css","../../scss/mixins/_border-radius.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap Reboot v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"reboot\";\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n// Root\n//\n// 1. Ability to the value of the root font sizes, affecting the value of `rem`.\n// null by default, thus nothing is generated.\n\n:root {\n font-size: $font-size-root; // 1\n}\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 4. Change the default tap highlight to be completely transparent in iOS.\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: $body-text-align;\n background-color: $body-bg; // 2\n -webkit-text-size-adjust: 100%; // 3\n -webkit-tap-highlight-color: rgba($black, 0); // 4\n}\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n//\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Reset Firefox's gray color\n// 2. Set correct height and prevent the `size` attribute to make the `hr` look like an input field\n// See https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_hr_size\n\nhr {\n margin: $hr-margin-y 0;\n color: $hr-color; // 1\n background-color: currentColor;\n border: 0;\n opacity: $hr-opacity;\n}\n\nhr:not([size]) {\n height: $hr-height; // 2\n}\n\n\n// Typography\n//\n// 1. Remove top margins from headings\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n\n%heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1 {\n @extend %heading;\n @include font-size($h1-font-size);\n}\n\nh2 {\n @extend %heading;\n @include font-size($h2-font-size);\n}\n\nh3 {\n @extend %heading;\n @include font-size($h3-font-size);\n}\n\nh4 {\n @extend %heading;\n @include font-size($h4-font-size);\n}\n\nh5 {\n @extend %heading;\n @include font-size($h5-font-size);\n}\n\nh6 {\n @extend %heading;\n @include font-size($h6-font-size);\n}\n\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\n\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n text-decoration-skip-ink: none; // 4\n}\n\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\n// 1. Undo browser default\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // 1\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\n// Add the correct font weight in Chrome, Edge, and Safari\n\nb,\nstrong {\n font-weight: $font-weight-bolder;\n}\n\n\n// Add the correct font size in all browsers\n\nsmall {\n @include font-size($small-font-size);\n}\n\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n\nsub,\nsup {\n position: relative;\n @include font-size($sub-sup-font-size);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n// Links\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n\n &:hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n// Code\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\n// 1. Remove browser default top margin\n// 2. Reset browser default of `1em` to use `rem`s\n// 3. Don't allow content to break outside\n\npre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n\n kbd {\n padding: 0;\n @include font-size(1em);\n font-weight: $nested-kbd-font-weight;\n }\n}\n\n\n// Figures\n\n// Apply a consistent margin strategy (matches our type styles).\n\nfigure {\n margin: 0 0 1rem;\n}\n\n\n// Images and content\n\nimg {\n vertical-align: middle;\n}\n\n// 1. Workaround for the SVG overflow bug in IE 11 is still required.\n// See https://github.com/twbs/bootstrap/issues/26878\n\nsvg {\n overflow: hidden; // 1\n vertical-align: middle;\n}\n\n\n// Tables\n\n// Prevent double borders\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\n// Matches default `<td>` alignment by inheriting from the `<body>`, or the\n// closest parent with a set `text-align`.\n\nth {\n text-align: inherit;\n}\n\n\n// Forms\n\n// 1. Allow labels to use `margin` for spacing.\n\nlabel {\n display: inline-block; // 1\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\n\nbutton {\n // stylelint-disable-next-line property-blacklist\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\n// 1. Remove the margin in Firefox and Safari\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\n// Show the overflow in Edge\n\nbutton,\ninput {\n overflow: visible;\n}\n\n// Remove the inheritance of text transform in Firefox\n\nbutton,\nselect {\n text-transform: none;\n}\n\n// Remove the inheritance of word-wrap in Safari.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24990\n\nselect {\n word-wrap: normal;\n}\n\n// Remove the dropdown arrow in Chrome from inputs built with datalists.\n//\n// Source: https://stackoverflow.com/a/54997118\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n// 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n\n @if $enable-pointer-cursor-for-buttons {\n &:not(:disabled) {\n cursor: pointer; // 3\n }\n }\n}\n\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\n\n// Remove the default appearance of temporal inputs to avoid a Mobile Safari\n// bug where setting a custom line-height prevents text from being vertically\n// centered within the input.\n// See https://bugs.webkit.org/show_bug.cgi?id=139848\n// and https://github.com/twbs/bootstrap/issues/11266\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: textfield;\n}\n\n// 1. Remove the default vertical scrollbar in IE.\n// 2. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\ntextarea {\n overflow: auto; // 1\n resize: vertical; // 2\n}\n\n// 1. Browsers set a default `min-width: min-content;` on fieldsets,\n// unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n// So we reset that to ensure fieldsets behave more like a standard block element.\n// See https://github.com/twbs/bootstrap/issues/12359\n// and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n// 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\nfieldset {\n min-width: 0; // 1\n padding: 0; // 2\n margin: 0; // 2\n border: 0; // 2\n}\n\n\n// 1. By using `float: left`, the legend will behave like a block element\n// 2. Correct the color inheritance from `fieldset` elements in IE.\n// 3. Correct the text wrapping in Edge and IE.\n\nlegend {\n float: left; // 1\n width: 100%;\n padding: 0;\n margin-bottom: $legend-margin-bottom;\n @include font-size($legend-font-size);\n font-weight: $legend-font-weight;\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 3\n}\n\n\nmark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n// Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\nprogress {\n vertical-align: baseline;\n}\n\n\n// Fix height of inputs with a type of datetime-local, date, month, week, or time\n// See https://github.com/twbs/bootstrap/issues/18842\n\n::-webkit-datetime-edit {\n overflow: visible;\n line-height: 0;\n}\n\n\n// 1. Correct the outline style in Safari.\n// 2. This overrides the extra rounded corners on search inputs in iOS so that our\n// `.form-control` class can properly style them. Note that this cannot simply\n// be added to `.form-control` as it's not specific enough. For details, see\n// https://github.com/twbs/bootstrap/issues/11586.\n\n[type=\"search\"] {\n outline-offset: -2px; // 1\n -webkit-appearance: textfield; // 2\n}\n\n// Remove the inner padding in Chrome and Safari on macOS.\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n// Remove padding around color pickers in webkit browsers\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n// 1. Change font properties to `inherit` in Safari.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n\n::-webkit-file-upload-button {\n font: inherit; // 1\n -webkit-appearance: button; // 2\n}\n\n// Correct element displays\n\noutput {\n display: inline-block;\n}\n\n// 1. Add the correct display in all browsers\n\nsummary {\n display: list-item; // 1\n cursor: pointer;\n}\n\n// Add the correct display for template & main in IE 11\n\ntemplate {\n display: none;\n}\n\nmain {\n display: block;\n}\n\n// Always hide an element with the `hidden` HTML attribute.\n\n[hidden] {\n display: none !important;\n}\n","/*!\n * Bootstrap Reboot v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n background-color: #fff;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n margin: 1rem 0;\n color: inherit;\n background-color: currentColor;\n border: 0;\n opacity: 0.25;\n}\n\nhr:not([size]) {\n height: 1px;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1 {\n font-size: 2.5rem;\n}\n\nh2 {\n font-size: 2rem;\n}\n\nh3 {\n font-size: 1.75rem;\n}\n\nh4 {\n font-size: 1.5rem;\n}\n\nh5 {\n font-size: 1.25rem;\n}\n\nh6 {\n font-size: 1rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n cursor: help;\n -webkit-text-decoration-skip-ink: none;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 0.875em;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 0.75em;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #0d6efd;\n text-decoration: none;\n}\n\na:hover {\n color: #024dbc;\n text-decoration: underline;\n}\n\na:not([href]), a:not([href]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: 0.875em;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\ncode {\n font-size: 0.875em;\n color: #d63384;\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 0.875em;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 1em;\n font-weight: 700;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nselect {\n word-wrap: normal;\n}\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: textfield;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n float: left;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nmark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n::-webkit-datetime-edit {\n overflow: visible;\n line-height: 0;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: textfield;\n}\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\nmain {\n display: block;\n}\n\n[hidden] {\n display: none !important;\n}\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated responsive font sizes\n//\n// Licensed under MIT (https://github.com/twbs/rfs/blob/master/LICENSE)\n\n// Configuration\n\n// Base font size\n$rfs-base-font-size: 1.25rem !default;\n$rfs-font-size-unit: rem !default;\n\n@if $rfs-font-size-unit != rem and $rfs-font-size-unit != px {\n @error \"`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.\";\n}\n\n// Breakpoint at where font-size starts decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n}\n\n// Resize font size based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != \"number\" or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-responsive-font-sizes to false\n$enable-responsive-font-sizes: true !default;\n\n// Cache $rfs-base-font-size unit\n$rfs-base-font-size-unit: unit($rfs-base-font-size);\n\n// Remove px-unit from $rfs-base-font-size for calculations\n@if $rfs-base-font-size-unit == \"px\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1);\n}\n@else if $rfs-base-font-size-unit == \"rem\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == \"px\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == \"rem\" or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Internal mixin that adds disable classes to the selector if needed.\n@mixin _rfs-disable-class {\n @if $rfs-class == \"disable\" {\n // Adding an extra class increases specificity, which prevents the media query to override the font size\n &,\n .disable-responsive-font-size &,\n &.disable-responsive-font-size {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n// Internal mixin that adds enable classes to the selector if needed.\n@mixin _rfs-enable-class {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n// Internal mixin used to determine which media query needs to be used\n@mixin _rfs-media-query($mq-value) {\n @if $rfs-two-dimensional {\n @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {\n @content;\n }\n }\n @else {\n @media (max-width: #{$mq-value}) {\n @content;\n }\n }\n}\n\n// Responsive font size mixin\n@mixin rfs($fs, $important: false) {\n // Cache $fs unit\n $fs-unit: if(type-of($fs) == \"number\", unit($fs), false);\n\n // Add !important suffix if needed\n $rfs-suffix: if($important, \" !important\", \"\");\n\n // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $fs-unit or $fs-unit != \"\" and $fs-unit != \"px\" and $fs-unit != \"rem\" or $fs == 0 {\n font-size: #{$fs}#{$rfs-suffix};\n }\n @else {\n // Remove unit from $fs for calculations\n @if $fs-unit == \"px\" {\n $fs: $fs / ($fs * 0 + 1);\n }\n @else if $fs-unit == \"rem\" {\n $fs: $fs / ($fs * 0 + 1 / $rfs-rem-value);\n }\n\n // Set default font size\n $rfs-static: if($rfs-font-size-unit == rem, #{$fs / $rfs-rem-value}rem, #{$fs}px);\n\n // Only add the media query if the font size is bigger than the minimum font size\n @if $fs <= $rfs-base-font-size or not $enable-responsive-font-sizes {\n font-size: #{$rfs-static}#{$rfs-suffix};\n }\n @else {\n // Calculate the minimum font size for $fs\n $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;\n\n // Calculate difference between $fs and the minimum font size\n $fs-diff: $fs - $fs-min;\n\n // Base font-size formatting\n $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);\n\n // Use `vmin` if two-dimensional is enabled\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Set the calculated font-size\n $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};\n\n // Breakpoint formatting\n $mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit});\n\n @include _rfs-disable-class {\n font-size: #{$rfs-static}#{$rfs-suffix};\n }\n\n @include _rfs-media-query($mq-value) {\n @include _rfs-enable-class {\n font-size: $rfs-fluid;\n }\n\n // Include safari iframe resize fix if needed\n min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null);\n }\n }\n }\n}\n\n// The font-size & responsive-font-size mixins use RFS to rescale the font size\n@mixin font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n\n@mixin responsive-font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n","/*!\n * Bootstrap Reboot v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n background-color: #fff;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n margin: 1rem 0;\n color: inherit;\n background-color: currentColor;\n border: 0;\n opacity: 0.25;\n}\n\nhr:not([size]) {\n height: 1px;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1 {\n font-size: 2.5rem;\n}\n\nh2 {\n font-size: 2rem;\n}\n\nh3 {\n font-size: 1.75rem;\n}\n\nh4 {\n font-size: 1.5rem;\n}\n\nh5 {\n font-size: 1.25rem;\n}\n\nh6 {\n font-size: 1rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 0.875em;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 0.75em;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #0d6efd;\n text-decoration: none;\n}\n\na:hover {\n color: #024dbc;\n text-decoration: underline;\n}\n\na:not([href]), a:not([href]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: 0.875em;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\ncode {\n font-size: 0.875em;\n color: #d63384;\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 0.875em;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 1em;\n font-weight: 700;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nselect {\n word-wrap: normal;\n}\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: textfield;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n float: left;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nmark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n::-webkit-datetime-edit {\n overflow: visible;\n line-height: 0;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: textfield;\n}\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\nmain {\n display: block;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// stylelint-disable property-blacklist\n// Single side border-radius\n\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: $radius;\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-top-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n }\n}\n\n@mixin border-top-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-right-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-left-radius($radius) {\n @if $enable-rounded {\n border-bottom-left-radius: $radius;\n }\n}\n"]} \ No newline at end of file
+{"version":3,"sources":["../../scss/bootstrap-reboot.scss","../../scss/_reboot.scss","dist/css/bootstrap-reboot.css","../../scss/vendor/_rfs.scss","bootstrap-reboot.css","../../scss/mixins/_border-radius.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap Reboot v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"reboot\";\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n\n// Root\n//\n// Ability to the value of the root font sizes, affecting the value of `rem`.\n// null by default, thus nothing is generated.\n\n:root {\n font-size: $font-size-root;\n}\n\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Prevent adjustments of font size after orientation changes in iOS.\n// 4. Change the default tap highlight to be completely transparent in iOS.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: $body-text-align;\n background-color: $body-bg; // 2\n -webkit-text-size-adjust: 100%; // 3\n -webkit-tap-highlight-color: rgba($black, 0); // 4\n}\n\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Reset Firefox's gray color\n// 2. Set correct height and prevent the `size` attribute to make the `hr` look like an input field\n// See https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_hr_size\n\nhr {\n margin: $hr-margin-y 0;\n color: $hr-color; // 1\n background-color: currentColor;\n border: 0;\n opacity: $hr-opacity;\n}\n\nhr:not([size]) {\n height: $hr-height; // 2\n}\n\n\n// Typography\n//\n// 1. Remove top margins from headings\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n\n%heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1 {\n @extend %heading;\n @include font-size($h1-font-size);\n}\n\nh2 {\n @extend %heading;\n @include font-size($h2-font-size);\n}\n\nh3 {\n @extend %heading;\n @include font-size($h3-font-size);\n}\n\nh4 {\n @extend %heading;\n @include font-size($h4-font-size);\n}\n\nh5 {\n @extend %heading;\n @include font-size($h5-font-size);\n}\n\nh6 {\n @extend %heading;\n @include font-size($h6-font-size);\n}\n\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\n\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n text-decoration-skip-ink: none; // 4\n}\n\n\n// Address\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\n\n// Lists\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\n// 1. Undo browser default\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // 1\n}\n\n\n// Blockquote\n\nblockquote {\n margin: 0 0 1rem;\n}\n\n\n// Strong\n//\n// Add the correct font weight in Chrome, Edge, and Safari\n\nb,\nstrong {\n font-weight: $font-weight-bolder;\n}\n\n\n// Small\n//\n// Add the correct font size in all browsers\n\nsmall {\n @include font-size($small-font-size);\n}\n\n\n// Mark\n\nmark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n// Sub and Sup\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n\nsub,\nsup {\n position: relative;\n @include font-size($sub-sup-font-size);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n// Links\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n\n &:hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n// Code\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\n// 1. Remove browser default top margin\n// 2. Reset browser default of `1em` to use `rem`s\n// 3. Don't allow content to break outside\n\npre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n\n kbd {\n padding: 0;\n @include font-size(1em);\n font-weight: $nested-kbd-font-weight;\n }\n}\n\n\n// Figures\n//\n// Apply a consistent margin strategy (matches our type styles).\n\nfigure {\n margin: 0 0 1rem;\n}\n\n\n// Images and content\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\n\n// Tables\n//\n// Prevent double borders\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n}\n\n// 1. Matches default `<td>` alignment by inheriting `text-align`.\n// 2. Fix alignment for Safari\n\nth {\n text-align: inherit; // 1\n text-align: -webkit-match-parent; // 2\n}\n\n\n// Forms\n//\n// 1. Allow labels to use `margin` for spacing.\n\nlabel {\n display: inline-block; // 1\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n// See https://github.com/twbs/bootstrap/issues/24093\n\nbutton {\n // stylelint-disable-next-line property-blacklist\n border-radius: 0;\n}\n\n// Work around a Firefox bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n// Credit https://github.com/suitcss/base/\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\n// 1. Remove the margin in Firefox and Safari\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // 1\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\n// Show the overflow in Edge\n\nbutton,\ninput {\n overflow: visible;\n}\n\n// Remove the inheritance of text transform in Firefox\n\nbutton,\nselect {\n text-transform: none;\n}\n\n// Remove the inheritance of word-wrap in Safari.\n// See https://github.com/twbs/bootstrap/issues/24990\n\nselect {\n word-wrap: normal;\n}\n\n// Remove the dropdown arrow in Chrome from inputs built with datalists.\n// See https://stackoverflow.com/a/54997118\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n// 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n\n @if $enable-pointer-cursor-for-buttons {\n &:not(:disabled) {\n cursor: pointer; // 3\n }\n }\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\n// Remove the default appearance of temporal inputs to avoid a Mobile Safari\n// bug where setting a custom line-height prevents text from being vertically\n// centered within the input.\n// See https://bugs.webkit.org/show_bug.cgi?id=139848\n// and https://github.com/twbs/bootstrap/issues/11266\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: textfield;\n}\n\n// 1. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\ntextarea {\n resize: vertical; // 1\n}\n\n// 1. Browsers set a default `min-width: min-content;` on fieldsets,\n// unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n// So we reset that to ensure fieldsets behave more like a standard block element.\n// See https://github.com/twbs/bootstrap/issues/12359\n// and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n// 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\nfieldset {\n min-width: 0; // 1\n padding: 0; // 2\n margin: 0; // 2\n border: 0; // 2\n}\n\n// 1. By using `float: left`, the legend will behave like a block element.\n// This way the border of a fieldset wraps around the legend if present.\n// 2. Correct the text wrapping in Edge.\n// 3. Fix wrapping bug.\n// See https://github.com/twbs/bootstrap/issues/29712\n\nlegend {\n float: left; // 1\n width: 100%;\n padding: 0;\n margin-bottom: $legend-margin-bottom;\n @include font-size($legend-font-size);\n font-weight: $legend-font-weight;\n line-height: inherit;\n white-space: normal; // 2\n\n + * {\n clear: left; // 3\n }\n}\n\n// Fix height of inputs with a type of datetime-local, date, month, week, or time\n// See https://github.com/twbs/bootstrap/issues/18842\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n// 1. Correct the outline style in Safari.\n// 2. This overrides the extra rounded corners on search inputs in iOS so that our\n// `.form-control` class can properly style them. Note that this cannot simply\n// be added to `.form-control` as it's not specific enough. For details, see\n// https://github.com/twbs/bootstrap/issues/11586.\n\n[type=\"search\"] {\n outline-offset: -2px; // 1\n -webkit-appearance: textfield; // 2\n}\n\n// Remove the inner padding in Chrome and Safari on macOS.\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n// Remove padding around color pickers in webkit browsers\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n// 1. Change font properties to `inherit` in Safari.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n\n::-webkit-file-upload-button {\n font: inherit; // 1\n -webkit-appearance: button; // 2\n}\n\n// Correct element displays\n\noutput {\n display: inline-block;\n}\n\n\n// Summary\n//\n// 1. Add the correct display in all browsers\n\nsummary {\n display: list-item; // 1\n cursor: pointer;\n}\n\n\n// Progress\n//\n// Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\nprogress {\n vertical-align: baseline;\n}\n\n\n// Hidden attribute\n//\n// Always hide an element with the `hidden` HTML attribute.\n\n[hidden] {\n display: none !important;\n}\n","/*!\n * Bootstrap Reboot v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n background-color: #fff;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n margin: 1rem 0;\n color: inherit;\n background-color: currentColor;\n border: 0;\n opacity: 0.25;\n}\n\nhr:not([size]) {\n height: 1px;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1 {\n font-size: calc(1.375rem + 1.5vw);\n}\n\n@media (min-width: 1200px) {\n h1 {\n font-size: 2.5rem;\n }\n}\n\nh2 {\n font-size: calc(1.325rem + 0.9vw);\n}\n\n@media (min-width: 1200px) {\n h2 {\n font-size: 2rem;\n }\n}\n\nh3 {\n font-size: calc(1.3rem + 0.6vw);\n}\n\n@media (min-width: 1200px) {\n h3 {\n font-size: 1.75rem;\n }\n}\n\nh4 {\n font-size: calc(1.275rem + 0.3vw);\n}\n\n@media (min-width: 1200px) {\n h4 {\n font-size: 1.5rem;\n }\n}\n\nh5 {\n font-size: 1.25rem;\n}\n\nh6 {\n font-size: 1rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n cursor: help;\n -webkit-text-decoration-skip-ink: none;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 0.875em;\n}\n\nmark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 0.75em;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #0d6efd;\n text-decoration: underline;\n}\n\na:hover {\n color: #024dbc;\n}\n\na:not([href]), a:not([href]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: 0.875em;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\ncode {\n font-size: 0.875em;\n color: #d63384;\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 0.875em;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 1em;\n font-weight: 700;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: #6c757d;\n text-align: left;\n}\n\nth {\n text-align: inherit;\n text-align: -webkit-match-parent;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nselect {\n word-wrap: normal;\n}\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: textfield;\n}\n\ntextarea {\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n float: left;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: calc(1.275rem + 0.3vw);\n line-height: inherit;\n white-space: normal;\n}\n\n@media (min-width: 1200px) {\n legend {\n font-size: 1.5rem;\n }\n}\n\nlegend + * {\n clear: left;\n}\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: textfield;\n}\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[hidden] {\n display: none !important;\n}\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated responsive values for font sizes, paddings, margins and much more\n//\n// Licensed under MIT (https://github.com/twbs/rfs/blob/master/LICENSE)\n\n// Configuration\n\n// Base value\n$rfs-base-value: 1.25rem !default;\n$rfs-unit: rem !default;\n\n@if $rfs-unit != rem and $rfs-unit != px {\n @error \"`#{$rfs-unit}` is not a valid unit for $rfs-unit. Use `px` or `rem`.\";\n}\n\n// Breakpoint at where values start decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n}\n\n// Resize values based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != number or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Mode. Possibilities: \"min-media-query\", \"max-media-query\"\n$rfs-mode: min-media-query !default;\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-rfs to false\n$enable-rfs: true !default;\n\n// Cache $rfs-base-value unit\n$rfs-base-value-unit: unit($rfs-base-value);\n\n// Remove px-unit from $rfs-base-value for calculations\n@if $rfs-base-value-unit == px {\n $rfs-base-value: $rfs-base-value / ($rfs-base-value * 0 + 1);\n}\n@else if $rfs-base-value-unit == rem {\n $rfs-base-value: $rfs-base-value / ($rfs-base-value * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == px {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == rem or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Calculate the media query value\n$rfs-mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit});\n$rfs-mq-property-width: if($rfs-mode == max-media-query, max-width, min-width);\n$rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height);\n\n// Internal mixin used to determine which media query needs to be used\n@mixin _rfs-media-query {\n @if $rfs-two-dimensional {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}), (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n @content;\n }\n }\n @else {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) {\n @content;\n }\n }\n}\n\n// Internal mixin that adds disable classes to the selector if needed.\n@mixin _rfs-rule {\n @if $rfs-class == disable and $rfs-mode == max-media-query {\n // Adding an extra class increases specificity, which prevents the media query to override the property\n &,\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @else if $rfs-class == enable and $rfs-mode == min-media-query {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n// Internal mixin that adds enable classes to the selector if needed.\n@mixin _rfs-media-query-rule {\n\n @if $rfs-class == enable {\n @if $rfs-mode == min-media-query {\n @content;\n }\n\n @include _rfs-media-query {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n }\n }\n @else {\n @if $rfs-class == disable and $rfs-mode == min-media-query {\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @include _rfs-media-query {\n @content;\n }\n }\n}\n\n// Helper function to get the formatted non-responsive value\n@function rfs-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: '';\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + ' 0';\n }\n @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n @if $unit == px {\n // Convert to rem if needed\n $val: $val + ' ' + if($rfs-unit == rem, #{$value / ($value * 0 + $rfs-rem-value)}rem, $value);\n }\n @else if $unit == rem {\n // Convert to px if needed\n $val: $val + ' ' + if($rfs-unit == px, #{$value / ($value * 0 + 1) * $rfs-rem-value}px, $value);\n }\n @else {\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n $val: $val + ' ' + $value;\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// Helper function to get the responsive value calculated by RFS\n@function rfs-fluid-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: '';\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + ' 0';\n }\n\n @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $unit or $unit != px and $unit != rem {\n $val: $val + ' ' + $value;\n }\n\n @else {\n // Remove unit from $value for calculations\n $value: $value / ($value * 0 + if($unit == px, 1, 1 / $rfs-rem-value));\n\n // Only add the media query if the value is greater than the minimum value\n @if abs($value) <= $rfs-base-value or not $enable-rfs {\n $val: $val + ' ' + if($rfs-unit == rem, #{$value / $rfs-rem-value}rem, #{$value}px);\n }\n @else {\n // Calculate the minimum value\n $value-min: $rfs-base-value + (abs($value) - $rfs-base-value) / $rfs-factor;\n\n // Calculate difference between $value and the minimum value\n $value-diff: abs($value) - $value-min;\n\n // Base value formatting\n $min-width: if($rfs-unit == rem, #{$value-min / $rfs-rem-value}rem, #{$value-min}px);\n\n // Use negative value if needed\n $min-width: if($value < 0, -$min-width, $min-width);\n\n // Use `vmin` if two-dimensional is enabled\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$value-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Return the calculated value\n $val: $val + ' calc(' + $min-width + if($value < 0, ' - ', ' + ') + $variable-width + ')';\n }\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// RFS mixin\n@mixin rfs($values, $property: font-size) {\n @if $values != null {\n $val: rfs-value($values);\n $fluidVal: rfs-fluid-value($values);\n\n // Do not print the media query if responsive & non-responsive values are the same\n @if $val == $fluidVal {\n #{$property}: $val;\n }\n @else {\n @include _rfs-rule {\n #{$property}: if($rfs-mode == max-media-query, $val, $fluidVal);\n\n // Include safari iframe resize fix if needed\n min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null);\n }\n\n @include _rfs-media-query-rule {\n #{$property}: if($rfs-mode == max-media-query, $fluidVal, $val);\n }\n }\n }\n}\n\n// Shorthand helper mixins\n@mixin font-size($value) {\n @include rfs($value);\n}\n\n@mixin padding($value) {\n @include rfs($value, padding);\n}\n\n@mixin padding-top($value) {\n @include rfs($value, padding-top);\n}\n\n@mixin padding-right($value) {\n @include rfs($value, padding-right);\n}\n\n@mixin padding-bottom($value) {\n @include rfs($value, padding-bottom);\n}\n\n@mixin padding-left($value) {\n @include rfs($value, padding-left);\n}\n\n@mixin margin($value) {\n @include rfs($value, margin);\n}\n\n@mixin margin-top($value) {\n @include rfs($value, margin-top);\n}\n\n@mixin margin-right($value) {\n @include rfs($value, margin-right);\n}\n\n@mixin margin-bottom($value) {\n @include rfs($value, margin-bottom);\n}\n\n@mixin margin-left($value) {\n @include rfs($value, margin-left);\n}\n","/*!\n * Bootstrap Reboot v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n background-color: #fff;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n margin: 1rem 0;\n color: inherit;\n background-color: currentColor;\n border: 0;\n opacity: 0.25;\n}\n\nhr:not([size]) {\n height: 1px;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1 {\n font-size: calc(1.375rem + 1.5vw);\n}\n\n@media (min-width: 1200px) {\n h1 {\n font-size: 2.5rem;\n }\n}\n\nh2 {\n font-size: calc(1.325rem + 0.9vw);\n}\n\n@media (min-width: 1200px) {\n h2 {\n font-size: 2rem;\n }\n}\n\nh3 {\n font-size: calc(1.3rem + 0.6vw);\n}\n\n@media (min-width: 1200px) {\n h3 {\n font-size: 1.75rem;\n }\n}\n\nh4 {\n font-size: calc(1.275rem + 0.3vw);\n}\n\n@media (min-width: 1200px) {\n h4 {\n font-size: 1.5rem;\n }\n}\n\nh5 {\n font-size: 1.25rem;\n}\n\nh6 {\n font-size: 1rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 0.875em;\n}\n\nmark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 0.75em;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #0d6efd;\n text-decoration: underline;\n}\n\na:hover {\n color: #024dbc;\n}\n\na:not([href]), a:not([href]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: 0.875em;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\ncode {\n font-size: 0.875em;\n color: #d63384;\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 0.875em;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 1em;\n font-weight: 700;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: #6c757d;\n text-align: left;\n}\n\nth {\n text-align: inherit;\n text-align: -webkit-match-parent;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nselect {\n word-wrap: normal;\n}\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: textfield;\n}\n\ntextarea {\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n float: left;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: calc(1.275rem + 0.3vw);\n line-height: inherit;\n white-space: normal;\n}\n\n@media (min-width: 1200px) {\n legend {\n font-size: 1.5rem;\n }\n}\n\nlegend + * {\n clear: left;\n}\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: textfield;\n}\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// stylelint-disable property-blacklist\n// Single side border-radius\n\n// Helper function to replace negative values with 0\n@function valid-radius($radius) {\n $return: ();\n @each $value in $radius {\n @if type-of($value) == number {\n $return: append($return, max($value, 0));\n } @else {\n $return: append($return, $value);\n }\n }\n @return $return;\n}\n\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: valid-radius($radius);\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-right-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-left-radius($radius) {\n @if $enable-rounded {\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n"]} \ No newline at end of file
diff --git a/dist/css/bootstrap-utilities.css b/dist/css/bootstrap-utilities.css
index d1a018240b..613a386fa2 100644
--- a/dist/css/bootstrap-utilities.css
+++ b/dist/css/bootstrap-utilities.css
@@ -1,7 +1,7 @@
/*!
* Bootstrap Utilities v4.3.1 (https://getbootstrap.com/)
- * Copyright 2011-2019 The Bootstrap Authors
- * Copyright 2011-2019 Twitter, Inc.
+ * Copyright 2011-2020 The Bootstrap Authors
+ * Copyright 2011-2020 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
.align-baseline {
@@ -84,14 +84,14 @@
display: inline-flex !important;
}
-.shadow-sm {
- box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
-}
-
.shadow {
box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}
+.shadow-sm {
+ box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
+}
+
.shadow-lg {
box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
}
@@ -1013,10 +1013,6 @@
text-align: center !important;
}
-.text-justify {
- text-align: justify !important;
-}
-
.text-primary {
color: #0d6efd !important;
}
@@ -1145,19 +1141,59 @@
text-decoration: none !important;
}
+.text-decoration-underline {
+ text-decoration: underline !important;
+}
+
+.text-decoration-line-through {
+ text-decoration: line-through !important;
+}
+
.font-italic {
font-style: italic !important;
}
+.font-normal {
+ font-style: normal !important;
+}
+
.text-break {
- overflow-wrap: break-word !important;
- word-break: break-word !important;
+ word-wrap: break-word !important;
}
.font-monospace {
font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important;
}
+.user-select-all {
+ -webkit-user-select: all !important;
+ -moz-user-select: all !important;
+ -ms-user-select: all !important;
+ user-select: all !important;
+}
+
+.user-select-auto {
+ -webkit-user-select: auto !important;
+ -moz-user-select: auto !important;
+ -ms-user-select: auto !important;
+ user-select: auto !important;
+}
+
+.user-select-none {
+ -webkit-user-select: none !important;
+ -moz-user-select: none !important;
+ -ms-user-select: none !important;
+ user-select: none !important;
+}
+
+.pe-none {
+ pointer-events: none !important;
+}
+
+.pe-auto {
+ pointer-events: auto !important;
+}
+
.rounded {
border-radius: 0.25rem !important;
}
@@ -1796,9 +1832,6 @@
.text-sm-center {
text-align: center !important;
}
- .text-sm-justify {
- text-align: justify !important;
- }
}
@media (min-width: 768px) {
@@ -2387,9 +2420,6 @@
.text-md-center {
text-align: center !important;
}
- .text-md-justify {
- text-align: justify !important;
- }
}
@media (min-width: 992px) {
@@ -2978,9 +3008,6 @@
.text-lg-center {
text-align: center !important;
}
- .text-lg-justify {
- text-align: justify !important;
- }
}
@media (min-width: 1200px) {
@@ -3569,9 +3596,6 @@
.text-xl-center {
text-align: center !important;
}
- .text-xl-justify {
- text-align: justify !important;
- }
}
@media print {
diff --git a/dist/css/bootstrap-utilities.css.map b/dist/css/bootstrap-utilities.css.map
index c77a8c8053..3d69a6f281 100644
--- a/dist/css/bootstrap-utilities.css.map
+++ b/dist/css/bootstrap-utilities.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/bootstrap-utilities.scss","bootstrap-utilities.css","../../scss/mixins/_utilities.scss","../../scss/mixins/_breakpoints.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"AAAA;;;;;ECKE;ACsBE;EAGI,mCAA+B;ADtBvC;;ACmBI;EAGI,8BAA+B;ADlBvC;;ACeI;EAGI,iCAA+B;ADdvC;;ACWI;EAGI,iCAA+B;ADVvC;;ACOI;EAGI,sCAA+B;ADNvC;;ACGI;EAGI,mCAA+B;ADFvC;;ACDI;EAGI,sBAA+B;ADEvC;;ACLI;EAGI,uBAA+B;ADMvC;;ACTI;EAGI,sBAA+B;ADUvC;;ACbI;EAGI,yBAA+B;ADcvC;;ACjBI;EAGI,2BAA+B;ADkBvC;;ACrBI;EAGI,wBAA+B;ADsBvC;;ACzBI;EAGI,0BAA+B;AD0BvC;;AC7BI;EAGI,gCAA+B;AD8BvC;;ACjCI;EAGI,yBAA+B;ADkCvC;;ACrCI;EAGI,yBAA+B;ADsCvC;;ACzCI;EAGI,6BAA+B;AD0CvC;;AC7CI;EAGI,8BAA+B;AD8CvC;;ACjDI;EAGI,wBAA+B;ADkDvC;;ACrDI;EAGI,+BAA+B;ADsDvC;;ACzDI;EAGI,8DAA+B;AD0DvC;;AC7DI;EAGI,wDAA+B;AD8DvC;;ACjEI;EAGI,uDAA+B;ADkEvC;;ACrEI;EAGI,2BAA+B;ADsEvC;;ACzEI;EAGI,2BAA+B;AD0EvC;;AC7EI;EAGI,6BAA+B;AD8EvC;;ACjFI;EAGI,6BAA+B;ADkFvC;;ACrFI;EAGI,0BAA+B;ADsFvC;;ACzFI;EAGI,mCAA+B;EAA/B,2BAA+B;AD0FvC;;AC7FI;EAGI,oCAA+B;AD8FvC;;ACjGI;EAGI,oBAA+B;ADkGvC;;ACrGI;EAGI,wCAA+B;ADsGvC;;ACzGI;EAGI,wBAA+B;AD0GvC;;AC7GI;EAGI,0CAA+B;AD8GvC;;ACjHI;EAGI,0BAA+B;ADkHvC;;ACrHI;EAGI,2CAA+B;ADsHvC;;ACzHI;EAGI,2BAA+B;AD0HvC;;AC7HI;EAGI,yCAA+B;AD8HvC;;ACjII;EAGI,yBAA+B;ADkIvC;;ACrII;EAGI,gCAA+B;ADsIvC;;ACzII;EAGI,gCAA+B;AD0IvC;;AC7II;EAGI,gCAA+B;AD8IvC;;ACjJI;EAGI,gCAA+B;ADkJvC;;ACrJI;EAGI,gCAA+B;ADsJvC;;ACzJI;EAGI,gCAA+B;AD0JvC;;AC7JI;EAGI,gCAA+B;AD8JvC;;ACjKI;EAGI,gCAA+B;ADkKvC;;ACrKI;EAGI,6BAA+B;ADsKvC;;ACzKI;EAGI,qBAA+B;AD0KvC;;AC7KI;EAGI,qBAA+B;AD8KvC;;ACjLI;EAGI,qBAA+B;ADkLvC;;ACrLI;EAGI,sBAA+B;ADsLvC;;ACzLI;EAGI,sBAA+B;AD0LvC;;AC7LI;EAGI,0BAA+B;AD8LvC;;ACjMI;EAGI,uBAA+B;ADkMvC;;ACrMI;EAGI,2BAA+B;ADsMvC;;ACzMI;EAGI,sBAA+B;AD0MvC;;AC7MI;EAGI,sBAA+B;AD8MvC;;ACjNI;EAGI,sBAA+B;ADkNvC;;ACrNI;EAGI,uBAA+B;ADsNvC;;ACzNI;EAGI,uBAA+B;AD0NvC;;AC7NI;EAGI,2BAA+B;AD8NvC;;ACjOI;EAGI,wBAA+B;ADkOvC;;ACrOI;EAGI,4BAA+B;ADsOvC;;ACzOI;EAGI,yBAA+B;AD0OvC;;AC7OI;EAGI,8BAA+B;AD8OvC;;ACjPI;EAGI,iCAA+B;ADkPvC;;ACrPI;EAGI,sCAA+B;ADsPvC;;ACzPI;EAGI,yCAA+B;AD0PvC;;AC7PI;EAGI,uBAA+B;AD8PvC;;ACjQI;EAGI,uBAA+B;ADkQvC;;ACrQI;EAGI,yBAA+B;ADsQvC;;ACzQI;EAGI,yBAA+B;AD0QvC;;AC7QI;EAGI,0BAA+B;AD8QvC;;ACjRI;EAGI,4BAA+B;ADkRvC;;ACrRI;EAGI,kCAA+B;ADsRvC;;ACzRI;EAGI,sCAA+B;AD0RvC;;AC7RI;EAGI,oCAA+B;AD8RvC;;ACjSI;EAGI,kCAA+B;ADkSvC;;ACrSI;EAGI,yCAA+B;ADsSvC;;ACzSI;EAGI,wCAA+B;AD0SvC;;AC7SI;EAGI,kCAA+B;AD8SvC;;ACjTI;EAGI,gCAA+B;ADkTvC;;ACrTI;EAGI,8BAA+B;ADsTvC;;ACzTI;EAGI,gCAA+B;AD0TvC;;AC7TI;EAGI,+BAA+B;AD8TvC;;ACjUI;EAGI,oCAA+B;ADkUvC;;ACrUI;EAGI,kCAA+B;ADsUvC;;ACzUI;EAGI,gCAA+B;AD0UvC;;AC7UI;EAGI,uCAA+B;AD8UvC;;ACjVI;EAGI,sCAA+B;ADkVvC;;ACrVI;EAGI,iCAA+B;ADsVv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;ACx0BI;EAGI,4BAA+B;EAA/B,+BAA+B;AD00BvC;;AC70BI;EAGI,yBAA+B;AD80BvC;;ACj1BI;EAGI,+BAA+B;ADk1BvC;;ACr1BI;EAGI,8BAA+B;ADs1BvC;;ACz1BI;EAGI,4BAA+B;AD01BvC;;AC71BI;EAGI,8BAA+B;AD81BvC;;ACj2BI;EAGI,4BAA+B;ADk2BvC;;ACr2BI;EAGI,2BAA+B;ADs2BvC;;ACz2BI;EAGI,iCAA+B;AD02BvC;;AC72BI;EAGI,gCAA+B;AD82BvC;;ACj3BI;EAGI,8BAA+B;ADk3BvC;;ACr3BI;EAGI,gCAA+B;ADs3BvC;;ACz3BI;EAGI,8BAA+B;AD03BvC;;AC73BI;EAGI,4BAA+B;AD83BvC;;ACj4BI;EAGI,kCAA+B;ADk4BvC;;ACr4BI;EAGI,iCAA+B;ADs4BvC;;ACz4BI;EAGI,+BAA+B;AD04BvC;;AC74BI;EAGI,iCAA+B;AD84BvC;;ACj5BI;EAGI,+BAA+B;ADk5BvC;;ACr5BI;EAGI,0BAA+B;ADs5BvC;;ACz5BI;EAGI,gCAA+B;AD05BvC;;AC75BI;EAGI,+BAA+B;AD85BvC;;ACj6BI;EAGI,6BAA+B;ADk6BvC;;ACr6BI;EAGI,+BAA+B;ADs6BvC;;ACz6BI;EAGI,6BAA+B;AD06BvC;;AC76BI;EAGI,2BAA+B;AD86BvC;;ACj7BI;EAGI,+BAA+B;ADk7BvC;;ACr7BI;EAGI,2BAA+B;ADs7BvC;;ACz7BI;EAGI,2BAA+B;AD07BvC;;AC77BI;EAGI,8BAA+B;AD87BvC;;ACj8BI;EAGI,oCAA+B;ADk8BvC;;ACr8BI;EAGI,oCAA+B;ADs8BvC;;ACz8BI;EAGI,qCAA+B;AD08BvC;;AC78BI;EAGI,2BAA+B;AD88BvC;;ACj9BI;EAGI,4BAA+B;ADk9BvC;;ACr9BI;EAGI,6BAA+B;ADs9BvC;;ACz9BI;EAGI,8BAA+B;AD09BvC;;AC79BI;EAGI,yBAA+B;AD89BvC;;ACj+BI;EAGI,yBAA+B;ADk+BvC;;ACr+BI;EAGI,yBAA+B;ADs+BvC;;ACz+BI;EAGI,yBAA+B;AD0+BvC;;AC7+BI;EAGI,yBAA+B;AD8+BvC;;ACj/BI;EAGI,yBAA+B;ADk/BvC;;ACr/BI;EAGI,yBAA+B;ADs/BvC;;ACz/BI;EAGI,yBAA+B;AD0/BvC;;AC7/BI;EAGI,sBAA+B;AD8/BvC;;ACjgCI;EAGI,yBAA+B;ADkgCvC;;ACrgCI;EAGI,yBAA+B;ADsgCvC;;ACzgCI;EAGI,oCAA+B;AD0gCvC;;AC7gCI;EAGI,0CAA+B;AD8gCvC;;ACjhCI;EAGI,yBAA+B;ADkhCvC;;ACrhCI;EAGI,yBAA+B;ADshCvC;;ACzhCI;EAGI,4BAA+B;AD0hCvC;;AC7hCI;EAGI,2BAA+B;AD8hCvC;;ACjiCI;EAGI,yBAA+B;ADkiCvC;;ACriCI;EAGI,oCAA+B;ADsiCvC;;ACziCI;EAGI,oCAA+B;AD0iCvC;;AC7iCI;EAGI,oCAA+B;AD8iCvC;;ACjjCI;EAGI,oCAA+B;ADkjCvC;;ACrjCI;EAGI,oCAA+B;ADsjCvC;;ACzjCI;EAGI,oCAA+B;AD0jCvC;;AC7jCI;EAGI,oCAA+B;AD8jCvC;;ACjkCI;EAGI,oCAA+B;ADkkCvC;;ACrkCI;EAGI,iCAA+B;ADskCvC;;ACzkCI;EAGI,iCAA+B;AD0kCvC;;AC7kCI;EAGI,wCAA+B;AD8kCvC;;ACjlCI;EAGI,8BAA+B;ADklCvC;;ACrlCI;EAGI,8BAA+B;ADslCvC;;ACzlCI;EAGI,gCAA+B;AD0lCvC;;AC7lCI;EAGI,6BAA+B;AD8lCvC;;ACjmCI;EAGI,oCAA+B;EAA/B,iCAA+B;ADmmCvC;;ACtmCI;EAGI,4GAA+B;ADumCvC;;AC1mCI;EAGI,iCAA+B;AD2mCvC;;AC9mCI;EAGI,gCAA+B;AD+mCvC;;AClnCI;EAGI,gCAA+B;ADmnCvC;;ACtnCI;EAGI,6BAA+B;ADunCvC;;AC1nCI;EAGI,+BAA+B;AD2nCvC;;AC9nCI;EAGI,2BAA+B;AD+nCvC;;ACloCI;EAGI,0CAA+B;EAA/B,2CAA+B;ADooCvC;;ACvoCI;EAGI,2CAA+B;EAA/B,8CAA+B;ADyoCvC;;AC5oCI;EAGI,8CAA+B;EAA/B,6CAA+B;AD8oCvC;;ACjpCI;EAGI,6CAA+B;EAA/B,0CAA+B;ADmpCvC;;ACtpCI;EAGI,8BAA+B;ADupCvC;;AC1pCI;EAGI,6BAA+B;AD2pCvC;;AE1nCI;EDpCA;IAGI,sBAA+B;EDgqCrC;ECnqCE;IAGI,uBAA+B;EDmqCrC;ECtqCE;IAGI,sBAA+B;EDsqCrC;ECzqCE;IAGI,wBAA+B;EDyqCrC;EC5qCE;IAGI,0BAA+B;ED4qCrC;EC/qCE;IAGI,gCAA+B;ED+qCrC;EClrCE;IAGI,yBAA+B;EDkrCrC;ECrrCE;IAGI,yBAA+B;EDqrCrC;ECxrCE;IAGI,6BAA+B;EDwrCrC;EC3rCE;IAGI,8BAA+B;ED2rCrC;EC9rCE;IAGI,wBAA+B;ED8rCrC;ECjsCE;IAGI,+BAA+B;EDisCrC;ECpsCE;IAGI,yBAA+B;EDosCrC;ECvsCE;IAGI,8BAA+B;EDusCrC;EC1sCE;IAGI,iCAA+B;ED0sCrC;EC7sCE;IAGI,sCAA+B;ED6sCrC;EChtCE;IAGI,yCAA+B;EDgtCrC;ECntCE;IAGI,uBAA+B;EDmtCrC;ECttCE;IAGI,uBAA+B;EDstCrC;ECztCE;IAGI,yBAA+B;EDytCrC;EC5tCE;IAGI,yBAA+B;ED4tCrC;EC/tCE;IAGI,0BAA+B;ED+tCrC;ECluCE;IAGI,4BAA+B;EDkuCrC;ECruCE;IAGI,kCAA+B;EDquCrC;ECxuCE;IAGI,sCAA+B;EDwuCrC;EC3uCE;IAGI,oCAA+B;ED2uCrC;EC9uCE;IAGI,kCAA+B;ED8uCrC;ECjvCE;IAGI,yCAA+B;EDivCrC;ECpvCE;IAGI,wCAA+B;EDovCrC;ECvvCE;IAGI,kCAA+B;EDuvCrC;EC1vCE;IAGI,gCAA+B;ED0vCrC;EC7vCE;IAGI,8BAA+B;ED6vCrC;EChwCE;IAGI,gCAA+B;EDgwCrC;ECnwCE;IAGI,+BAA+B;EDmwCrC;ECtwCE;IAGI,oCAA+B;EDswCrC;ECzwCE;IAGI,kCAA+B;EDywCrC;EC5wCE;IAGI,gCAA+B;ED4wCrC;EC/wCE;IAGI,uCAA+B;ED+wCrC;EClxCE;IAGI,sCAA+B;EDkxCrC;ECrxCE;IAGI,iCAA+B;EDqxCrC;ECxxCE;IAGI,2BAA+B;EDwxCrC;EC3xCE;IAGI,iCAA+B;ED2xCrC;EC9xCE;IAGI,+BAA+B;ED8xCrC;EC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jqDE;IAGI,4BAA+B;EDiqDrC;ECpqDE;IAGI,8BAA+B;EDoqDrC;ECvqDE;IAGI,4BAA+B;EDuqDrC;EC1qDE;IAGI,2BAA+B;ED0qDrC;EC7qDE;IAGI,iCAA+B;ED6qDrC;EChrDE;IAGI,gCAA+B;EDgrDrC;ECnrDE;IAGI,8BAA+B;EDmrDrC;ECtrDE;IAGI,gCAA+B;EDsrDrC;ECzrDE;IAGI,8BAA+B;EDyrDrC;EC5rDE;IAGI,4BAA+B;ED4rDrC;EC/rDE;IAGI,kCAA+B;ED+rDrC;EClsDE;IAGI,iCAA+B;EDksDrC;ECrsDE;IAGI,+BAA+B;EDqsDrC;ECxsDE;IAGI,iCAA+B;EDwsDrC;EC3sDE;IAGI,+BAA+B;ED2sDrC;EC9sDE;IAGI,0BAA+B;ED8sDrC;ECjtDE;IAGI,gCAA+B;EDitDrC;ECptDE;IAGI,+BAA+B;EDotDrC;ECvtDE;IAGI,6BAA+B;EDutDrC;EC1tDE;IAGI,+BAA+B;ED0tDrC;EC7tDE;IAGI,6BAA+B;ED6tDrC;EChuDE;IAGI,2BAA+B;EDguDrC;ECnuDE;IAGI,4BAA+B;EDmuDrC;ECtuDE;IAGI,6BAA+B;EDsuDrC;ECzuDE;IAGI,8BAA+B;EDyuDrC;AACF;;AEzsDI;EDpCA;IAGI,sBAA+B;ED+uDrC;EClvDE;IAGI,uBAA+B;EDkvDrC;ECrvDE;IAGI,sBAA+B;EDqvDrC;ECxvDE;IAGI,wBAA+B;EDwvDrC;EC3vDE;IAGI,0BAA+B;ED2vDrC;EC9vDE;IAGI,gCAA+B;ED8vDrC;ECjwDE;IAGI,yBAA+B;EDiwDrC;ECpwDE;IAGI,yBAA+B;EDowDrC;ECvwDE;IAGI,6BAA+B;EDuwDrC;EC1wDE;IAGI,8BAA+B;ED0wDrC;EC7wDE;IAGI,wBAA+B;ED6wDrC;EChxDE;IAGI,+BAA+B;EDgxDrC;ECnxDE;IAGI,yBAA+B;EDmxDrC;ECtxDE;IAGI,8BAA+B;EDsxDrC;ECzxDE;IAGI,iCAA+B;EDyxDrC;EC5xDE;IAGI,sCAA+B;ED4xDrC;EC/xDE;IAGI,yCAA+B;ED+xDrC;EClyDE;IAGI,uBAA+B;EDkyDrC;ECryDE;IAGI,uBAA+B;EDqyDrC;EC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AA+B;ED4yErC;EC/yEE;IAGI,2BAA+B;ED+yErC;EClzEE;IAGI,4BAA+B;EDkzErC;ECrzEE;IAGI,6BAA+B;EDqzErC;ECxzEE;IAGI,8BAA+B;EDwzErC;AACF;;AExxEI;EDpCA;IAGI,sBAA+B;ED8zErC;ECj0EE;IAGI,uBAA+B;EDi0ErC;ECp0EE;IAGI,sBAA+B;EDo0ErC;ECv0EE;IAGI,wBAA+B;EDu0ErC;EC10EE;IAGI,0BAA+B;ED00ErC;EC70EE;IAGI,gCAA+B;ED60ErC;ECh1EE;IAGI,yBAA+B;EDg1ErC;ECn1EE;IAGI,yBAA+B;EDm1ErC;ECt1EE;IAGI,6BAA+B;EDs1ErC;ECz1EE;IAGI,8BAA+B;EDy1ErC;EC51EE;IAGI,wBAA+B;ED41ErC;EC/1EE;IAGI,+BAA+B;ED+1ErC;ECl2EE;IAGI,yBAA+B;EDk2ErC;ECr2EE;IAGI,8BAA+B;EDq2ErC;ECx2EE;IAGI,iCAA+B;EDw2ErC;EC32EE;IAGI,sCAA+B;ED22ErC;EC92EE;IAGI,yCAA+B;ED82ErC;ECj3EE;IAGI,uBAA+B;EDi3ErC;ECp3EE;IAGI,uBAA+B;EDo3ErC;ECv3EE;IAGI,yBAA+B;EDu3ErC;EC13EE;IAGI,yBAA+B;ED03ErC;EC73EE;IAGI,0BAA+B;ED63ErC;ECh4EE;IAGI,4BAA+B;EDg4ErC;ECn4EE;IAGI,kCAA+B;EDm4ErC;ECt4EE;IAGI,sCAA+B;EDs4ErC;ECz4EE;IAGI,oCAA+B;EDy4ErC;EC54EE;IAGI,kCAA+B;ED44ErC;EC/4EE;IAGI,yCAA+B;ED+4ErC;ECl5EE;IAGI,wCAA+B;EDk5ErC;ECr5EE;IAGI,kCAA+B;EDq5ErC;ECx5EE;IAGI,gCAA+B;EDw5ErC;EC35EE;IAGI,8BAA+B;ED25ErC;EC95EE;IAGI,gCAA+B;ED85ErC;ECj6EE;IAGI,+BAA+B;EDi6ErC;ECp6EE;IAGI,oCAA+B;EDo6ErC;ECv6EE;IAGI,kCAA+B;EDu6ErC;EC16EE;IAGI,gCAA+B;ED06ErC;EC76EE;IAGI,uCAA+B;ED66ErC;ECh7EE;IAGI,sCAA+B;EDg7ErC;ECn7EE;IAGI,iC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AA+B;EDmzFrC;ECtzFE;IAGI,yBAA+B;EDszFrC;ECzzFE;IAGI,+BAA+B;EDyzFrC;EC5zFE;IAGI,8BAA+B;ED4zFrC;EC/zFE;IAGI,4BAA+B;ED+zFrC;ECl0FE;IAGI,8BAA+B;EDk0FrC;ECr0FE;IAGI,4BAA+B;EDq0FrC;ECx0FE;IAGI,2BAA+B;EDw0FrC;EC30FE;IAGI,iCAA+B;ED20FrC;EC90FE;IAGI,gCAA+B;ED80FrC;ECj1FE;IAGI,8BAA+B;EDi1FrC;ECp1FE;IAGI,gCAA+B;EDo1FrC;ECv1FE;IAGI,8BAA+B;EDu1FrC;EC11FE;IAGI,4BAA+B;ED01FrC;EC71FE;IAGI,kCAA+B;ED61FrC;ECh2FE;IAGI,iCAA+B;EDg2FrC;ECn2FE;IAGI,+BAA+B;EDm2FrC;ECt2FE;IAGI,iCAA+B;EDs2FrC;ECz2FE;IAGI,+BAA+B;EDy2FrC;EC52FE;IAGI,0BAA+B;ED42FrC;EC/2FE;IAGI,gCAA+B;ED+2FrC;ECl3FE;IAGI,+BAA+B;EDk3FrC;ECr3FE;IAGI,6BAA+B;EDq3FrC;ECx3FE;IAGI,+BAA+B;EDw3FrC;EC33FE;IAGI,6BAA+B;ED23FrC;EC93FE;IAGI,2BAA+B;ED83FrC;ECj4FE;IAGI,4BAA+B;EDi4FrC;ECp4FE;IAGI,6BAA+B;EDo4FrC;ECv4FE;IAGI,8BAA+B;EDu4FrC;AACF;;AEv2FI;EDpCA;IAGI,sBAA+B;ED64FrC;ECh5FE;IAGI,uBAA+B;EDg5FrC;ECn5FE;IAGI,sBAA+B;EDm5FrC;ECt5FE;IAGI,wBAA+B;EDs5FrC;ECz5FE;IAGI,0BAA+B;EDy5FrC;EC55FE;IAGI,gCAA+B;ED45FrC;EC/5FE;IAGI,yBAA+B;ED+5FrC;ECl6FE;IAGI,yBAA+B;EDk6FrC;ECr6FE;IAGI,6BAA+B;EDq6FrC;ECx6FE;IAGI,8BAA+B;EDw6FrC;EC36FE;IAGI,wBAA+B;ED26FrC;EC96FE;IAGI,+BAA+B;ED86FrC;ECj7FE;IAGI,yBAA+B;EDi7FrC;ECp7FE;IAGI,8BAA+B;EDo7FrC;ECv7FE;IAGI,iCAA+B;EDu7FrC;EC17FE;IAGI,sCAA+B;ED07FrC;EC77FE;IAGI,yCAA+B;ED67FrC;ECh8FE;IAGI,uBAA+B;EDg8FrC;ECn8FE;IAGI,uBAA+B;EDm8FrC;ECt8FE;IAGI,yBAA+B;EDs8FrC;ECz8FE;IAGI,yBAA+B;EDy8FrC;EC58FE;IAGI,0BAA+B;ED48FrC;EC/8FE;IAGI,4BAA+B;ED+8FrC;ECl9FE;IAGI,kCAA+B;EDk9FrC;ECr9FE;IAGI,sCAA+B;EDq9FrC;ECx9FE;IAGI,oCAA+B;EDw9FrC;EC39FE;IAGI,kCAA+B;ED29FrC;EC99FE;IAGI,yCAA+B;ED89FrC;ECj+FE;IAGI,wCAA+B;EDi+FrC;ECp+FE;IAGI,kCAA+B;EDo+FrC;ECv+FE;IAGI,gCAA+B;EDu+FrC;EC1+FE;IAGI,8BAA+B;ED0+FrC;EC7+FE;IAGI,gCAA+B;ED6+FrC;ECh/FE;IAGI,+BAA+B;EDg/FrC;ECn/FE;IAGI,oCAA+B;EDm/FrC;ECt/FE;IAGI,kCAA+B;EDs/FrC;ECz/FE;IAGI,gCAA+B;EDy/FrC;EC5/FE;IAGI,uCAA+B;ED4/FrC;EC//FE;IAGI,sCAA+B;ED+/FrC;EClgGE;IAGI,iCAA+B;EDkgGrC;ECrgGE;IAGI,2BAA+B;EDqgGrC;ECxgGE;IAGI,iCAA+B;EDwgGrC;EC3gGE;IAGI,+BAA+B;ED2gGrC;EC9gGE;IAGI,6BAA+B;ED8gGrC;ECjhGE;IAGI,+BAA+B;EDihGrC;ECphGE;IAGI,8BAA+B;EDohGrC;ECvhGE;IAGI,oBAA+B;EDuhGrC;EC1hGE;IAGI,mBAA+B;ED0hGrC;EC7hGE;IAGI,mBAA+B;ED6hGrC;EChiGE;IAGI,mBAA+B;EDgiGrC;ECniGE;IAGI,mBAA+B;EDmiGrC;ECtiGE;IAGI,mBAA+B;EDsiGrC;ECziGE;IAGI,mBAA+B;EDyiGrC;EC5iGE;IAGI,mBAA+B;ED4iGrC;EC/iGE;IAGI,oBAA+B;ED+iGrC;ECljGE;IAGI,0BAA+B;EDkjGrC;ECrjGE;IAGI,yBAA+B;EDqjGrC;ECxjGE;IAGI,uBAA+B;EDwjGrC;EC3jGE;IAGI,yBAA+B;ED2jGrC;EC9jGE;IAGI,uBAA+B;ED8jGrC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","file":"bootstrap-utilities.css","sourcesContent":["/*!\n * Bootstrap Utilities v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n// Configuration\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"utilities\";\n\n\n// Utilities\n\n@import \"utilities/api\";\n","/*!\n * Bootstrap Utilities v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: sticky !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #0d6efd !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mr-3 {\n margin-right: 1rem !important;\n}\n\n.mr-4 {\n margin-right: 1.5rem !important;\n}\n\n.mr-5 {\n margin-right: 3rem !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.ml-3 {\n margin-left: 1rem !important;\n}\n\n.ml-4 {\n margin-left: 1.5rem !important;\n}\n\n.ml-5 {\n margin-left: 3rem !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mx-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n}\n\n.mx-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n}\n\n.mx-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n}\n\n.mx-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n}\n\n.mx-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n}\n\n.my-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n}\n\n.my-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n}\n\n.my-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n}\n\n.my-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n}\n\n.my-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n}\n\n.mt-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mt-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mt-n3 {\n margin-top: -1rem !important;\n}\n\n.mt-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mt-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mr-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mr-n3 {\n margin-right: -1rem !important;\n}\n\n.mr-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mr-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.mb-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.mb-n3 {\n margin-bottom: -1rem !important;\n}\n\n.mb-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.mb-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n1 {\n margin-left: -0.25rem !important;\n}\n\n.ml-n2 {\n margin-left: -0.5rem !important;\n}\n\n.ml-n3 {\n margin-left: -1rem !important;\n}\n\n.ml-n4 {\n margin-left: -1.5rem !important;\n}\n\n.ml-n5 {\n margin-left: -3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pr-3 {\n padding-right: 1rem !important;\n}\n\n.pr-4 {\n padding-right: 1.5rem !important;\n}\n\n.pr-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.pl-3 {\n padding-left: 1rem !important;\n}\n\n.pl-4 {\n padding-left: 1.5rem !important;\n}\n\n.pl-5 {\n padding-left: 3rem !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-lighter {\n font-weight: lighter !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-weight-bolder {\n font-weight: bolder !important;\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-primary {\n color: #0d6efd !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\n.text-success {\n color: #28a745 !important;\n}\n\n.text-info {\n color: #17a2b8 !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-reset {\n color: inherit !important;\n}\n\n.lh-1 {\n line-height: 1 !important;\n}\n\n.lh-sm {\n line-height: 1.25 !important;\n}\n\n.lh-base {\n line-height: 1.5 !important;\n}\n\n.lh-lg {\n line-height: 2 !important;\n}\n\n.bg-primary {\n background-color: #0d6efd !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\n.bg-success {\n background-color: #28a745 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\n.bg-body {\n background-color: #fff !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.text-break {\n overflow-wrap: break-word !important;\n word-break: break-word !important;\n}\n\n.font-monospace {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-sm {\n border-radius: 0.2rem !important;\n}\n\n.rounded-lg {\n border-radius: 0.3rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: 50rem !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-bottom-left-radius: 0.25rem !important;\n border-top-left-radius: 0.25rem !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-0 {\n margin-right: 0 !important;\n }\n .mr-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mr-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mr-sm-3 {\n margin-right: 1rem !important;\n }\n .mr-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mr-sm-5 {\n margin-right: 3rem !important;\n }\n .mr-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-0 {\n margin-left: 0 !important;\n }\n .ml-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ml-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ml-sm-3 {\n margin-left: 1rem !important;\n }\n .ml-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ml-sm-5 {\n margin-left: 3rem !important;\n }\n .ml-sm-auto {\n margin-left: auto !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-sm-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-sm-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-sm-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-sm-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-sm-n3 {\n margin-top: -1rem !important;\n }\n .mt-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-sm-n3 {\n margin-right: -1rem !important;\n }\n .mr-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-sm-n3 {\n margin-left: -1rem !important;\n }\n .ml-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-sm-n5 {\n margin-left: -3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-0 {\n padding-right: 0 !important;\n }\n .pr-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pr-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pr-sm-3 {\n padding-right: 1rem !important;\n }\n .pr-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pr-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-0 {\n padding-left: 0 !important;\n }\n .pl-sm-1 {\n padding-left: 0.25rem !important;\n }\n .pl-sm-2 {\n padding-left: 0.5rem !important;\n }\n .pl-sm-3 {\n padding-left: 1rem !important;\n }\n .pl-sm-4 {\n padding-left: 1.5rem !important;\n }\n .pl-sm-5 {\n padding-left: 3rem !important;\n }\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n .text-sm-justify {\n text-align: justify !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .mr-md-0 {\n margin-right: 0 !important;\n }\n .mr-md-1 {\n margin-right: 0.25rem !important;\n }\n .mr-md-2 {\n margin-right: 0.5rem !important;\n }\n .mr-md-3 {\n margin-right: 1rem !important;\n }\n .mr-md-4 {\n margin-right: 1.5rem !important;\n }\n .mr-md-5 {\n margin-right: 3rem !important;\n }\n .mr-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-0 {\n margin-left: 0 !important;\n }\n .ml-md-1 {\n margin-left: 0.25rem !important;\n }\n .ml-md-2 {\n margin-left: 0.5rem !important;\n }\n .ml-md-3 {\n margin-left: 1rem !important;\n }\n .ml-md-4 {\n margin-left: 1.5rem !important;\n }\n .ml-md-5 {\n margin-left: 3rem !important;\n }\n .ml-md-auto {\n margin-left: auto !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-md-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-md-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-md-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-md-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-md-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-md-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-md-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-md-n3 {\n margin-top: -1rem !important;\n }\n .mt-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-md-n3 {\n margin-right: -1rem !important;\n }\n .mr-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-md-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-md-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-md-n3 {\n margin-left: -1rem !important;\n }\n .ml-md-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-md-n5 {\n margin-left: -3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-0 {\n padding-right: 0 !important;\n }\n .pr-md-1 {\n padding-right: 0.25rem !important;\n }\n .pr-md-2 {\n padding-right: 0.5rem !important;\n }\n .pr-md-3 {\n padding-right: 1rem !important;\n }\n .pr-md-4 {\n padding-right: 1.5rem !important;\n }\n .pr-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-0 {\n padding-left: 0 !important;\n }\n .pl-md-1 {\n padding-left: 0.25rem !important;\n }\n .pl-md-2 {\n padding-left: 0.5rem !important;\n }\n .pl-md-3 {\n padding-left: 1rem !important;\n }\n .pl-md-4 {\n padding-left: 1.5rem !important;\n }\n .pl-md-5 {\n padding-left: 3rem !important;\n }\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n .text-md-justify {\n text-align: justify !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-0 {\n margin-right: 0 !important;\n }\n .mr-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mr-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mr-lg-3 {\n margin-right: 1rem !important;\n }\n .mr-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mr-lg-5 {\n margin-right: 3rem !important;\n }\n .mr-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-0 {\n margin-left: 0 !important;\n }\n .ml-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ml-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ml-lg-3 {\n margin-left: 1rem !important;\n }\n .ml-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ml-lg-5 {\n margin-left: 3rem !important;\n }\n .ml-lg-auto {\n margin-left: auto !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-lg-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-lg-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-lg-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-lg-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-lg-n3 {\n margin-top: -1rem !important;\n }\n .mt-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-lg-n3 {\n margin-right: -1rem !important;\n }\n .mr-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-lg-n3 {\n margin-left: -1rem !important;\n }\n .ml-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-lg-n5 {\n margin-left: -3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-0 {\n padding-right: 0 !important;\n }\n .pr-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pr-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pr-lg-3 {\n padding-right: 1rem !important;\n }\n .pr-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pr-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-0 {\n padding-left: 0 !important;\n }\n .pl-lg-1 {\n padding-left: 0.25rem !important;\n }\n .pl-lg-2 {\n padding-left: 0.5rem !important;\n }\n .pl-lg-3 {\n padding-left: 1rem !important;\n }\n .pl-lg-4 {\n padding-left: 1.5rem !important;\n }\n .pl-lg-5 {\n padding-left: 3rem !important;\n }\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n .text-lg-justify {\n text-align: justify !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-0 {\n margin-right: 0 !important;\n }\n .mr-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mr-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mr-xl-3 {\n margin-right: 1rem !important;\n }\n .mr-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mr-xl-5 {\n margin-right: 3rem !important;\n }\n .mr-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-0 {\n margin-left: 0 !important;\n }\n .ml-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ml-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ml-xl-3 {\n margin-left: 1rem !important;\n }\n .ml-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ml-xl-5 {\n margin-left: 3rem !important;\n }\n .ml-xl-auto {\n margin-left: auto !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-xl-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-xl-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-xl-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-xl-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-xl-n3 {\n margin-top: -1rem !important;\n }\n .mt-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-xl-n3 {\n margin-right: -1rem !important;\n }\n .mr-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-xl-n3 {\n margin-left: -1rem !important;\n }\n .ml-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-xl-n5 {\n margin-left: -3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-0 {\n padding-right: 0 !important;\n }\n .pr-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pr-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pr-xl-3 {\n padding-right: 1rem !important;\n }\n .pr-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pr-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-0 {\n padding-left: 0 !important;\n }\n .pl-xl-1 {\n padding-left: 0.25rem !important;\n }\n .pl-xl-2 {\n padding-left: 0.5rem !important;\n }\n .pl-xl-3 {\n padding-left: 1rem !important;\n }\n .pl-xl-4 {\n padding-left: 1.5rem !important;\n }\n .pl-xl-5 {\n padding-left: 3rem !important;\n }\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n .text-xl-justify {\n text-align: justify !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-utilities.css.map */","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (eg. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n // stylelint-disable-next-line declaration-no-important\n #{$property}: $value !important;\n }\n }\n }\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file
+{"version":3,"sources":["../../scss/bootstrap-utilities.scss","bootstrap-utilities.css","../../scss/mixins/_utilities.scss","../../scss/mixins/_breakpoints.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"AAAA;;;;;ECKE;ACoCI;EAEI,mCAA+D;ADnCzE;;ACiCM;EAEI,8BAA+D;AD/BzE;;AC6BM;EAEI,iCAA+D;AD3BzE;;ACyBM;EAEI,iCAA+D;ADvBzE;;ACqBM;EAEI,sCAA+D;ADnBzE;;ACiBM;EAEI,mCAA+D;ADfzE;;ACaM;EAEI,sBAA+D;ADXzE;;ACSM;EAEI,uBAA+D;ADPzE;;ACKM;EAEI,sBAA+D;ADHzE;;ACCM;EAEI,yBAA+D;ADCzE;;ACHM;EAEI,2BAA+D;ADKzE;;ACPM;EAEI,wBAA+D;ADSzE;;ACXM;EAEI,0BAA+D;ADazE;;ACfM;EAEI,gCAA+D;ADiBzE;;ACnBM;EAEI,yBAA+D;ADqBzE;;ACvBM;EAEI,yBAA+D;ADyBzE;;AC3BM;EAEI,6BAA+D;AD6BzE;;AC/BM;EAEI,8BAA+D;ADiCzE;;ACnCM;EAEI,wBAA+D;ADqCzE;;ACvCM;EAEI,+BAA+D;ADyCzE;;AC3CM;EAEI,wDAA+D;AD6CzE;;AC/CM;EAEI,8DAA+D;ADiDzE;;ACnDM;EAEI,uDAA+D;ADqDzE;;ACvDM;EAEI,2BAA+D;ADyDzE;;AC3DM;EAEI,2BAA+D;AD6DzE;;AC/DM;EAEI,6BAA+D;ADiEzE;;ACnEM;EAEI,6BAA+D;ADqEzE;;ACvEM;EAEI,0BAA+D;ADyEzE;;AC3EM;EAEI,mCAA+D;EAA/D,2BAA+D;AD6EzE;;AC/EM;EAEI,oCAA+D;ADiFzE;;ACnFM;EAEI,oBAA+D;ADqFzE;;ACvFM;EAEI,wCAA+D;ADyFzE;;AC3FM;EAEI,wBAA+D;AD6FzE;;AC/FM;EAEI,0CAA+D;ADiGzE;;ACnGM;EAEI,0BAA+D;ADqGzE;;ACvGM;EAEI,2CAA+D;ADyGzE;;AC3GM;EAEI,2BAA+D;AD6GzE;;AC/GM;EAEI,yCAA+D;ADiHzE;;ACnHM;EAEI,yBAA+D;ADqHzE;;ACvHM;EAEI,gCAA+D;ADyHzE;;AC3HM;EAEI,gCAA+D;AD6HzE;;AC/HM;EAEI,gCAA+D;ADiIzE;;ACnIM;EAEI,gCAA+D;ADqIzE;;ACvIM;EAEI,gCAA+D;ADyIzE;;AC3IM;EAEI,gCAA+D;AD6IzE;;AC/IM;EAEI,gCAA+D;ADiJzE;;ACnJM;EAEI,gCAA+D;ADqJzE;;ACvJM;EAEI,6BAA+D;ADyJzE;;AC3JM;EAEI,qBAA+D;AD6JzE;;AC/JM;EAEI,qBAA+D;ADiKzE;;ACnKM;EAEI,qBAA+D;ADqKzE;;ACvKM;EAEI,sBAA+D;ADyKzE;;AC3KM;EAEI,sBAA+D;AD6KzE;;AC/KM;EAEI,0BAA+D;ADiLzE;;ACnLM;EAEI,uBAA+D;ADqLzE;;ACvLM;EAEI,2BAA+D;ADyLzE;;AC3LM;EAEI,sBAA+D;AD6LzE;;AC/LM;EAEI,sBAA+D;ADiMzE;;ACnMM;EAEI,sBAA+D;ADqMzE;;ACvMM;EAEI,uBAA+D;ADyMzE;;AC3MM;EAEI,uBAA+D;AD6MzE;;AC/MM;EAEI,2BAA+D;ADiNzE;;ACnNM;EAEI,wBAA+D;ADqNzE;;ACvNM;EAEI,4BAA+D;ADyNzE;;AC3NM;EAEI,yBAA+D;AD6NzE;;AC/NM;EAEI,8BAA+D;ADiOzE;;ACnOM;EAEI,iCAA+D;ADqOzE;;ACvOM;EAEI,sCAA+D;ADyOzE;;AC3OM;EAEI,yCAA+D;AD6OzE;;AC/OM;EAEI,uBAA+D;ADiPzE;;ACnPM;EAEI,uBAA+D;ADqPzE;;ACvPM;EAEI,yBAA+D;ADyPzE;;AC3PM;EAEI,yBAA+D;AD6PzE;;AC/PM;EAEI,0BAA+D;ADiQzE;;ACnQM;EAEI,4BAA+D;ADqQzE;;ACvQM;EAEI,kCAA+D;ADyQzE;;AC3QM;EAEI,sCAA+D;AD6QzE;;AC/QM;EAEI,oCAA+D;ADiRzE;;ACnRM;EAEI,kCAA+D;ADqRzE;;ACvRM;EAEI,yCAA+D;ADyRzE;;AC3RM;EAEI,wCAA+D;AD6RzE;;AC/RM;EAEI,kCAA+D;ADiSzE;;ACnSM;EAEI,gCAA+D;ADqSzE;;ACvSM;EAEI,8BAA+D;ADySzE;;AC3SM;EAEI,gCAA+D;AD6SzE;;AC/SM;EAEI,+BAA+D;ADiTzE;;ACnTM;EAEI,oCAA+D;ADqTzE;;ACvTM;EAEI,kCAA+D;ADyTzE;;AC3TM;EAEI,gCAA+D;AD6TzE;;AC/TM;EAEI,uCAA+D;ADiUzE;;ACnUM;EAEI,sCAA+D;ADqUzE;;ACvUM;EAEI,iCAA+D;ADyUz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;EDyxEvE;EC3xEI;IAEI,iCAA+D;ED4xEvE;EC9xEI;IAEI,+BAA+D;ED+xEvE;ECjyEI;IAEI,iCAA+D;EDkyEvE;ECpyEI;IAEI,+BAA+D;EDqyEvE;ECvyEI;IAEI,0BAA+D;EDwyEvE;EC1yEI;IAEI,gCAA+D;ED2yEvE;EC7yEI;IAEI,+BAA+D;ED8yEvE;EChzEI;IAEI,6BAA+D;EDizEvE;ECnzEI;IAEI,+BAA+D;EDozEvE;ECtzEI;IAEI,6BAA+D;EDuzEvE;ECzzEI;IAEI,2BAA+D;ED0zEvE;EC5zEI;IAEI,4BAA+D;ED6zEvE;EC/zEI;IAEI,6BAA+D;EDg0EvE;AACF;;AE7yEI;EDtBE;IAEI,sBAA+D;EDs0EvE;ECx0EI;IAEI,uBAA+D;EDy0EvE;EC30EI;IAEI,sBAA+D;ED40EvE;EC90EI;IAEI,wBAA+D;ED+0EvE;ECj1EI;IAEI,0BAA+D;EDk1EvE;ECp1EI;IAEI,gCAA+D;EDq1EvE;ECv1EI;IAEI,yBAA+D;EDw1EvE;EC11EI;IAEI,yBAA+D;ED21EvE;EC71EI;IAEI,6BAA+D;ED81EvE;ECh2EI;IAEI,8BAA+D;EDi2EvE;ECn2EI;IAEI,wBAA+D;EDo2EvE;ECt2EI;IAEI,+BAA+D;EDu2EvE;ECz2EI;IAEI,yBAA+D;ED02EvE;EC52EI;IAEI,8BAA+D;ED62EvE;EC/2EI;IAEI,iCAA+D;EDg3EvE;ECl3EI;IAEI,sCAA+D;EDm3EvE;ECr3EI;IAEI,yCAA+D;EDs3EvE;ECx3EI;IAEI,uBAA+D;EDy3EvE;EC33EI;IAEI,uBAA+D;ED43EvE;EC93EI;IAEI,yBAA+D;ED+3EvE;ECj4EI;IAEI,yBAA+D;EDk4EvE;ECp4EI;IAEI,0BAA+D;EDq4EvE;ECv4EI;IAEI,4BAA+D;EDw4EvE;EC14EI;IAEI,kCAA+D;ED24EvE;EC74EI;IAEI,sCAA+D;ED84EvE;ECh5EI;IAEI,oCAA+D;EDi5EvE;ECn5EI;IAEI,kCAA+D;EDo5EvE;ECt5EI;IAEI,yCAA+D;EDu5EvE;ECz5EI;IAEI,wCAA+D;ED05EvE;EC55EI;IAEI,kCAA+D;ED65EvE;EC/5EI;IAEI,gCAA+D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;EDu6FvE;ECz6FI;IAEI,6BAA+D;ED06FvE;EC56FI;IAEI,8BAA+D;ED66FvE;EC/6FI;IAEI,wBAA+D;EDg7FvE;ECl7FI;IAEI,+BAA+D;EDm7FvE;ECr7FI;IAEI,yBAA+D;EDs7FvE;ECx7FI;IAEI,8BAA+D;EDy7FvE;EC37FI;IAEI,iCAA+D;ED47FvE;EC97FI;IAEI,sCAA+D;ED+7FvE;ECj8FI;IAEI,yCAA+D;EDk8FvE;ECp8FI;IAEI,uBAA+D;EDq8FvE;ECv8FI;IAEI,uBAA+D;EDw8FvE;EC18FI;IAEI,yBAA+D;ED28FvE;EC78FI;IAEI,yBAA+D;ED88FvE;ECh9FI;IAEI,0BAA+D;EDi9FvE;ECn9FI;IAEI,4BAA+D;EDo9FvE;ECt9FI;IAEI,kCAA+D;EDu9FvE;ECz9FI;IAEI,sCAA+D;ED09FvE;EC59FI;IAEI,oCAA+D;ED69FvE;EC/9FI;IAEI,kCAA+D;EDg+FvE;ECl+FI;IAEI,yCAA+D;EDm+FvE;ECr+FI;IAEI,wCAA+D;EDs+FvE;ECx+FI;IAEI,kCAA+D;EDy+FvE;EC3+FI;IAEI,gCAA+D;ED4+FvE;EC9+FI;IAEI,8BAA+D;ED++FvE;ECj/FI;IAEI,gCAA+D;EDk/FvE;ECp/FI;IAEI,+BAA+D;EDq/FvE;ECv/FI;IAEI,oCAA+D;EDw/FvE;EC1/FI;IAEI,kCAA+D;ED2/FvE;EC7/FI;IAEI,gCAA+D;ED8/FvE;EChgGI;IAEI,uCAA+D;EDigGvE;ECngGI;IAEI,sCAA+D;EDogGvE;ECtgGI;IAEI,iCAA+D;EDugGvE;ECzgGI;IAEI,2BAA+D;ED0gGvE;EC5gGI;IAEI,iCAA+D;ED6gGvE;EC/gGI;IAEI,+BAA+D;EDghGvE;EClhGI;IAEI,6BAA+D;EDmhGvE;ECrhGI;IAEI,+BAA+D;EDshGvE;ECxhGI;IAEI,8BAA+D;EDyhGvE;EC3hGI;IAEI,oBAA+D;ED4hGvE;EC9hGI;IAEI,mBAA+D;ED+hGvE;ECjiGI;IAEI,mBAA+D;EDkiGvE;ECpiGI;IAEI,mBAA+D;EDqiGvE;ECviGI;IAEI,mBAA+D;EDwiGvE;EC1iGI;IAEI,mBAA+D;ED2iGvE;EC7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","file":"bootstrap-utilities.css","sourcesContent":["/*!\n * Bootstrap Utilities v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n// Configuration\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"utilities\";\n\n\n// Utilities\n\n@import \"utilities/api\";\n","/*!\n * Bootstrap Utilities v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: sticky !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #0d6efd !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mr-3 {\n margin-right: 1rem !important;\n}\n\n.mr-4 {\n margin-right: 1.5rem !important;\n}\n\n.mr-5 {\n margin-right: 3rem !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.ml-3 {\n margin-left: 1rem !important;\n}\n\n.ml-4 {\n margin-left: 1.5rem !important;\n}\n\n.ml-5 {\n margin-left: 3rem !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mx-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n}\n\n.mx-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n}\n\n.mx-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n}\n\n.mx-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n}\n\n.mx-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n}\n\n.my-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n}\n\n.my-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n}\n\n.my-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n}\n\n.my-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n}\n\n.my-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n}\n\n.mt-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mt-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mt-n3 {\n margin-top: -1rem !important;\n}\n\n.mt-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mt-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mr-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mr-n3 {\n margin-right: -1rem !important;\n}\n\n.mr-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mr-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.mb-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.mb-n3 {\n margin-bottom: -1rem !important;\n}\n\n.mb-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.mb-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n1 {\n margin-left: -0.25rem !important;\n}\n\n.ml-n2 {\n margin-left: -0.5rem !important;\n}\n\n.ml-n3 {\n margin-left: -1rem !important;\n}\n\n.ml-n4 {\n margin-left: -1.5rem !important;\n}\n\n.ml-n5 {\n margin-left: -3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pr-3 {\n padding-right: 1rem !important;\n}\n\n.pr-4 {\n padding-right: 1.5rem !important;\n}\n\n.pr-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.pl-3 {\n padding-left: 1rem !important;\n}\n\n.pl-4 {\n padding-left: 1.5rem !important;\n}\n\n.pl-5 {\n padding-left: 3rem !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-lighter {\n font-weight: lighter !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-weight-bolder {\n font-weight: bolder !important;\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n.text-primary {\n color: #0d6efd !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\n.text-success {\n color: #28a745 !important;\n}\n\n.text-info {\n color: #17a2b8 !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-reset {\n color: inherit !important;\n}\n\n.lh-1 {\n line-height: 1 !important;\n}\n\n.lh-sm {\n line-height: 1.25 !important;\n}\n\n.lh-base {\n line-height: 1.5 !important;\n}\n\n.lh-lg {\n line-height: 2 !important;\n}\n\n.bg-primary {\n background-color: #0d6efd !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\n.bg-success {\n background-color: #28a745 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\n.bg-body {\n background-color: #fff !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.text-decoration-underline {\n text-decoration: underline !important;\n}\n\n.text-decoration-line-through {\n text-decoration: line-through !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.font-normal {\n font-style: normal !important;\n}\n\n.text-break {\n word-wrap: break-word !important;\n}\n\n.font-monospace {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !important;\n}\n\n.user-select-all {\n user-select: all !important;\n}\n\n.user-select-auto {\n user-select: auto !important;\n}\n\n.user-select-none {\n user-select: none !important;\n}\n\n.pe-none {\n pointer-events: none !important;\n}\n\n.pe-auto {\n pointer-events: auto !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-sm {\n border-radius: 0.2rem !important;\n}\n\n.rounded-lg {\n border-radius: 0.3rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: 50rem !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-bottom-left-radius: 0.25rem !important;\n border-top-left-radius: 0.25rem !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-0 {\n margin-right: 0 !important;\n }\n .mr-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mr-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mr-sm-3 {\n margin-right: 1rem !important;\n }\n .mr-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mr-sm-5 {\n margin-right: 3rem !important;\n }\n .mr-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-0 {\n margin-left: 0 !important;\n }\n .ml-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ml-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ml-sm-3 {\n margin-left: 1rem !important;\n }\n .ml-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ml-sm-5 {\n margin-left: 3rem !important;\n }\n .ml-sm-auto {\n margin-left: auto !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-sm-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-sm-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-sm-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-sm-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-sm-n3 {\n margin-top: -1rem !important;\n }\n .mt-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-sm-n3 {\n margin-right: -1rem !important;\n }\n .mr-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-sm-n3 {\n margin-left: -1rem !important;\n }\n .ml-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-sm-n5 {\n margin-left: -3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-0 {\n padding-right: 0 !important;\n }\n .pr-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pr-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pr-sm-3 {\n padding-right: 1rem !important;\n }\n .pr-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pr-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-0 {\n padding-left: 0 !important;\n }\n .pl-sm-1 {\n padding-left: 0.25rem !important;\n }\n .pl-sm-2 {\n padding-left: 0.5rem !important;\n }\n .pl-sm-3 {\n padding-left: 1rem !important;\n }\n .pl-sm-4 {\n padding-left: 1.5rem !important;\n }\n .pl-sm-5 {\n padding-left: 3rem !important;\n }\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .mr-md-0 {\n margin-right: 0 !important;\n }\n .mr-md-1 {\n margin-right: 0.25rem !important;\n }\n .mr-md-2 {\n margin-right: 0.5rem !important;\n }\n .mr-md-3 {\n margin-right: 1rem !important;\n }\n .mr-md-4 {\n margin-right: 1.5rem !important;\n }\n .mr-md-5 {\n margin-right: 3rem !important;\n }\n .mr-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-0 {\n margin-left: 0 !important;\n }\n .ml-md-1 {\n margin-left: 0.25rem !important;\n }\n .ml-md-2 {\n margin-left: 0.5rem !important;\n }\n .ml-md-3 {\n margin-left: 1rem !important;\n }\n .ml-md-4 {\n margin-left: 1.5rem !important;\n }\n .ml-md-5 {\n margin-left: 3rem !important;\n }\n .ml-md-auto {\n margin-left: auto !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-md-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-md-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-md-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-md-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-md-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-md-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-md-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-md-n3 {\n margin-top: -1rem !important;\n }\n .mt-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-md-n3 {\n margin-right: -1rem !important;\n }\n .mr-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-md-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-md-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-md-n3 {\n margin-left: -1rem !important;\n }\n .ml-md-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-md-n5 {\n margin-left: -3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-0 {\n padding-right: 0 !important;\n }\n .pr-md-1 {\n padding-right: 0.25rem !important;\n }\n .pr-md-2 {\n padding-right: 0.5rem !important;\n }\n .pr-md-3 {\n padding-right: 1rem !important;\n }\n .pr-md-4 {\n padding-right: 1.5rem !important;\n }\n .pr-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-0 {\n padding-left: 0 !important;\n }\n .pl-md-1 {\n padding-left: 0.25rem !important;\n }\n .pl-md-2 {\n padding-left: 0.5rem !important;\n }\n .pl-md-3 {\n padding-left: 1rem !important;\n }\n .pl-md-4 {\n padding-left: 1.5rem !important;\n }\n .pl-md-5 {\n padding-left: 3rem !important;\n }\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-0 {\n margin-right: 0 !important;\n }\n .mr-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mr-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mr-lg-3 {\n margin-right: 1rem !important;\n }\n .mr-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mr-lg-5 {\n margin-right: 3rem !important;\n }\n .mr-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-0 {\n margin-left: 0 !important;\n }\n .ml-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ml-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ml-lg-3 {\n margin-left: 1rem !important;\n }\n .ml-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ml-lg-5 {\n margin-left: 3rem !important;\n }\n .ml-lg-auto {\n margin-left: auto !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-lg-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-lg-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-lg-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-lg-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-lg-n3 {\n margin-top: -1rem !important;\n }\n .mt-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-lg-n3 {\n margin-right: -1rem !important;\n }\n .mr-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-lg-n3 {\n margin-left: -1rem !important;\n }\n .ml-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-lg-n5 {\n margin-left: -3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-0 {\n padding-right: 0 !important;\n }\n .pr-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pr-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pr-lg-3 {\n padding-right: 1rem !important;\n }\n .pr-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pr-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-0 {\n padding-left: 0 !important;\n }\n .pl-lg-1 {\n padding-left: 0.25rem !important;\n }\n .pl-lg-2 {\n padding-left: 0.5rem !important;\n }\n .pl-lg-3 {\n padding-left: 1rem !important;\n }\n .pl-lg-4 {\n padding-left: 1.5rem !important;\n }\n .pl-lg-5 {\n padding-left: 3rem !important;\n }\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-0 {\n margin-right: 0 !important;\n }\n .mr-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mr-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mr-xl-3 {\n margin-right: 1rem !important;\n }\n .mr-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mr-xl-5 {\n margin-right: 3rem !important;\n }\n .mr-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-0 {\n margin-left: 0 !important;\n }\n .ml-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ml-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ml-xl-3 {\n margin-left: 1rem !important;\n }\n .ml-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ml-xl-5 {\n margin-left: 3rem !important;\n }\n .ml-xl-auto {\n margin-left: auto !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-xl-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-xl-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-xl-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-xl-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-xl-n3 {\n margin-top: -1rem !important;\n }\n .mt-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-xl-n3 {\n margin-right: -1rem !important;\n }\n .mr-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-xl-n3 {\n margin-left: -1rem !important;\n }\n .ml-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-xl-n5 {\n margin-left: -3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-0 {\n padding-right: 0 !important;\n }\n .pr-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pr-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pr-xl-3 {\n padding-right: 1rem !important;\n }\n .pr-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pr-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-0 {\n padding-left: 0 !important;\n }\n .pl-xl-1 {\n padding-left: 0.25rem !important;\n }\n .pl-xl-2 {\n padding-left: 0.5rem !important;\n }\n .pl-xl-3 {\n padding-left: 1rem !important;\n }\n .pl-xl-4 {\n padding-left: 1.5rem !important;\n }\n .pl-xl-5 {\n padding-left: 3rem !important;\n }\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-utilities.css.map */","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix, $is-rfs-media-query: false) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (eg. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n @if map-get($utility, rfs) {\n // Inside the media query\n @if $is-rfs-media-query {\n $val: rfs-value($value);\n\n // Do not render anything if fluid and non fluid values are the same\n $value: if($val == rfs-fluid-value($value), null, $val);\n }\n @else {\n $value: rfs-fluid-value($value);\n }\n }\n\n @if $value != null {\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n }\n }\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n// RFS rescaling\n@media (min-width: $rfs-mq-value) {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and map-get($utility, rfs) {\n @include generate-utility($utility, $infix, true);\n }\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file
diff --git a/dist/css/bootstrap-utilities.min.css b/dist/css/bootstrap-utilities.min.css
index 890b068599..6687d3b194 100644
--- a/dist/css/bootstrap-utilities.min.css
+++ b/dist/css/bootstrap-utilities.min.css
@@ -1,7 +1,7 @@
/*!
* Bootstrap Utilities v4.3.1 (https://getbootstrap.com/)
- * Copyright 2011-2019 The Bootstrap Authors
- * Copyright 2011-2019 Twitter, Inc.
+ * Copyright 2011-2020 The Bootstrap Authors
+ * Copyright 2011-2020 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- */.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.border{border:1px solid #dee2e6!important}.border-0{border:0!important}.border-top{border-top:1px solid #dee2e6!important}.border-top-0{border-top:0!important}.border-right{border-right:1px solid #dee2e6!important}.border-right-0{border-right:0!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-bottom-0{border-bottom:0!important}.border-left{border-left:1px solid #dee2e6!important}.border-left-0{border-left:0!important}.border-primary{border-color:#0d6efd!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.mr-0{margin-right:0!important}.mr-1{margin-right:.25rem!important}.mr-2{margin-right:.5rem!important}.mr-3{margin-right:1rem!important}.mr-4{margin-right:1.5rem!important}.mr-5{margin-right:3rem!important}.mr-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ml-0{margin-left:0!important}.ml-1{margin-left:.25rem!important}.ml-2{margin-left:.5rem!important}.ml-3{margin-left:1rem!important}.ml-4{margin-left:1.5rem!important}.ml-5{margin-left:3rem!important}.ml-auto{margin-left:auto!important}.m-n1{margin:-.25rem!important}.m-n2{margin:-.5rem!important}.m-n3{margin:-1rem!important}.m-n4{margin:-1.5rem!important}.m-n5{margin:-3rem!important}.mx-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-n1{margin-top:-.25rem!important}.mt-n2{margin-top:-.5rem!important}.mt-n3{margin-top:-1rem!important}.mt-n4{margin-top:-1.5rem!important}.mt-n5{margin-top:-3rem!important}.mr-n1{margin-right:-.25rem!important}.mr-n2{margin-right:-.5rem!important}.mr-n3{margin-right:-1rem!important}.mr-n4{margin-right:-1.5rem!important}.mr-n5{margin-right:-3rem!important}.mb-n1{margin-bottom:-.25rem!important}.mb-n2{margin-bottom:-.5rem!important}.mb-n3{margin-bottom:-1rem!important}.mb-n4{margin-bottom:-1.5rem!important}.mb-n5{margin-bottom:-3rem!important}.ml-n1{margin-left:-.25rem!important}.ml-n2{margin-left:-.5rem!important}.ml-n3{margin-left:-1rem!important}.ml-n4{margin-left:-1.5rem!important}.ml-n5{margin-left:-3rem!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pr-0{padding-right:0!important}.pr-1{padding-right:.25rem!important}.pr-2{padding-right:.5rem!important}.pr-3{padding-right:1rem!important}.pr-4{padding-right:1.5rem!important}.pr-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.pl-0{padding-left:0!important}.pl-1{padding-left:.25rem!important}.pl-2{padding-left:.5rem!important}.pl-3{padding-left:1rem!important}.pl-4{padding-left:1.5rem!important}.pl-5{padding-left:3rem!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}.text-justify{text-align:justify!important}.text-primary{color:#0d6efd!important}.text-secondary{color:#6c757d!important}.text-success{color:#28a745!important}.text-info{color:#17a2b8!important}.text-warning{color:#ffc107!important}.text-danger{color:#dc3545!important}.text-light{color:#f8f9fa!important}.text-dark{color:#343a40!important}.text-white{color:#fff!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-reset{color:inherit!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.bg-primary{background-color:#0d6efd!important}.bg-secondary{background-color:#6c757d!important}.bg-success{background-color:#28a745!important}.bg-info{background-color:#17a2b8!important}.bg-warning{background-color:#ffc107!important}.bg-danger{background-color:#dc3545!important}.bg-light{background-color:#f8f9fa!important}.bg-dark{background-color:#343a40!important}.bg-body{background-color:#fff!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-decoration-none{text-decoration:none!important}.font-italic{font-style:italic!important}.text-break{overflow-wrap:break-word!important;word-break:break-word!important}.font-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}.rounded{border-radius:.25rem!important}.rounded-sm{border-radius:.2rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-bottom-left-radius:.25rem!important;border-top-left-radius:.25rem!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.mr-sm-0{margin-right:0!important}.mr-sm-1{margin-right:.25rem!important}.mr-sm-2{margin-right:.5rem!important}.mr-sm-3{margin-right:1rem!important}.mr-sm-4{margin-right:1.5rem!important}.mr-sm-5{margin-right:3rem!important}.mr-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ml-sm-0{margin-left:0!important}.ml-sm-1{margin-left:.25rem!important}.ml-sm-2{margin-left:.5rem!important}.ml-sm-3{margin-left:1rem!important}.ml-sm-4{margin-left:1.5rem!important}.ml-sm-5{margin-left:3rem!important}.ml-sm-auto{margin-left:auto!important}.m-sm-n1{margin:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.m-sm-n3{margin:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mx-sm-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-sm-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-sm-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-sm-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-sm-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-sm-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-sm-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-sm-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-sm-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-sm-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-sm-n1{margin-top:-.25rem!important}.mt-sm-n2{margin-top:-.5rem!important}.mt-sm-n3{margin-top:-1rem!important}.mt-sm-n4{margin-top:-1.5rem!important}.mt-sm-n5{margin-top:-3rem!important}.mr-sm-n1{margin-right:-.25rem!important}.mr-sm-n2{margin-right:-.5rem!important}.mr-sm-n3{margin-right:-1rem!important}.mr-sm-n4{margin-right:-1.5rem!important}.mr-sm-n5{margin-right:-3rem!important}.mb-sm-n1{margin-bottom:-.25rem!important}.mb-sm-n2{margin-bottom:-.5rem!important}.mb-sm-n3{margin-bottom:-1rem!important}.mb-sm-n4{margin-bottom:-1.5rem!important}.mb-sm-n5{margin-bottom:-3rem!important}.ml-sm-n1{margin-left:-.25rem!important}.ml-sm-n2{margin-left:-.5rem!important}.ml-sm-n3{margin-left:-1rem!important}.ml-sm-n4{margin-left:-1.5rem!important}.ml-sm-n5{margin-left:-3rem!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pr-sm-0{padding-right:0!important}.pr-sm-1{padding-right:.25rem!important}.pr-sm-2{padding-right:.5rem!important}.pr-sm-3{padding-right:1rem!important}.pr-sm-4{padding-right:1.5rem!important}.pr-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.pl-sm-0{padding-left:0!important}.pl-sm-1{padding-left:.25rem!important}.pl-sm-2{padding-left:.5rem!important}.pl-sm-3{padding-left:1rem!important}.pl-sm-4{padding-left:1.5rem!important}.pl-sm-5{padding-left:3rem!important}.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}.text-sm-justify{text-align:justify!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.mr-md-0{margin-right:0!important}.mr-md-1{margin-right:.25rem!important}.mr-md-2{margin-right:.5rem!important}.mr-md-3{margin-right:1rem!important}.mr-md-4{margin-right:1.5rem!important}.mr-md-5{margin-right:3rem!important}.mr-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ml-md-0{margin-left:0!important}.ml-md-1{margin-left:.25rem!important}.ml-md-2{margin-left:.5rem!important}.ml-md-3{margin-left:1rem!important}.ml-md-4{margin-left:1.5rem!important}.ml-md-5{margin-left:3rem!important}.ml-md-auto{margin-left:auto!important}.m-md-n1{margin:-.25rem!important}.m-md-n2{margin:-.5rem!important}.m-md-n3{margin:-1rem!important}.m-md-n4{margin:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mx-md-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-md-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-md-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-md-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-md-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-md-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-md-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-md-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-md-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-md-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-md-n1{margin-top:-.25rem!important}.mt-md-n2{margin-top:-.5rem!important}.mt-md-n3{margin-top:-1rem!important}.mt-md-n4{margin-top:-1.5rem!important}.mt-md-n5{margin-top:-3rem!important}.mr-md-n1{margin-right:-.25rem!important}.mr-md-n2{margin-right:-.5rem!important}.mr-md-n3{margin-right:-1rem!important}.mr-md-n4{margin-right:-1.5rem!important}.mr-md-n5{margin-right:-3rem!important}.mb-md-n1{margin-bottom:-.25rem!important}.mb-md-n2{margin-bottom:-.5rem!important}.mb-md-n3{margin-bottom:-1rem!important}.mb-md-n4{margin-bottom:-1.5rem!important}.mb-md-n5{margin-bottom:-3rem!important}.ml-md-n1{margin-left:-.25rem!important}.ml-md-n2{margin-left:-.5rem!important}.ml-md-n3{margin-left:-1rem!important}.ml-md-n4{margin-left:-1.5rem!important}.ml-md-n5{margin-left:-3rem!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pr-md-0{padding-right:0!important}.pr-md-1{padding-right:.25rem!important}.pr-md-2{padding-right:.5rem!important}.pr-md-3{padding-right:1rem!important}.pr-md-4{padding-right:1.5rem!important}.pr-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.pl-md-0{padding-left:0!important}.pl-md-1{padding-left:.25rem!important}.pl-md-2{padding-left:.5rem!important}.pl-md-3{padding-left:1rem!important}.pl-md-4{padding-left:1.5rem!important}.pl-md-5{padding-left:3rem!important}.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}.text-md-justify{text-align:justify!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.mr-lg-0{margin-right:0!important}.mr-lg-1{margin-right:.25rem!important}.mr-lg-2{margin-right:.5rem!important}.mr-lg-3{margin-right:1rem!important}.mr-lg-4{margin-right:1.5rem!important}.mr-lg-5{margin-right:3rem!important}.mr-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ml-lg-0{margin-left:0!important}.ml-lg-1{margin-left:.25rem!important}.ml-lg-2{margin-left:.5rem!important}.ml-lg-3{margin-left:1rem!important}.ml-lg-4{margin-left:1.5rem!important}.ml-lg-5{margin-left:3rem!important}.ml-lg-auto{margin-left:auto!important}.m-lg-n1{margin:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.m-lg-n3{margin:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mx-lg-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-lg-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-lg-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-lg-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-lg-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-lg-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-lg-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-lg-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-lg-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-lg-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-lg-n1{margin-top:-.25rem!important}.mt-lg-n2{margin-top:-.5rem!important}.mt-lg-n3{margin-top:-1rem!important}.mt-lg-n4{margin-top:-1.5rem!important}.mt-lg-n5{margin-top:-3rem!important}.mr-lg-n1{margin-right:-.25rem!important}.mr-lg-n2{margin-right:-.5rem!important}.mr-lg-n3{margin-right:-1rem!important}.mr-lg-n4{margin-right:-1.5rem!important}.mr-lg-n5{margin-right:-3rem!important}.mb-lg-n1{margin-bottom:-.25rem!important}.mb-lg-n2{margin-bottom:-.5rem!important}.mb-lg-n3{margin-bottom:-1rem!important}.mb-lg-n4{margin-bottom:-1.5rem!important}.mb-lg-n5{margin-bottom:-3rem!important}.ml-lg-n1{margin-left:-.25rem!important}.ml-lg-n2{margin-left:-.5rem!important}.ml-lg-n3{margin-left:-1rem!important}.ml-lg-n4{margin-left:-1.5rem!important}.ml-lg-n5{margin-left:-3rem!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pr-lg-0{padding-right:0!important}.pr-lg-1{padding-right:.25rem!important}.pr-lg-2{padding-right:.5rem!important}.pr-lg-3{padding-right:1rem!important}.pr-lg-4{padding-right:1.5rem!important}.pr-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.pl-lg-0{padding-left:0!important}.pl-lg-1{padding-left:.25rem!important}.pl-lg-2{padding-left:.5rem!important}.pl-lg-3{padding-left:1rem!important}.pl-lg-4{padding-left:1.5rem!important}.pl-lg-5{padding-left:3rem!important}.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}.text-lg-justify{text-align:justify!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.mr-xl-0{margin-right:0!important}.mr-xl-1{margin-right:.25rem!important}.mr-xl-2{margin-right:.5rem!important}.mr-xl-3{margin-right:1rem!important}.mr-xl-4{margin-right:1.5rem!important}.mr-xl-5{margin-right:3rem!important}.mr-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ml-xl-0{margin-left:0!important}.ml-xl-1{margin-left:.25rem!important}.ml-xl-2{margin-left:.5rem!important}.ml-xl-3{margin-left:1rem!important}.ml-xl-4{margin-left:1.5rem!important}.ml-xl-5{margin-left:3rem!important}.ml-xl-auto{margin-left:auto!important}.m-xl-n1{margin:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.m-xl-n3{margin:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mx-xl-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-xl-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-xl-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-xl-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-xl-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-xl-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-xl-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-xl-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-xl-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-xl-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-xl-n1{margin-top:-.25rem!important}.mt-xl-n2{margin-top:-.5rem!important}.mt-xl-n3{margin-top:-1rem!important}.mt-xl-n4{margin-top:-1.5rem!important}.mt-xl-n5{margin-top:-3rem!important}.mr-xl-n1{margin-right:-.25rem!important}.mr-xl-n2{margin-right:-.5rem!important}.mr-xl-n3{margin-right:-1rem!important}.mr-xl-n4{margin-right:-1.5rem!important}.mr-xl-n5{margin-right:-3rem!important}.mb-xl-n1{margin-bottom:-.25rem!important}.mb-xl-n2{margin-bottom:-.5rem!important}.mb-xl-n3{margin-bottom:-1rem!important}.mb-xl-n4{margin-bottom:-1.5rem!important}.mb-xl-n5{margin-bottom:-3rem!important}.ml-xl-n1{margin-left:-.25rem!important}.ml-xl-n2{margin-left:-.5rem!important}.ml-xl-n3{margin-left:-1rem!important}.ml-xl-n4{margin-left:-1.5rem!important}.ml-xl-n5{margin-left:-3rem!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pr-xl-0{padding-right:0!important}.pr-xl-1{padding-right:.25rem!important}.pr-xl-2{padding-right:.5rem!important}.pr-xl-3{padding-right:1rem!important}.pr-xl-4{padding-right:1.5rem!important}.pr-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.pl-xl-0{padding-left:0!important}.pl-xl-1{padding-left:.25rem!important}.pl-xl-2{padding-left:.5rem!important}.pl-xl-3{padding-left:1rem!important}.pl-xl-4{padding-left:1.5rem!important}.pl-xl-5{padding-left:3rem!important}.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}.text-xl-justify{text-align:justify!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}}
+ */.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.border{border:1px solid #dee2e6!important}.border-0{border:0!important}.border-top{border-top:1px solid #dee2e6!important}.border-top-0{border-top:0!important}.border-right{border-right:1px solid #dee2e6!important}.border-right-0{border-right:0!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-bottom-0{border-bottom:0!important}.border-left{border-left:1px solid #dee2e6!important}.border-left-0{border-left:0!important}.border-primary{border-color:#0d6efd!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.mr-0{margin-right:0!important}.mr-1{margin-right:.25rem!important}.mr-2{margin-right:.5rem!important}.mr-3{margin-right:1rem!important}.mr-4{margin-right:1.5rem!important}.mr-5{margin-right:3rem!important}.mr-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ml-0{margin-left:0!important}.ml-1{margin-left:.25rem!important}.ml-2{margin-left:.5rem!important}.ml-3{margin-left:1rem!important}.ml-4{margin-left:1.5rem!important}.ml-5{margin-left:3rem!important}.ml-auto{margin-left:auto!important}.m-n1{margin:-.25rem!important}.m-n2{margin:-.5rem!important}.m-n3{margin:-1rem!important}.m-n4{margin:-1.5rem!important}.m-n5{margin:-3rem!important}.mx-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-n1{margin-top:-.25rem!important}.mt-n2{margin-top:-.5rem!important}.mt-n3{margin-top:-1rem!important}.mt-n4{margin-top:-1.5rem!important}.mt-n5{margin-top:-3rem!important}.mr-n1{margin-right:-.25rem!important}.mr-n2{margin-right:-.5rem!important}.mr-n3{margin-right:-1rem!important}.mr-n4{margin-right:-1.5rem!important}.mr-n5{margin-right:-3rem!important}.mb-n1{margin-bottom:-.25rem!important}.mb-n2{margin-bottom:-.5rem!important}.mb-n3{margin-bottom:-1rem!important}.mb-n4{margin-bottom:-1.5rem!important}.mb-n5{margin-bottom:-3rem!important}.ml-n1{margin-left:-.25rem!important}.ml-n2{margin-left:-.5rem!important}.ml-n3{margin-left:-1rem!important}.ml-n4{margin-left:-1.5rem!important}.ml-n5{margin-left:-3rem!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pr-0{padding-right:0!important}.pr-1{padding-right:.25rem!important}.pr-2{padding-right:.5rem!important}.pr-3{padding-right:1rem!important}.pr-4{padding-right:1.5rem!important}.pr-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.pl-0{padding-left:0!important}.pl-1{padding-left:.25rem!important}.pl-2{padding-left:.5rem!important}.pl-3{padding-left:1rem!important}.pl-4{padding-left:1.5rem!important}.pl-5{padding-left:3rem!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}.text-primary{color:#0d6efd!important}.text-secondary{color:#6c757d!important}.text-success{color:#28a745!important}.text-info{color:#17a2b8!important}.text-warning{color:#ffc107!important}.text-danger{color:#dc3545!important}.text-light{color:#f8f9fa!important}.text-dark{color:#343a40!important}.text-white{color:#fff!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-reset{color:inherit!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.bg-primary{background-color:#0d6efd!important}.bg-secondary{background-color:#6c757d!important}.bg-success{background-color:#28a745!important}.bg-info{background-color:#17a2b8!important}.bg-warning{background-color:#ffc107!important}.bg-danger{background-color:#dc3545!important}.bg-light{background-color:#f8f9fa!important}.bg-dark{background-color:#343a40!important}.bg-body{background-color:#fff!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.font-italic{font-style:italic!important}.font-normal{font-style:normal!important}.text-break{word-wrap:break-word!important}.font-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;-ms-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;-ms-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:.25rem!important}.rounded-sm{border-radius:.2rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-bottom-left-radius:.25rem!important;border-top-left-radius:.25rem!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.mr-sm-0{margin-right:0!important}.mr-sm-1{margin-right:.25rem!important}.mr-sm-2{margin-right:.5rem!important}.mr-sm-3{margin-right:1rem!important}.mr-sm-4{margin-right:1.5rem!important}.mr-sm-5{margin-right:3rem!important}.mr-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ml-sm-0{margin-left:0!important}.ml-sm-1{margin-left:.25rem!important}.ml-sm-2{margin-left:.5rem!important}.ml-sm-3{margin-left:1rem!important}.ml-sm-4{margin-left:1.5rem!important}.ml-sm-5{margin-left:3rem!important}.ml-sm-auto{margin-left:auto!important}.m-sm-n1{margin:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.m-sm-n3{margin:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mx-sm-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-sm-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-sm-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-sm-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-sm-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-sm-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-sm-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-sm-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-sm-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-sm-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-sm-n1{margin-top:-.25rem!important}.mt-sm-n2{margin-top:-.5rem!important}.mt-sm-n3{margin-top:-1rem!important}.mt-sm-n4{margin-top:-1.5rem!important}.mt-sm-n5{margin-top:-3rem!important}.mr-sm-n1{margin-right:-.25rem!important}.mr-sm-n2{margin-right:-.5rem!important}.mr-sm-n3{margin-right:-1rem!important}.mr-sm-n4{margin-right:-1.5rem!important}.mr-sm-n5{margin-right:-3rem!important}.mb-sm-n1{margin-bottom:-.25rem!important}.mb-sm-n2{margin-bottom:-.5rem!important}.mb-sm-n3{margin-bottom:-1rem!important}.mb-sm-n4{margin-bottom:-1.5rem!important}.mb-sm-n5{margin-bottom:-3rem!important}.ml-sm-n1{margin-left:-.25rem!important}.ml-sm-n2{margin-left:-.5rem!important}.ml-sm-n3{margin-left:-1rem!important}.ml-sm-n4{margin-left:-1.5rem!important}.ml-sm-n5{margin-left:-3rem!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pr-sm-0{padding-right:0!important}.pr-sm-1{padding-right:.25rem!important}.pr-sm-2{padding-right:.5rem!important}.pr-sm-3{padding-right:1rem!important}.pr-sm-4{padding-right:1.5rem!important}.pr-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.pl-sm-0{padding-left:0!important}.pl-sm-1{padding-left:.25rem!important}.pl-sm-2{padding-left:.5rem!important}.pl-sm-3{padding-left:1rem!important}.pl-sm-4{padding-left:1.5rem!important}.pl-sm-5{padding-left:3rem!important}.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.mr-md-0{margin-right:0!important}.mr-md-1{margin-right:.25rem!important}.mr-md-2{margin-right:.5rem!important}.mr-md-3{margin-right:1rem!important}.mr-md-4{margin-right:1.5rem!important}.mr-md-5{margin-right:3rem!important}.mr-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ml-md-0{margin-left:0!important}.ml-md-1{margin-left:.25rem!important}.ml-md-2{margin-left:.5rem!important}.ml-md-3{margin-left:1rem!important}.ml-md-4{margin-left:1.5rem!important}.ml-md-5{margin-left:3rem!important}.ml-md-auto{margin-left:auto!important}.m-md-n1{margin:-.25rem!important}.m-md-n2{margin:-.5rem!important}.m-md-n3{margin:-1rem!important}.m-md-n4{margin:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mx-md-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-md-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-md-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-md-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-md-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-md-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-md-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-md-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-md-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-md-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-md-n1{margin-top:-.25rem!important}.mt-md-n2{margin-top:-.5rem!important}.mt-md-n3{margin-top:-1rem!important}.mt-md-n4{margin-top:-1.5rem!important}.mt-md-n5{margin-top:-3rem!important}.mr-md-n1{margin-right:-.25rem!important}.mr-md-n2{margin-right:-.5rem!important}.mr-md-n3{margin-right:-1rem!important}.mr-md-n4{margin-right:-1.5rem!important}.mr-md-n5{margin-right:-3rem!important}.mb-md-n1{margin-bottom:-.25rem!important}.mb-md-n2{margin-bottom:-.5rem!important}.mb-md-n3{margin-bottom:-1rem!important}.mb-md-n4{margin-bottom:-1.5rem!important}.mb-md-n5{margin-bottom:-3rem!important}.ml-md-n1{margin-left:-.25rem!important}.ml-md-n2{margin-left:-.5rem!important}.ml-md-n3{margin-left:-1rem!important}.ml-md-n4{margin-left:-1.5rem!important}.ml-md-n5{margin-left:-3rem!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pr-md-0{padding-right:0!important}.pr-md-1{padding-right:.25rem!important}.pr-md-2{padding-right:.5rem!important}.pr-md-3{padding-right:1rem!important}.pr-md-4{padding-right:1.5rem!important}.pr-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.pl-md-0{padding-left:0!important}.pl-md-1{padding-left:.25rem!important}.pl-md-2{padding-left:.5rem!important}.pl-md-3{padding-left:1rem!important}.pl-md-4{padding-left:1.5rem!important}.pl-md-5{padding-left:3rem!important}.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.mr-lg-0{margin-right:0!important}.mr-lg-1{margin-right:.25rem!important}.mr-lg-2{margin-right:.5rem!important}.mr-lg-3{margin-right:1rem!important}.mr-lg-4{margin-right:1.5rem!important}.mr-lg-5{margin-right:3rem!important}.mr-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ml-lg-0{margin-left:0!important}.ml-lg-1{margin-left:.25rem!important}.ml-lg-2{margin-left:.5rem!important}.ml-lg-3{margin-left:1rem!important}.ml-lg-4{margin-left:1.5rem!important}.ml-lg-5{margin-left:3rem!important}.ml-lg-auto{margin-left:auto!important}.m-lg-n1{margin:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.m-lg-n3{margin:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mx-lg-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-lg-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-lg-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-lg-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-lg-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-lg-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-lg-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-lg-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-lg-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-lg-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-lg-n1{margin-top:-.25rem!important}.mt-lg-n2{margin-top:-.5rem!important}.mt-lg-n3{margin-top:-1rem!important}.mt-lg-n4{margin-top:-1.5rem!important}.mt-lg-n5{margin-top:-3rem!important}.mr-lg-n1{margin-right:-.25rem!important}.mr-lg-n2{margin-right:-.5rem!important}.mr-lg-n3{margin-right:-1rem!important}.mr-lg-n4{margin-right:-1.5rem!important}.mr-lg-n5{margin-right:-3rem!important}.mb-lg-n1{margin-bottom:-.25rem!important}.mb-lg-n2{margin-bottom:-.5rem!important}.mb-lg-n3{margin-bottom:-1rem!important}.mb-lg-n4{margin-bottom:-1.5rem!important}.mb-lg-n5{margin-bottom:-3rem!important}.ml-lg-n1{margin-left:-.25rem!important}.ml-lg-n2{margin-left:-.5rem!important}.ml-lg-n3{margin-left:-1rem!important}.ml-lg-n4{margin-left:-1.5rem!important}.ml-lg-n5{margin-left:-3rem!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pr-lg-0{padding-right:0!important}.pr-lg-1{padding-right:.25rem!important}.pr-lg-2{padding-right:.5rem!important}.pr-lg-3{padding-right:1rem!important}.pr-lg-4{padding-right:1.5rem!important}.pr-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.pl-lg-0{padding-left:0!important}.pl-lg-1{padding-left:.25rem!important}.pl-lg-2{padding-left:.5rem!important}.pl-lg-3{padding-left:1rem!important}.pl-lg-4{padding-left:1.5rem!important}.pl-lg-5{padding-left:3rem!important}.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.mr-xl-0{margin-right:0!important}.mr-xl-1{margin-right:.25rem!important}.mr-xl-2{margin-right:.5rem!important}.mr-xl-3{margin-right:1rem!important}.mr-xl-4{margin-right:1.5rem!important}.mr-xl-5{margin-right:3rem!important}.mr-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ml-xl-0{margin-left:0!important}.ml-xl-1{margin-left:.25rem!important}.ml-xl-2{margin-left:.5rem!important}.ml-xl-3{margin-left:1rem!important}.ml-xl-4{margin-left:1.5rem!important}.ml-xl-5{margin-left:3rem!important}.ml-xl-auto{margin-left:auto!important}.m-xl-n1{margin:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.m-xl-n3{margin:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mx-xl-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-xl-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-xl-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-xl-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-xl-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-xl-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-xl-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-xl-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-xl-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-xl-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-xl-n1{margin-top:-.25rem!important}.mt-xl-n2{margin-top:-.5rem!important}.mt-xl-n3{margin-top:-1rem!important}.mt-xl-n4{margin-top:-1.5rem!important}.mt-xl-n5{margin-top:-3rem!important}.mr-xl-n1{margin-right:-.25rem!important}.mr-xl-n2{margin-right:-.5rem!important}.mr-xl-n3{margin-right:-1rem!important}.mr-xl-n4{margin-right:-1.5rem!important}.mr-xl-n5{margin-right:-3rem!important}.mb-xl-n1{margin-bottom:-.25rem!important}.mb-xl-n2{margin-bottom:-.5rem!important}.mb-xl-n3{margin-bottom:-1rem!important}.mb-xl-n4{margin-bottom:-1.5rem!important}.mb-xl-n5{margin-bottom:-3rem!important}.ml-xl-n1{margin-left:-.25rem!important}.ml-xl-n2{margin-left:-.5rem!important}.ml-xl-n3{margin-left:-1rem!important}.ml-xl-n4{margin-left:-1.5rem!important}.ml-xl-n5{margin-left:-3rem!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pr-xl-0{padding-right:0!important}.pr-xl-1{padding-right:.25rem!important}.pr-xl-2{padding-right:.5rem!important}.pr-xl-3{padding-right:1rem!important}.pr-xl-4{padding-right:1.5rem!important}.pr-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.pl-xl-0{padding-left:0!important}.pl-xl-1{padding-left:.25rem!important}.pl-xl-2{padding-left:.5rem!important}.pl-xl-3{padding-left:1rem!important}.pl-xl-4{padding-left:1.5rem!important}.pl-xl-5{padding-left:3rem!important}.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}}
/*# sourceMappingURL=bootstrap-utilities.min.css.map */ \ No newline at end of file
diff --git a/dist/css/bootstrap-utilities.min.css.map b/dist/css/bootstrap-utilities.min.css.map
index af7056646a..decedb679e 100644
--- a/dist/css/bootstrap-utilities.min.css.map
+++ b/dist/css/bootstrap-utilities.min.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/bootstrap-utilities.scss","../../scss/mixins/_utilities.scss","../../scss/mixins/_breakpoints.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap Utilities v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n// Configuration\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"utilities\";\n\n\n// Utilities\n\n@import \"utilities/api\";\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (eg. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n // stylelint-disable-next-line declaration-no-important\n #{$property}: $value !important;\n }\n }\n }\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file
+{"version":3,"sources":["../../scss/bootstrap-utilities.scss","../../scss/mixins/_utilities.scss","../../scss/mixins/_breakpoints.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap Utilities v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n// Configuration\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"utilities\";\n\n\n// Utilities\n\n@import \"utilities/api\";\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix, $is-rfs-media-query: false) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (eg. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n @if map-get($utility, rfs) {\n // Inside the media query\n @if $is-rfs-media-query {\n $val: rfs-value($value);\n\n // Do not render anything if fluid and non fluid values are the same\n $value: if($val == rfs-fluid-value($value), null, $val);\n }\n @else {\n $value: rfs-fluid-value($value);\n }\n }\n\n @if $value != null {\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n }\n }\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n// RFS rescaling\n@media (min-width: $rfs-mq-value) {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and map-get($utility, rfs) {\n @include generate-utility($utility, $infix, true);\n }\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file
diff --git a/dist/css/bootstrap.css b/dist/css/bootstrap.css
index d8a20e160b..593cba26a9 100644
--- a/dist/css/bootstrap.css
+++ b/dist/css/bootstrap.css
@@ -1,7 +1,7 @@
/*!
* Bootstrap v4.3.1 (https://getbootstrap.com/)
- * Copyright 2011-2019 The Bootstrap Authors
- * Copyright 2011-2019 Twitter, Inc.
+ * Copyright 2011-2020 The Bootstrap Authors
+ * Copyright 2011-2020 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
:root {
@@ -72,19 +72,43 @@ h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
}
h1, .h1 {
- font-size: 2.5rem;
+ font-size: calc(1.375rem + 1.5vw);
+}
+
+@media (min-width: 1200px) {
+ h1, .h1 {
+ font-size: 2.5rem;
+ }
}
h2, .h2 {
- font-size: 2rem;
+ font-size: calc(1.325rem + 0.9vw);
+}
+
+@media (min-width: 1200px) {
+ h2, .h2 {
+ font-size: 2rem;
+ }
}
h3, .h3 {
- font-size: 1.75rem;
+ font-size: calc(1.3rem + 0.6vw);
+}
+
+@media (min-width: 1200px) {
+ h3, .h3 {
+ font-size: 1.75rem;
+ }
}
h4, .h4 {
- font-size: 1.5rem;
+ font-size: calc(1.275rem + 0.3vw);
+}
+
+@media (min-width: 1200px) {
+ h4, .h4 {
+ font-size: 1.5rem;
+ }
}
h5, .h5 {
@@ -157,6 +181,11 @@ small, .small {
font-size: 0.875em;
}
+mark, .mark {
+ padding: 0.2em;
+ background-color: #fcf8e3;
+}
+
sub,
sup {
position: relative;
@@ -175,12 +204,11 @@ sup {
a {
color: #0d6efd;
- text-decoration: none;
+ text-decoration: underline;
}
a:hover {
color: #024dbc;
- text-decoration: underline;
}
a:not([href]), a:not([href]):hover {
@@ -238,16 +266,13 @@ figure {
margin: 0 0 1rem;
}
-img {
- vertical-align: middle;
-}
-
+img,
svg {
- overflow: hidden;
vertical-align: middle;
}
table {
+ caption-side: bottom;
border-collapse: collapse;
}
@@ -256,11 +281,11 @@ caption {
padding-bottom: 0.5rem;
color: #6c757d;
text-align: left;
- caption-side: bottom;
}
th {
text-align: inherit;
+ text-align: -webkit-match-parent;
}
label {
@@ -333,7 +358,6 @@ input[type="month"] {
}
textarea {
- overflow: auto;
resize: vertical;
}
@@ -349,24 +373,33 @@ legend {
width: 100%;
padding: 0;
margin-bottom: 0.5rem;
- font-size: 1.5rem;
+ font-size: calc(1.275rem + 0.3vw);
line-height: inherit;
- color: inherit;
white-space: normal;
}
-mark, .mark {
- padding: 0.2em;
- background-color: #fcf8e3;
+@media (min-width: 1200px) {
+ legend {
+ font-size: 1.5rem;
+ }
}
-progress {
- vertical-align: baseline;
+legend + * {
+ clear: left;
}
-::-webkit-datetime-edit {
- overflow: visible;
- line-height: 0;
+::-webkit-datetime-edit-fields-wrapper,
+::-webkit-datetime-edit-text,
+::-webkit-datetime-edit-minute,
+::-webkit-datetime-edit-hour-field,
+::-webkit-datetime-edit-day-field,
+::-webkit-datetime-edit-month-field,
+::-webkit-datetime-edit-year-field {
+ padding: 0;
+}
+
+::-webkit-inner-spin-button {
+ height: auto;
}
[type="search"] {
@@ -396,12 +429,8 @@ summary {
cursor: pointer;
}
-template {
- display: none;
-}
-
-main {
- display: block;
+progress {
+ vertical-align: baseline;
}
[hidden] {
@@ -414,29 +443,53 @@ main {
}
.display-1 {
- font-size: 6rem;
+ font-size: calc(1.725rem + 5.7vw);
font-weight: 300;
line-height: 1.2;
}
+@media (min-width: 1200px) {
+ .display-1 {
+ font-size: 6rem;
+ }
+}
+
.display-2 {
- font-size: 5.5rem;
+ font-size: calc(1.675rem + 5.1vw);
font-weight: 300;
line-height: 1.2;
}
+@media (min-width: 1200px) {
+ .display-2 {
+ font-size: 5.5rem;
+ }
+}
+
.display-3 {
- font-size: 4.5rem;
+ font-size: calc(1.575rem + 3.9vw);
font-weight: 300;
line-height: 1.2;
}
+@media (min-width: 1200px) {
+ .display-3 {
+ font-size: 4.5rem;
+ }
+}
+
.display-4 {
- font-size: 3.5rem;
+ font-size: calc(1.475rem + 2.7vw);
font-weight: 300;
line-height: 1.2;
}
+@media (min-width: 1200px) {
+ .display-4 {
+ font-size: 3.5rem;
+ }
+}
+
.list-unstyled {
padding-left: 0;
list-style: none;
@@ -505,8 +558,8 @@ main {
.container {
width: 100%;
- padding-right: 15px;
- padding-left: 15px;
+ padding-right: 1rem;
+ padding-left: 1rem;
margin-right: auto;
margin-left: auto;
}
@@ -537,8 +590,8 @@ main {
.container-fluid, .container-sm, .container-md, .container-lg, .container-xl {
width: 100%;
- padding-right: 15px;
- padding-left: 15px;
+ padding-right: 1rem;
+ padding-left: 1rem;
margin-right: auto;
margin-left: auto;
}
@@ -570,133 +623,697 @@ main {
.row {
display: flex;
flex-wrap: wrap;
- margin-right: -15px;
- margin-left: -15px;
+ margin-right: -0.75rem;
+ margin-left: -0.75rem;
}
-.no-gutters {
+.row > * {
+ flex-shrink: 0;
+ width: 100%;
+ max-width: 100%;
+ padding-right: 0.75rem;
+ padding-left: 0.75rem;
+}
+
+.g-0,
+.gx-0 {
margin-right: 0;
margin-left: 0;
}
-.no-gutters > .col,
-.no-gutters > [class*="col-"] {
+.g-0 > *,
+.gx-0 > * {
padding-right: 0;
padding-left: 0;
}
-.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,
-.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,
-.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,
-.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,
-.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,
-.col-xl-auto {
- position: relative;
- width: 100%;
- padding-right: 15px;
- padding-left: 15px;
+.g-0,
+.gy-0 {
+ margin-top: 0;
+}
+
+.g-0 > *,
+.gy-0 > * {
+ margin-top: 0;
+}
+
+.g-1,
+.gx-1 {
+ margin-right: -0.125rem;
+ margin-left: -0.125rem;
+}
+
+.g-1 > *,
+.gx-1 > * {
+ padding-right: 0.125rem;
+ padding-left: 0.125rem;
+}
+
+.g-1,
+.gy-1 {
+ margin-top: -0.25rem;
+}
+
+.g-1 > *,
+.gy-1 > * {
+ margin-top: 0.25rem;
+}
+
+.g-2,
+.gx-2 {
+ margin-right: -0.25rem;
+ margin-left: -0.25rem;
+}
+
+.g-2 > *,
+.gx-2 > * {
+ padding-right: 0.25rem;
+ padding-left: 0.25rem;
+}
+
+.g-2,
+.gy-2 {
+ margin-top: -0.5rem;
+}
+
+.g-2 > *,
+.gy-2 > * {
+ margin-top: 0.5rem;
+}
+
+.g-3,
+.gx-3 {
+ margin-right: -0.5rem;
+ margin-left: -0.5rem;
+}
+
+.g-3 > *,
+.gx-3 > * {
+ padding-right: 0.5rem;
+ padding-left: 0.5rem;
+}
+
+.g-3,
+.gy-3 {
+ margin-top: -1rem;
+}
+
+.g-3 > *,
+.gy-3 > * {
+ margin-top: 1rem;
+}
+
+.g-4,
+.gx-4 {
+ margin-right: -0.75rem;
+ margin-left: -0.75rem;
+}
+
+.g-4 > *,
+.gx-4 > * {
+ padding-right: 0.75rem;
+ padding-left: 0.75rem;
+}
+
+.g-4,
+.gy-4 {
+ margin-top: -1.5rem;
+}
+
+.g-4 > *,
+.gy-4 > * {
+ margin-top: 1.5rem;
+}
+
+.g-5,
+.gx-5 {
+ margin-right: -1.5rem;
+ margin-left: -1.5rem;
+}
+
+.g-5 > *,
+.gx-5 > * {
+ padding-right: 1.5rem;
+ padding-left: 1.5rem;
+}
+
+.g-5,
+.gy-5 {
+ margin-top: -3rem;
+}
+
+.g-5 > *,
+.gy-5 > * {
+ margin-top: 3rem;
+}
+
+@media (min-width: 576px) {
+ .g-sm-0,
+ .gx-sm-0 {
+ margin-right: 0;
+ margin-left: 0;
+ }
+ .g-sm-0 > *,
+ .gx-sm-0 > * {
+ padding-right: 0;
+ padding-left: 0;
+ }
+ .g-sm-0,
+ .gy-sm-0 {
+ margin-top: 0;
+ }
+ .g-sm-0 > *,
+ .gy-sm-0 > * {
+ margin-top: 0;
+ }
+ .g-sm-1,
+ .gx-sm-1 {
+ margin-right: -0.125rem;
+ margin-left: -0.125rem;
+ }
+ .g-sm-1 > *,
+ .gx-sm-1 > * {
+ padding-right: 0.125rem;
+ padding-left: 0.125rem;
+ }
+ .g-sm-1,
+ .gy-sm-1 {
+ margin-top: -0.25rem;
+ }
+ .g-sm-1 > *,
+ .gy-sm-1 > * {
+ margin-top: 0.25rem;
+ }
+ .g-sm-2,
+ .gx-sm-2 {
+ margin-right: -0.25rem;
+ margin-left: -0.25rem;
+ }
+ .g-sm-2 > *,
+ .gx-sm-2 > * {
+ padding-right: 0.25rem;
+ padding-left: 0.25rem;
+ }
+ .g-sm-2,
+ .gy-sm-2 {
+ margin-top: -0.5rem;
+ }
+ .g-sm-2 > *,
+ .gy-sm-2 > * {
+ margin-top: 0.5rem;
+ }
+ .g-sm-3,
+ .gx-sm-3 {
+ margin-right: -0.5rem;
+ margin-left: -0.5rem;
+ }
+ .g-sm-3 > *,
+ .gx-sm-3 > * {
+ padding-right: 0.5rem;
+ padding-left: 0.5rem;
+ }
+ .g-sm-3,
+ .gy-sm-3 {
+ margin-top: -1rem;
+ }
+ .g-sm-3 > *,
+ .gy-sm-3 > * {
+ margin-top: 1rem;
+ }
+ .g-sm-4,
+ .gx-sm-4 {
+ margin-right: -0.75rem;
+ margin-left: -0.75rem;
+ }
+ .g-sm-4 > *,
+ .gx-sm-4 > * {
+ padding-right: 0.75rem;
+ padding-left: 0.75rem;
+ }
+ .g-sm-4,
+ .gy-sm-4 {
+ margin-top: -1.5rem;
+ }
+ .g-sm-4 > *,
+ .gy-sm-4 > * {
+ margin-top: 1.5rem;
+ }
+ .g-sm-5,
+ .gx-sm-5 {
+ margin-right: -1.5rem;
+ margin-left: -1.5rem;
+ }
+ .g-sm-5 > *,
+ .gx-sm-5 > * {
+ padding-right: 1.5rem;
+ padding-left: 1.5rem;
+ }
+ .g-sm-5,
+ .gy-sm-5 {
+ margin-top: -3rem;
+ }
+ .g-sm-5 > *,
+ .gy-sm-5 > * {
+ margin-top: 3rem;
+ }
+}
+
+@media (min-width: 768px) {
+ .g-md-0,
+ .gx-md-0 {
+ margin-right: 0;
+ margin-left: 0;
+ }
+ .g-md-0 > *,
+ .gx-md-0 > * {
+ padding-right: 0;
+ padding-left: 0;
+ }
+ .g-md-0,
+ .gy-md-0 {
+ margin-top: 0;
+ }
+ .g-md-0 > *,
+ .gy-md-0 > * {
+ margin-top: 0;
+ }
+ .g-md-1,
+ .gx-md-1 {
+ margin-right: -0.125rem;
+ margin-left: -0.125rem;
+ }
+ .g-md-1 > *,
+ .gx-md-1 > * {
+ padding-right: 0.125rem;
+ padding-left: 0.125rem;
+ }
+ .g-md-1,
+ .gy-md-1 {
+ margin-top: -0.25rem;
+ }
+ .g-md-1 > *,
+ .gy-md-1 > * {
+ margin-top: 0.25rem;
+ }
+ .g-md-2,
+ .gx-md-2 {
+ margin-right: -0.25rem;
+ margin-left: -0.25rem;
+ }
+ .g-md-2 > *,
+ .gx-md-2 > * {
+ padding-right: 0.25rem;
+ padding-left: 0.25rem;
+ }
+ .g-md-2,
+ .gy-md-2 {
+ margin-top: -0.5rem;
+ }
+ .g-md-2 > *,
+ .gy-md-2 > * {
+ margin-top: 0.5rem;
+ }
+ .g-md-3,
+ .gx-md-3 {
+ margin-right: -0.5rem;
+ margin-left: -0.5rem;
+ }
+ .g-md-3 > *,
+ .gx-md-3 > * {
+ padding-right: 0.5rem;
+ padding-left: 0.5rem;
+ }
+ .g-md-3,
+ .gy-md-3 {
+ margin-top: -1rem;
+ }
+ .g-md-3 > *,
+ .gy-md-3 > * {
+ margin-top: 1rem;
+ }
+ .g-md-4,
+ .gx-md-4 {
+ margin-right: -0.75rem;
+ margin-left: -0.75rem;
+ }
+ .g-md-4 > *,
+ .gx-md-4 > * {
+ padding-right: 0.75rem;
+ padding-left: 0.75rem;
+ }
+ .g-md-4,
+ .gy-md-4 {
+ margin-top: -1.5rem;
+ }
+ .g-md-4 > *,
+ .gy-md-4 > * {
+ margin-top: 1.5rem;
+ }
+ .g-md-5,
+ .gx-md-5 {
+ margin-right: -1.5rem;
+ margin-left: -1.5rem;
+ }
+ .g-md-5 > *,
+ .gx-md-5 > * {
+ padding-right: 1.5rem;
+ padding-left: 1.5rem;
+ }
+ .g-md-5,
+ .gy-md-5 {
+ margin-top: -3rem;
+ }
+ .g-md-5 > *,
+ .gy-md-5 > * {
+ margin-top: 3rem;
+ }
+}
+
+@media (min-width: 992px) {
+ .g-lg-0,
+ .gx-lg-0 {
+ margin-right: 0;
+ margin-left: 0;
+ }
+ .g-lg-0 > *,
+ .gx-lg-0 > * {
+ padding-right: 0;
+ padding-left: 0;
+ }
+ .g-lg-0,
+ .gy-lg-0 {
+ margin-top: 0;
+ }
+ .g-lg-0 > *,
+ .gy-lg-0 > * {
+ margin-top: 0;
+ }
+ .g-lg-1,
+ .gx-lg-1 {
+ margin-right: -0.125rem;
+ margin-left: -0.125rem;
+ }
+ .g-lg-1 > *,
+ .gx-lg-1 > * {
+ padding-right: 0.125rem;
+ padding-left: 0.125rem;
+ }
+ .g-lg-1,
+ .gy-lg-1 {
+ margin-top: -0.25rem;
+ }
+ .g-lg-1 > *,
+ .gy-lg-1 > * {
+ margin-top: 0.25rem;
+ }
+ .g-lg-2,
+ .gx-lg-2 {
+ margin-right: -0.25rem;
+ margin-left: -0.25rem;
+ }
+ .g-lg-2 > *,
+ .gx-lg-2 > * {
+ padding-right: 0.25rem;
+ padding-left: 0.25rem;
+ }
+ .g-lg-2,
+ .gy-lg-2 {
+ margin-top: -0.5rem;
+ }
+ .g-lg-2 > *,
+ .gy-lg-2 > * {
+ margin-top: 0.5rem;
+ }
+ .g-lg-3,
+ .gx-lg-3 {
+ margin-right: -0.5rem;
+ margin-left: -0.5rem;
+ }
+ .g-lg-3 > *,
+ .gx-lg-3 > * {
+ padding-right: 0.5rem;
+ padding-left: 0.5rem;
+ }
+ .g-lg-3,
+ .gy-lg-3 {
+ margin-top: -1rem;
+ }
+ .g-lg-3 > *,
+ .gy-lg-3 > * {
+ margin-top: 1rem;
+ }
+ .g-lg-4,
+ .gx-lg-4 {
+ margin-right: -0.75rem;
+ margin-left: -0.75rem;
+ }
+ .g-lg-4 > *,
+ .gx-lg-4 > * {
+ padding-right: 0.75rem;
+ padding-left: 0.75rem;
+ }
+ .g-lg-4,
+ .gy-lg-4 {
+ margin-top: -1.5rem;
+ }
+ .g-lg-4 > *,
+ .gy-lg-4 > * {
+ margin-top: 1.5rem;
+ }
+ .g-lg-5,
+ .gx-lg-5 {
+ margin-right: -1.5rem;
+ margin-left: -1.5rem;
+ }
+ .g-lg-5 > *,
+ .gx-lg-5 > * {
+ padding-right: 1.5rem;
+ padding-left: 1.5rem;
+ }
+ .g-lg-5,
+ .gy-lg-5 {
+ margin-top: -3rem;
+ }
+ .g-lg-5 > *,
+ .gy-lg-5 > * {
+ margin-top: 3rem;
+ }
+}
+
+@media (min-width: 1200px) {
+ .g-xl-0,
+ .gx-xl-0 {
+ margin-right: 0;
+ margin-left: 0;
+ }
+ .g-xl-0 > *,
+ .gx-xl-0 > * {
+ padding-right: 0;
+ padding-left: 0;
+ }
+ .g-xl-0,
+ .gy-xl-0 {
+ margin-top: 0;
+ }
+ .g-xl-0 > *,
+ .gy-xl-0 > * {
+ margin-top: 0;
+ }
+ .g-xl-1,
+ .gx-xl-1 {
+ margin-right: -0.125rem;
+ margin-left: -0.125rem;
+ }
+ .g-xl-1 > *,
+ .gx-xl-1 > * {
+ padding-right: 0.125rem;
+ padding-left: 0.125rem;
+ }
+ .g-xl-1,
+ .gy-xl-1 {
+ margin-top: -0.25rem;
+ }
+ .g-xl-1 > *,
+ .gy-xl-1 > * {
+ margin-top: 0.25rem;
+ }
+ .g-xl-2,
+ .gx-xl-2 {
+ margin-right: -0.25rem;
+ margin-left: -0.25rem;
+ }
+ .g-xl-2 > *,
+ .gx-xl-2 > * {
+ padding-right: 0.25rem;
+ padding-left: 0.25rem;
+ }
+ .g-xl-2,
+ .gy-xl-2 {
+ margin-top: -0.5rem;
+ }
+ .g-xl-2 > *,
+ .gy-xl-2 > * {
+ margin-top: 0.5rem;
+ }
+ .g-xl-3,
+ .gx-xl-3 {
+ margin-right: -0.5rem;
+ margin-left: -0.5rem;
+ }
+ .g-xl-3 > *,
+ .gx-xl-3 > * {
+ padding-right: 0.5rem;
+ padding-left: 0.5rem;
+ }
+ .g-xl-3,
+ .gy-xl-3 {
+ margin-top: -1rem;
+ }
+ .g-xl-3 > *,
+ .gy-xl-3 > * {
+ margin-top: 1rem;
+ }
+ .g-xl-4,
+ .gx-xl-4 {
+ margin-right: -0.75rem;
+ margin-left: -0.75rem;
+ }
+ .g-xl-4 > *,
+ .gx-xl-4 > * {
+ padding-right: 0.75rem;
+ padding-left: 0.75rem;
+ }
+ .g-xl-4,
+ .gy-xl-4 {
+ margin-top: -1.5rem;
+ }
+ .g-xl-4 > *,
+ .gy-xl-4 > * {
+ margin-top: 1.5rem;
+ }
+ .g-xl-5,
+ .gx-xl-5 {
+ margin-right: -1.5rem;
+ margin-left: -1.5rem;
+ }
+ .g-xl-5 > *,
+ .gx-xl-5 > * {
+ padding-right: 1.5rem;
+ padding-left: 1.5rem;
+ }
+ .g-xl-5,
+ .gy-xl-5 {
+ margin-top: -3rem;
+ }
+ .g-xl-5 > *,
+ .gy-xl-5 > * {
+ margin-top: 3rem;
+ }
}
.col {
- flex-basis: 0;
- flex-grow: 1;
- max-width: 100%;
+ flex: 1 0 0%;
+ min-width: 0;
+}
+
+.row-cols-auto > * {
+ flex: 0 0 auto;
+ width: auto;
}
.row-cols-1 > * {
- flex: 0 0 100%;
- max-width: 100%;
+ flex: 0 0 auto;
+ width: 100%;
}
.row-cols-2 > * {
- flex: 0 0 50%;
- max-width: 50%;
+ flex: 0 0 auto;
+ width: 50%;
}
.row-cols-3 > * {
- flex: 0 0 33.333333%;
- max-width: 33.333333%;
+ flex: 0 0 auto;
+ width: 33.333333%;
}
.row-cols-4 > * {
- flex: 0 0 25%;
- max-width: 25%;
+ flex: 0 0 auto;
+ width: 25%;
}
.row-cols-5 > * {
- flex: 0 0 20%;
- max-width: 20%;
+ flex: 0 0 auto;
+ width: 20%;
}
.row-cols-6 > * {
- flex: 0 0 16.666667%;
- max-width: 16.666667%;
+ flex: 0 0 auto;
+ width: 16.666667%;
}
.col-auto {
flex: 0 0 auto;
width: auto;
- max-width: 100%;
}
.col-1 {
- flex: 0 0 8.333333%;
- max-width: 8.333333%;
+ flex: 0 0 auto;
+ width: 8.333333%;
}
.col-2 {
- flex: 0 0 16.666667%;
- max-width: 16.666667%;
+ flex: 0 0 auto;
+ width: 16.666667%;
}
.col-3 {
- flex: 0 0 25%;
- max-width: 25%;
+ flex: 0 0 auto;
+ width: 25%;
}
.col-4 {
- flex: 0 0 33.333333%;
- max-width: 33.333333%;
+ flex: 0 0 auto;
+ width: 33.333333%;
}
.col-5 {
- flex: 0 0 41.666667%;
- max-width: 41.666667%;
+ flex: 0 0 auto;
+ width: 41.666667%;
}
.col-6 {
- flex: 0 0 50%;
- max-width: 50%;
+ flex: 0 0 auto;
+ width: 50%;
}
.col-7 {
- flex: 0 0 58.333333%;
- max-width: 58.333333%;
+ flex: 0 0 auto;
+ width: 58.333333%;
}
.col-8 {
- flex: 0 0 66.666667%;
- max-width: 66.666667%;
+ flex: 0 0 auto;
+ width: 66.666667%;
}
.col-9 {
- flex: 0 0 75%;
- max-width: 75%;
+ flex: 0 0 auto;
+ width: 75%;
}
.col-10 {
- flex: 0 0 83.333333%;
- max-width: 83.333333%;
+ flex: 0 0 auto;
+ width: 83.333333%;
}
.col-11 {
- flex: 0 0 91.666667%;
- max-width: 91.666667%;
+ flex: 0 0 auto;
+ width: 91.666667%;
}
.col-12 {
- flex: 0 0 100%;
- max-width: 100%;
+ flex: 0 0 auto;
+ width: 100%;
}
.offset-1 {
@@ -745,86 +1362,88 @@ main {
@media (min-width: 576px) {
.col-sm {
- flex-basis: 0;
- flex-grow: 1;
- max-width: 100%;
+ flex: 1 0 0%;
+ min-width: 0;
+ }
+ .row-cols-sm-auto > * {
+ flex: 0 0 auto;
+ width: auto;
}
.row-cols-sm-1 > * {
- flex: 0 0 100%;
- max-width: 100%;
+ flex: 0 0 auto;
+ width: 100%;
}
.row-cols-sm-2 > * {
- flex: 0 0 50%;
- max-width: 50%;
+ flex: 0 0 auto;
+ width: 50%;
}
.row-cols-sm-3 > * {
- flex: 0 0 33.333333%;
- max-width: 33.333333%;
+ flex: 0 0 auto;
+ width: 33.333333%;
}
.row-cols-sm-4 > * {
- flex: 0 0 25%;
- max-width: 25%;
+ flex: 0 0 auto;
+ width: 25%;
}
.row-cols-sm-5 > * {
- flex: 0 0 20%;
- max-width: 20%;
+ flex: 0 0 auto;
+ width: 20%;
}
.row-cols-sm-6 > * {
- flex: 0 0 16.666667%;
- max-width: 16.666667%;
+ flex: 0 0 auto;
+ width: 16.666667%;
}
.col-sm-auto {
flex: 0 0 auto;
width: auto;
- max-width: 100%;
}
.col-sm-1 {
- flex: 0 0 8.333333%;
- max-width: 8.333333%;
+ flex: 0 0 auto;
+ width: 8.333333%;
}
.col-sm-2 {
- flex: 0 0 16.666667%;
- max-width: 16.666667%;
+ flex: 0 0 auto;
+ width: 16.666667%;
}
.col-sm-3 {
- flex: 0 0 25%;
- max-width: 25%;
+ flex: 0 0 auto;
+ width: 25%;
}
.col-sm-4 {
- flex: 0 0 33.333333%;
- max-width: 33.333333%;
+ flex: 0 0 auto;
+ width: 33.333333%;
}
.col-sm-5 {
- flex: 0 0 41.666667%;
- max-width: 41.666667%;
+ flex: 0 0 auto;
+ width: 41.666667%;
}
.col-sm-6 {
- flex: 0 0 50%;
- max-width: 50%;
+ flex: 0 0 auto;
+ width: 50%;
}
.col-sm-7 {
- flex: 0 0 58.333333%;
- max-width: 58.333333%;
+ flex: 0 0 auto;
+ width: 58.333333%;
}
.col-sm-8 {
- flex: 0 0 66.666667%;
- max-width: 66.666667%;
+ flex: 0 0 auto;
+ width: 66.666667%;
}
.col-sm-9 {
- flex: 0 0 75%;
- max-width: 75%;
+ flex: 0 0 auto;
+ width: 75%;
}
.col-sm-10 {
- flex: 0 0 83.333333%;
- max-width: 83.333333%;
+ flex: 0 0 auto;
+ width: 83.333333%;
}
.col-sm-11 {
- flex: 0 0 91.666667%;
- max-width: 91.666667%;
+ flex: 0 0 auto;
+ width: 91.666667%;
}
.col-sm-12 {
- flex: 0 0 100%;
- max-width: 100%;
+ flex: 0 0 auto;
+ width: 100%;
}
.offset-sm-0 {
margin-left: 0;
@@ -866,86 +1485,88 @@ main {
@media (min-width: 768px) {
.col-md {
- flex-basis: 0;
- flex-grow: 1;
- max-width: 100%;
+ flex: 1 0 0%;
+ min-width: 0;
+ }
+ .row-cols-md-auto > * {
+ flex: 0 0 auto;
+ width: auto;
}
.row-cols-md-1 > * {
- flex: 0 0 100%;
- max-width: 100%;
+ flex: 0 0 auto;
+ width: 100%;
}
.row-cols-md-2 > * {
- flex: 0 0 50%;
- max-width: 50%;
+ flex: 0 0 auto;
+ width: 50%;
}
.row-cols-md-3 > * {
- flex: 0 0 33.333333%;
- max-width: 33.333333%;
+ flex: 0 0 auto;
+ width: 33.333333%;
}
.row-cols-md-4 > * {
- flex: 0 0 25%;
- max-width: 25%;
+ flex: 0 0 auto;
+ width: 25%;
}
.row-cols-md-5 > * {
- flex: 0 0 20%;
- max-width: 20%;
+ flex: 0 0 auto;
+ width: 20%;
}
.row-cols-md-6 > * {
- flex: 0 0 16.666667%;
- max-width: 16.666667%;
+ flex: 0 0 auto;
+ width: 16.666667%;
}
.col-md-auto {
flex: 0 0 auto;
width: auto;
- max-width: 100%;
}
.col-md-1 {
- flex: 0 0 8.333333%;
- max-width: 8.333333%;
+ flex: 0 0 auto;
+ width: 8.333333%;
}
.col-md-2 {
- flex: 0 0 16.666667%;
- max-width: 16.666667%;
+ flex: 0 0 auto;
+ width: 16.666667%;
}
.col-md-3 {
- flex: 0 0 25%;
- max-width: 25%;
+ flex: 0 0 auto;
+ width: 25%;
}
.col-md-4 {
- flex: 0 0 33.333333%;
- max-width: 33.333333%;
+ flex: 0 0 auto;
+ width: 33.333333%;
}
.col-md-5 {
- flex: 0 0 41.666667%;
- max-width: 41.666667%;
+ flex: 0 0 auto;
+ width: 41.666667%;
}
.col-md-6 {
- flex: 0 0 50%;
- max-width: 50%;
+ flex: 0 0 auto;
+ width: 50%;
}
.col-md-7 {
- flex: 0 0 58.333333%;
- max-width: 58.333333%;
+ flex: 0 0 auto;
+ width: 58.333333%;
}
.col-md-8 {
- flex: 0 0 66.666667%;
- max-width: 66.666667%;
+ flex: 0 0 auto;
+ width: 66.666667%;
}
.col-md-9 {
- flex: 0 0 75%;
- max-width: 75%;
+ flex: 0 0 auto;
+ width: 75%;
}
.col-md-10 {
- flex: 0 0 83.333333%;
- max-width: 83.333333%;
+ flex: 0 0 auto;
+ width: 83.333333%;
}
.col-md-11 {
- flex: 0 0 91.666667%;
- max-width: 91.666667%;
+ flex: 0 0 auto;
+ width: 91.666667%;
}
.col-md-12 {
- flex: 0 0 100%;
- max-width: 100%;
+ flex: 0 0 auto;
+ width: 100%;
}
.offset-md-0 {
margin-left: 0;
@@ -987,86 +1608,88 @@ main {
@media (min-width: 992px) {
.col-lg {
- flex-basis: 0;
- flex-grow: 1;
- max-width: 100%;
+ flex: 1 0 0%;
+ min-width: 0;
+ }
+ .row-cols-lg-auto > * {
+ flex: 0 0 auto;
+ width: auto;
}
.row-cols-lg-1 > * {
- flex: 0 0 100%;
- max-width: 100%;
+ flex: 0 0 auto;
+ width: 100%;
}
.row-cols-lg-2 > * {
- flex: 0 0 50%;
- max-width: 50%;
+ flex: 0 0 auto;
+ width: 50%;
}
.row-cols-lg-3 > * {
- flex: 0 0 33.333333%;
- max-width: 33.333333%;
+ flex: 0 0 auto;
+ width: 33.333333%;
}
.row-cols-lg-4 > * {
- flex: 0 0 25%;
- max-width: 25%;
+ flex: 0 0 auto;
+ width: 25%;
}
.row-cols-lg-5 > * {
- flex: 0 0 20%;
- max-width: 20%;
+ flex: 0 0 auto;
+ width: 20%;
}
.row-cols-lg-6 > * {
- flex: 0 0 16.666667%;
- max-width: 16.666667%;
+ flex: 0 0 auto;
+ width: 16.666667%;
}
.col-lg-auto {
flex: 0 0 auto;
width: auto;
- max-width: 100%;
}
.col-lg-1 {
- flex: 0 0 8.333333%;
- max-width: 8.333333%;
+ flex: 0 0 auto;
+ width: 8.333333%;
}
.col-lg-2 {
- flex: 0 0 16.666667%;
- max-width: 16.666667%;
+ flex: 0 0 auto;
+ width: 16.666667%;
}
.col-lg-3 {
- flex: 0 0 25%;
- max-width: 25%;
+ flex: 0 0 auto;
+ width: 25%;
}
.col-lg-4 {
- flex: 0 0 33.333333%;
- max-width: 33.333333%;
+ flex: 0 0 auto;
+ width: 33.333333%;
}
.col-lg-5 {
- flex: 0 0 41.666667%;
- max-width: 41.666667%;
+ flex: 0 0 auto;
+ width: 41.666667%;
}
.col-lg-6 {
- flex: 0 0 50%;
- max-width: 50%;
+ flex: 0 0 auto;
+ width: 50%;
}
.col-lg-7 {
- flex: 0 0 58.333333%;
- max-width: 58.333333%;
+ flex: 0 0 auto;
+ width: 58.333333%;
}
.col-lg-8 {
- flex: 0 0 66.666667%;
- max-width: 66.666667%;
+ flex: 0 0 auto;
+ width: 66.666667%;
}
.col-lg-9 {
- flex: 0 0 75%;
- max-width: 75%;
+ flex: 0 0 auto;
+ width: 75%;
}
.col-lg-10 {
- flex: 0 0 83.333333%;
- max-width: 83.333333%;
+ flex: 0 0 auto;
+ width: 83.333333%;
}
.col-lg-11 {
- flex: 0 0 91.666667%;
- max-width: 91.666667%;
+ flex: 0 0 auto;
+ width: 91.666667%;
}
.col-lg-12 {
- flex: 0 0 100%;
- max-width: 100%;
+ flex: 0 0 auto;
+ width: 100%;
}
.offset-lg-0 {
margin-left: 0;
@@ -1108,86 +1731,88 @@ main {
@media (min-width: 1200px) {
.col-xl {
- flex-basis: 0;
- flex-grow: 1;
- max-width: 100%;
+ flex: 1 0 0%;
+ min-width: 0;
+ }
+ .row-cols-xl-auto > * {
+ flex: 0 0 auto;
+ width: auto;
}
.row-cols-xl-1 > * {
- flex: 0 0 100%;
- max-width: 100%;
+ flex: 0 0 auto;
+ width: 100%;
}
.row-cols-xl-2 > * {
- flex: 0 0 50%;
- max-width: 50%;
+ flex: 0 0 auto;
+ width: 50%;
}
.row-cols-xl-3 > * {
- flex: 0 0 33.333333%;
- max-width: 33.333333%;
+ flex: 0 0 auto;
+ width: 33.333333%;
}
.row-cols-xl-4 > * {
- flex: 0 0 25%;
- max-width: 25%;
+ flex: 0 0 auto;
+ width: 25%;
}
.row-cols-xl-5 > * {
- flex: 0 0 20%;
- max-width: 20%;
+ flex: 0 0 auto;
+ width: 20%;
}
.row-cols-xl-6 > * {
- flex: 0 0 16.666667%;
- max-width: 16.666667%;
+ flex: 0 0 auto;
+ width: 16.666667%;
}
.col-xl-auto {
flex: 0 0 auto;
width: auto;
- max-width: 100%;
}
.col-xl-1 {
- flex: 0 0 8.333333%;
- max-width: 8.333333%;
+ flex: 0 0 auto;
+ width: 8.333333%;
}
.col-xl-2 {
- flex: 0 0 16.666667%;
- max-width: 16.666667%;
+ flex: 0 0 auto;
+ width: 16.666667%;
}
.col-xl-3 {
- flex: 0 0 25%;
- max-width: 25%;
+ flex: 0 0 auto;
+ width: 25%;
}
.col-xl-4 {
- flex: 0 0 33.333333%;
- max-width: 33.333333%;
+ flex: 0 0 auto;
+ width: 33.333333%;
}
.col-xl-5 {
- flex: 0 0 41.666667%;
- max-width: 41.666667%;
+ flex: 0 0 auto;
+ width: 41.666667%;
}
.col-xl-6 {
- flex: 0 0 50%;
- max-width: 50%;
+ flex: 0 0 auto;
+ width: 50%;
}
.col-xl-7 {
- flex: 0 0 58.333333%;
- max-width: 58.333333%;
+ flex: 0 0 auto;
+ width: 58.333333%;
}
.col-xl-8 {
- flex: 0 0 66.666667%;
- max-width: 66.666667%;
+ flex: 0 0 auto;
+ width: 66.666667%;
}
.col-xl-9 {
- flex: 0 0 75%;
- max-width: 75%;
+ flex: 0 0 auto;
+ width: 75%;
}
.col-xl-10 {
- flex: 0 0 83.333333%;
- max-width: 83.333333%;
+ flex: 0 0 auto;
+ width: 83.333333%;
}
.col-xl-11 {
- flex: 0 0 91.666667%;
- max-width: 91.666667%;
+ flex: 0 0 auto;
+ width: 91.666667%;
}
.col-xl-12 {
- flex: 0 0 100%;
- max-width: 100%;
+ flex: 0 0 auto;
+ width: 100%;
}
.offset-xl-0 {
margin-left: 0;
@@ -1253,6 +1878,10 @@ main {
border-top: 2px solid #dee2e6;
}
+.caption-top {
+ caption-side: top;
+}
+
.table-sm th,
.table-sm td {
padding: 0.25rem;
@@ -1616,11 +2245,6 @@ main {
}
}
-.form-control::-ms-expand {
- background-color: transparent;
- border: 0;
-}
-
.form-control:focus {
color: #495057;
background-color: #fff;
@@ -1639,11 +2263,6 @@ main {
opacity: 1;
}
-.form-control:-ms-input-placeholder {
- color: #6c757d;
- opacity: 1;
-}
-
.form-control::-ms-input-placeholder {
color: #6c757d;
opacity: 1;
@@ -1704,7 +2323,7 @@ main {
}
.form-select {
- display: inline-block;
+ display: block;
width: 100%;
height: calc(1.5em + 0.75rem + 2px);
padding: 0.375rem 1.75rem 0.375rem 0.75rem;
@@ -1713,7 +2332,11 @@ main {
line-height: 1.5;
color: #495057;
vertical-align: middle;
- background: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e") no-repeat right 0.75rem center/16px 12px;
+ background-color: #fff;
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
+ background-repeat: no-repeat;
+ background-position: right 0.75rem center;
+ background-size: 16px 12px;
border: 1px solid #ced4da;
border-radius: 0.25rem;
-webkit-appearance: none;
@@ -1743,10 +2366,6 @@ main {
background-color: #e9ecef;
}
-.form-select::-ms-expand {
- display: none;
-}
-
.form-select:-moz-focusring {
color: transparent;
text-shadow: 0 0 0 #495057;
@@ -1784,11 +2403,14 @@ main {
width: 1.25em;
height: 1.25em;
margin-top: 0.125em;
+ vertical-align: top;
background-color: #fff;
border: 1px solid rgba(0, 0, 0, 0.25);
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
+ -webkit-print-color-adjust: exact;
+ color-adjust: exact;
}
.form-check-input[type="checkbox"] {
@@ -1835,14 +2457,14 @@ main {
border-color: #0d6efd;
}
-.form-check-input[disabled] {
+.form-check-input:disabled {
pointer-events: none;
-webkit-filter: none;
filter: none;
opacity: .5;
}
-.form-check-input[disabled] ~ .form-check-label {
+.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {
opacity: .5;
}
@@ -1857,11 +2479,13 @@ main {
.form-switch .form-check-input {
width: 2em;
margin-left: -2.5em;
- background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba(0, 0, 0, 0.25)'/%3e%3c/svg%3e");
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");
background-repeat: no-repeat;
background-position: left center;
background-size: contain;
border-radius: 2em;
+ -webkit-print-color-adjust: exact;
+ color-adjust: exact;
}
.form-switch .form-check-input:focus {
@@ -1880,32 +2504,25 @@ main {
.form-file {
position: relative;
- display: inline-block;
- width: 100%;
height: calc(1.5em + 0.75rem + 2px);
- margin-bottom: 0;
}
.form-file-input {
position: relative;
z-index: 2;
width: 100%;
- height: calc(1.5em + 0.75rem + 2px);
+ height: 100%;
margin: 0;
opacity: 0;
}
-.form-file-input:focus ~ .form-file-label {
- border-color: #8bbafe;
- box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
-}
-
.form-file-input:focus-within ~ .form-file-label {
border-color: #8bbafe;
box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
}
-.form-file-input[disabled] ~ .form-file-label .form-file-text {
+.form-file-input[disabled] ~ .form-file-label .form-file-text,
+.form-file-input:disabled ~ .form-file-label .form-file-text {
background-color: #e9ecef;
}
@@ -1916,7 +2533,7 @@ main {
left: 0;
z-index: 1;
display: flex;
- height: calc(1.5em + 0.75rem + 2px);
+ height: 100%;
border-color: #ced4da;
border-radius: 0.25rem;
}
@@ -1954,6 +2571,26 @@ main {
border-bottom-right-radius: inherit;
}
+.form-file-sm {
+ height: calc(1.5em + 0.5rem + 2px);
+ font-size: 0.875rem;
+}
+
+.form-file-sm .form-file-text,
+.form-file-sm .form-file-button {
+ padding: 0.25rem 0.5rem;
+}
+
+.form-file-lg {
+ height: calc(1.5em + 1rem + 2px);
+ font-size: 1.25rem;
+}
+
+.form-file-lg .form-file-text,
+.form-file-lg .form-file-button {
+ padding: 0.5rem 1rem;
+}
+
.form-range {
width: 100%;
height: 1.4rem;
@@ -2097,91 +2734,22 @@ main {
border-radius: 1rem;
}
-.form-range:disabled::-webkit-slider-thumb {
- background-color: #adb5bd;
+.form-range:disabled {
+ pointer-events: none;
}
-.form-range:disabled::-webkit-slider-runnable-track {
- cursor: default;
+.form-range:disabled::-webkit-slider-thumb {
+ background-color: #adb5bd;
}
.form-range:disabled::-moz-range-thumb {
background-color: #adb5bd;
}
-.form-range:disabled::-moz-range-track {
- cursor: default;
-}
-
.form-range:disabled::-ms-thumb {
background-color: #adb5bd;
}
-.form-row {
- display: flex;
- flex-wrap: wrap;
- margin-right: -5px;
- margin-left: -5px;
-}
-
-.form-row > .col,
-.form-row > [class*="col-"] {
- padding-right: 5px;
- padding-left: 5px;
-}
-
-.form-inline {
- display: flex;
- flex-flow: row wrap;
- align-items: center;
-}
-
-.form-inline .form-check {
- width: 100%;
-}
-
-@media (min-width: 576px) {
- .form-inline label {
- display: flex;
- align-items: center;
- justify-content: center;
- margin-bottom: 0;
- }
- .form-inline .form-group {
- display: flex;
- flex: 0 0 auto;
- flex-flow: row wrap;
- align-items: center;
- margin-bottom: 0;
- }
- .form-inline .form-control {
- display: inline-block;
- width: auto;
- vertical-align: middle;
- }
- .form-inline .form-control-plaintext {
- display: inline-block;
- }
- .form-inline .input-group,
- .form-inline .form-select {
- width: auto;
- }
- .form-inline .form-check {
- display: flex;
- align-items: center;
- justify-content: center;
- width: auto;
- padding-left: 0;
- }
- .form-inline .form-check-input {
- position: relative;
- flex-shrink: 0;
- margin-top: 0;
- margin-right: 0.25rem;
- margin-left: 0;
- }
-}
-
.input-group {
position: relative;
display: flex;
@@ -2194,21 +2762,9 @@ main {
.input-group > .form-select,
.input-group > .form-file {
position: relative;
- flex: 1 1 0%;
+ flex: 1 1 auto;
+ width: 1%;
min-width: 0;
- margin-bottom: 0;
-}
-
-.input-group > .form-control + .form-control,
-.input-group > .form-control + .form-select,
-.input-group > .form-control + .form-file,
-.input-group > .form-select + .form-control,
-.input-group > .form-select + .form-select,
-.input-group > .form-select + .form-file,
-.input-group > .form-file + .form-control,
-.input-group > .form-file + .form-select,
-.input-group > .form-file + .form-file {
- margin-left: -1px;
}
.input-group > .form-control:focus,
@@ -2217,72 +2773,29 @@ main {
z-index: 3;
}
-.input-group > .form-file .form-file-input:focus {
+.input-group > .form-file > .form-file-input:focus {
z-index: 4;
}
-.input-group > .form-control:not(:last-child),
-.input-group > .form-select:not(:last-child) {
+.input-group > .form-file:not(:last-child) > .form-file-label {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
-.input-group > .form-control:not(:first-child),
-.input-group > .form-select:not(:first-child) {
+.input-group > .form-file:not(:first-child) > .form-file-label {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
-.input-group > .form-file {
- display: flex;
- align-items: center;
-}
-
-.input-group > .form-file:not(:last-child) .form-file-label {
- border-top-right-radius: 0;
- border-bottom-right-radius: 0;
-}
-
-.input-group > .form-file:not(:first-child) .form-file-label {
- border-top-left-radius: 0;
- border-bottom-left-radius: 0;
-}
-
-.input-group-prepend,
-.input-group-append {
- display: flex;
-}
-
-.input-group-prepend .btn,
-.input-group-append .btn {
+.input-group .btn {
position: relative;
z-index: 2;
}
-.input-group-prepend .btn:focus,
-.input-group-append .btn:focus {
+.input-group .btn:focus {
z-index: 3;
}
-.input-group-prepend .btn + .btn,
-.input-group-prepend .btn + .input-group-text,
-.input-group-prepend .input-group-text + .input-group-text,
-.input-group-prepend .input-group-text + .btn,
-.input-group-append .btn + .btn,
-.input-group-append .btn + .input-group-text,
-.input-group-append .input-group-text + .input-group-text,
-.input-group-append .input-group-text + .btn {
- margin-left: -1px;
-}
-
-.input-group-prepend {
- margin-right: -1px;
-}
-
-.input-group-append {
- margin-left: -1px;
-}
-
.input-group-text {
display: flex;
align-items: center;
@@ -2299,11 +2812,6 @@ main {
border-radius: 0.25rem;
}
-.input-group-text input[type="radio"],
-.input-group-text input[type="checkbox"] {
- margin-top: 0;
-}
-
.input-group-lg > .form-control {
min-height: calc(1.5em + 1rem + 2px);
}
@@ -2314,10 +2822,8 @@ main {
.input-group-lg > .form-control,
.input-group-lg > .form-select,
-.input-group-lg > .input-group-prepend > .input-group-text,
-.input-group-lg > .input-group-append > .input-group-text,
-.input-group-lg > .input-group-prepend > .btn,
-.input-group-lg > .input-group-append > .btn {
+.input-group-lg > .input-group-text,
+.input-group-lg > .btn {
padding: 0.5rem 1rem;
font-size: 1.25rem;
border-radius: 0.3rem;
@@ -2333,10 +2839,8 @@ main {
.input-group-sm > .form-control,
.input-group-sm > .form-select,
-.input-group-sm > .input-group-prepend > .input-group-text,
-.input-group-sm > .input-group-append > .input-group-text,
-.input-group-sm > .input-group-prepend > .btn,
-.input-group-sm > .input-group-append > .btn {
+.input-group-sm > .input-group-text,
+.input-group-sm > .btn {
padding: 0.25rem 0.5rem;
font-size: 0.875rem;
border-radius: 0.2rem;
@@ -2347,22 +2851,14 @@ main {
padding-right: 1.75rem;
}
-.input-group > .input-group-prepend > .btn,
-.input-group > .input-group-prepend > .input-group-text,
-.input-group > .input-group-append:not(:last-child) > .btn,
-.input-group > .input-group-append:not(:last-child) > .input-group-text,
-.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),
-.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {
+.input-group > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),
+.input-group > .dropdown-toggle:nth-last-child(n + 3) {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
-.input-group > .input-group-append > .btn,
-.input-group > .input-group-append > .input-group-text,
-.input-group > .input-group-prepend:not(:first-child) > .btn,
-.input-group > .input-group-prepend:not(:first-child) > .input-group-text,
-.input-group > .input-group-prepend:first-child > .btn:not(:first-child),
-.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {
+.input-group > :not(:first-child):not(.dropdown-menu) {
+ margin-left: -1px;
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
@@ -2418,7 +2914,9 @@ main {
.was-validated .form-select:valid, .form-select.is-valid {
border-color: #28a745;
padding-right: calc(0.75em + 2.3125rem);
- background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e") no-repeat right 0.75rem center/16px 12px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
+ background-position: right 0.75rem center, center right 1.75rem;
+ background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-select:valid:focus, .form-select.is-valid:focus {
@@ -2506,7 +3004,9 @@ main {
.was-validated .form-select:invalid, .form-select.is-invalid {
border-color: #dc3545;
padding-right: calc(0.75em + 2.3125rem);
- background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e") no-repeat right 0.75rem center/16px 12px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
+ background-position: right 0.75rem center, center right 1.75rem;
+ background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {
@@ -2549,6 +3049,7 @@ main {
line-height: 1.5;
color: #212529;
text-align: center;
+ text-decoration: none;
vertical-align: middle;
cursor: pointer;
-webkit-user-select: none;
@@ -2571,7 +3072,6 @@ main {
.btn:hover {
color: #212529;
- text-decoration: none;
}
.btn:focus, .btn.focus {
@@ -2579,13 +3079,10 @@ main {
box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
}
-.btn.disabled, .btn:disabled {
- opacity: 0.65;
-}
-
-a.btn.disabled,
-fieldset:disabled a.btn {
+.btn:disabled, .btn.disabled,
+fieldset:disabled .btn {
pointer-events: none;
+ opacity: 0.65;
}
.btn-primary {
@@ -2607,24 +3104,24 @@ fieldset:disabled a.btn {
box-shadow: 0 0 0 0.2rem rgba(49, 132, 253, 0.5);
}
-.btn-primary.disabled, .btn-primary:disabled {
- color: #fff;
- background-color: #0d6efd;
- border-color: #0d6efd;
-}
-
-.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,
+.btn-primary:active, .btn-primary.active,
.show > .btn-primary.dropdown-toggle {
color: #fff;
background-color: #0257d5;
border-color: #0252c9;
}
-.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,
+.btn-primary:active:focus, .btn-primary.active:focus,
.show > .btn-primary.dropdown-toggle:focus {
box-shadow: 0 0 0 0.2rem rgba(49, 132, 253, 0.5);
}
+.btn-primary:disabled, .btn-primary.disabled {
+ color: #fff;
+ background-color: #0d6efd;
+ border-color: #0d6efd;
+}
+
.btn-secondary {
color: #fff;
background-color: #6c757d;
@@ -2644,24 +3141,24 @@ fieldset:disabled a.btn {
box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);
}
-.btn-secondary.disabled, .btn-secondary:disabled {
- color: #fff;
- background-color: #6c757d;
- border-color: #6c757d;
-}
-
-.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,
+.btn-secondary:active, .btn-secondary.active,
.show > .btn-secondary.dropdown-toggle {
color: #fff;
background-color: #545b62;
border-color: #4e555b;
}
-.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,
+.btn-secondary:active:focus, .btn-secondary.active:focus,
.show > .btn-secondary.dropdown-toggle:focus {
box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);
}
+.btn-secondary:disabled, .btn-secondary.disabled {
+ color: #fff;
+ background-color: #6c757d;
+ border-color: #6c757d;
+}
+
.btn-success {
color: #fff;
background-color: #28a745;
@@ -2681,24 +3178,24 @@ fieldset:disabled a.btn {
box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);
}
-.btn-success.disabled, .btn-success:disabled {
- color: #fff;
- background-color: #28a745;
- border-color: #28a745;
-}
-
-.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,
+.btn-success:active, .btn-success.active,
.show > .btn-success.dropdown-toggle {
color: #fff;
background-color: #1e7e34;
border-color: #1c7430;
}
-.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,
+.btn-success:active:focus, .btn-success.active:focus,
.show > .btn-success.dropdown-toggle:focus {
box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);
}
+.btn-success:disabled, .btn-success.disabled {
+ color: #fff;
+ background-color: #28a745;
+ border-color: #28a745;
+}
+
.btn-info {
color: #fff;
background-color: #17a2b8;
@@ -2718,24 +3215,24 @@ fieldset:disabled a.btn {
box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);
}
-.btn-info.disabled, .btn-info:disabled {
- color: #fff;
- background-color: #17a2b8;
- border-color: #17a2b8;
-}
-
-.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,
+.btn-info:active, .btn-info.active,
.show > .btn-info.dropdown-toggle {
color: #fff;
background-color: #117a8b;
border-color: #10707f;
}
-.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,
+.btn-info:active:focus, .btn-info.active:focus,
.show > .btn-info.dropdown-toggle:focus {
box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);
}
+.btn-info:disabled, .btn-info.disabled {
+ color: #fff;
+ background-color: #17a2b8;
+ border-color: #17a2b8;
+}
+
.btn-warning {
color: #212529;
background-color: #ffc107;
@@ -2755,24 +3252,24 @@ fieldset:disabled a.btn {
box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);
}
-.btn-warning.disabled, .btn-warning:disabled {
- color: #212529;
- background-color: #ffc107;
- border-color: #ffc107;
-}
-
-.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,
+.btn-warning:active, .btn-warning.active,
.show > .btn-warning.dropdown-toggle {
color: #212529;
background-color: #d39e00;
border-color: #c69500;
}
-.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,
+.btn-warning:active:focus, .btn-warning.active:focus,
.show > .btn-warning.dropdown-toggle:focus {
box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);
}
+.btn-warning:disabled, .btn-warning.disabled {
+ color: #212529;
+ background-color: #ffc107;
+ border-color: #ffc107;
+}
+
.btn-danger {
color: #fff;
background-color: #dc3545;
@@ -2792,24 +3289,24 @@ fieldset:disabled a.btn {
box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);
}
-.btn-danger.disabled, .btn-danger:disabled {
- color: #fff;
- background-color: #dc3545;
- border-color: #dc3545;
-}
-
-.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,
+.btn-danger:active, .btn-danger.active,
.show > .btn-danger.dropdown-toggle {
color: #fff;
background-color: #bd2130;
border-color: #b21f2d;
}
-.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,
+.btn-danger:active:focus, .btn-danger.active:focus,
.show > .btn-danger.dropdown-toggle:focus {
box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);
}
+.btn-danger:disabled, .btn-danger.disabled {
+ color: #fff;
+ background-color: #dc3545;
+ border-color: #dc3545;
+}
+
.btn-light {
color: #212529;
background-color: #f8f9fa;
@@ -2829,24 +3326,24 @@ fieldset:disabled a.btn {
box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);
}
-.btn-light.disabled, .btn-light:disabled {
- color: #212529;
- background-color: #f8f9fa;
- border-color: #f8f9fa;
-}
-
-.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,
+.btn-light:active, .btn-light.active,
.show > .btn-light.dropdown-toggle {
color: #212529;
background-color: #dae0e5;
border-color: #d3d9df;
}
-.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,
+.btn-light:active:focus, .btn-light.active:focus,
.show > .btn-light.dropdown-toggle:focus {
box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);
}
+.btn-light:disabled, .btn-light.disabled {
+ color: #212529;
+ background-color: #f8f9fa;
+ border-color: #f8f9fa;
+}
+
.btn-dark {
color: #fff;
background-color: #343a40;
@@ -2866,24 +3363,24 @@ fieldset:disabled a.btn {
box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);
}
-.btn-dark.disabled, .btn-dark:disabled {
- color: #fff;
- background-color: #343a40;
- border-color: #343a40;
-}
-
-.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,
+.btn-dark:active, .btn-dark.active,
.show > .btn-dark.dropdown-toggle {
color: #fff;
background-color: #1d2124;
border-color: #171a1d;
}
-.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,
+.btn-dark:active:focus, .btn-dark.active:focus,
.show > .btn-dark.dropdown-toggle:focus {
box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);
}
+.btn-dark:disabled, .btn-dark.disabled {
+ color: #fff;
+ background-color: #343a40;
+ border-color: #343a40;
+}
+
.btn-outline-primary {
color: #0d6efd;
border-color: #0d6efd;
@@ -2899,23 +3396,21 @@ fieldset:disabled a.btn {
box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.5);
}
-.btn-outline-primary.disabled, .btn-outline-primary:disabled {
- color: #0d6efd;
- background-color: transparent;
-}
-
-.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,
-.show > .btn-outline-primary.dropdown-toggle {
+.btn-outline-primary:active, .btn-outline-primary.active, .btn-outline-primary.dropdown-toggle.show {
color: #fff;
background-color: #0d6efd;
border-color: #0d6efd;
}
-.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,
-.show > .btn-outline-primary.dropdown-toggle:focus {
+.btn-outline-primary:active:focus, .btn-outline-primary.active:focus, .btn-outline-primary.dropdown-toggle.show:focus {
box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.5);
}
+.btn-outline-primary:disabled, .btn-outline-primary.disabled {
+ color: #0d6efd;
+ background-color: transparent;
+}
+
.btn-outline-secondary {
color: #6c757d;
border-color: #6c757d;
@@ -2931,23 +3426,21 @@ fieldset:disabled a.btn {
box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
}
-.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {
- color: #6c757d;
- background-color: transparent;
-}
-
-.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,
-.show > .btn-outline-secondary.dropdown-toggle {
+.btn-outline-secondary:active, .btn-outline-secondary.active, .btn-outline-secondary.dropdown-toggle.show {
color: #fff;
background-color: #6c757d;
border-color: #6c757d;
}
-.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,
-.show > .btn-outline-secondary.dropdown-toggle:focus {
+.btn-outline-secondary:active:focus, .btn-outline-secondary.active:focus, .btn-outline-secondary.dropdown-toggle.show:focus {
box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
}
+.btn-outline-secondary:disabled, .btn-outline-secondary.disabled {
+ color: #6c757d;
+ background-color: transparent;
+}
+
.btn-outline-success {
color: #28a745;
border-color: #28a745;
@@ -2963,23 +3456,21 @@ fieldset:disabled a.btn {
box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
}
-.btn-outline-success.disabled, .btn-outline-success:disabled {
- color: #28a745;
- background-color: transparent;
-}
-
-.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,
-.show > .btn-outline-success.dropdown-toggle {
+.btn-outline-success:active, .btn-outline-success.active, .btn-outline-success.dropdown-toggle.show {
color: #fff;
background-color: #28a745;
border-color: #28a745;
}
-.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,
-.show > .btn-outline-success.dropdown-toggle:focus {
+.btn-outline-success:active:focus, .btn-outline-success.active:focus, .btn-outline-success.dropdown-toggle.show:focus {
box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
}
+.btn-outline-success:disabled, .btn-outline-success.disabled {
+ color: #28a745;
+ background-color: transparent;
+}
+
.btn-outline-info {
color: #17a2b8;
border-color: #17a2b8;
@@ -2995,23 +3486,21 @@ fieldset:disabled a.btn {
box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
}
-.btn-outline-info.disabled, .btn-outline-info:disabled {
- color: #17a2b8;
- background-color: transparent;
-}
-
-.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,
-.show > .btn-outline-info.dropdown-toggle {
+.btn-outline-info:active, .btn-outline-info.active, .btn-outline-info.dropdown-toggle.show {
color: #fff;
background-color: #17a2b8;
border-color: #17a2b8;
}
-.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,
-.show > .btn-outline-info.dropdown-toggle:focus {
+.btn-outline-info:active:focus, .btn-outline-info.active:focus, .btn-outline-info.dropdown-toggle.show:focus {
box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
}
+.btn-outline-info:disabled, .btn-outline-info.disabled {
+ color: #17a2b8;
+ background-color: transparent;
+}
+
.btn-outline-warning {
color: #ffc107;
border-color: #ffc107;
@@ -3027,23 +3516,21 @@ fieldset:disabled a.btn {
box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
}
-.btn-outline-warning.disabled, .btn-outline-warning:disabled {
- color: #ffc107;
- background-color: transparent;
-}
-
-.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,
-.show > .btn-outline-warning.dropdown-toggle {
+.btn-outline-warning:active, .btn-outline-warning.active, .btn-outline-warning.dropdown-toggle.show {
color: #212529;
background-color: #ffc107;
border-color: #ffc107;
}
-.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,
-.show > .btn-outline-warning.dropdown-toggle:focus {
+.btn-outline-warning:active:focus, .btn-outline-warning.active:focus, .btn-outline-warning.dropdown-toggle.show:focus {
box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
}
+.btn-outline-warning:disabled, .btn-outline-warning.disabled {
+ color: #ffc107;
+ background-color: transparent;
+}
+
.btn-outline-danger {
color: #dc3545;
border-color: #dc3545;
@@ -3059,23 +3546,21 @@ fieldset:disabled a.btn {
box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
}
-.btn-outline-danger.disabled, .btn-outline-danger:disabled {
- color: #dc3545;
- background-color: transparent;
-}
-
-.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,
-.show > .btn-outline-danger.dropdown-toggle {
+.btn-outline-danger:active, .btn-outline-danger.active, .btn-outline-danger.dropdown-toggle.show {
color: #fff;
background-color: #dc3545;
border-color: #dc3545;
}
-.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,
-.show > .btn-outline-danger.dropdown-toggle:focus {
+.btn-outline-danger:active:focus, .btn-outline-danger.active:focus, .btn-outline-danger.dropdown-toggle.show:focus {
box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
}
+.btn-outline-danger:disabled, .btn-outline-danger.disabled {
+ color: #dc3545;
+ background-color: transparent;
+}
+
.btn-outline-light {
color: #f8f9fa;
border-color: #f8f9fa;
@@ -3091,23 +3576,21 @@ fieldset:disabled a.btn {
box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
}
-.btn-outline-light.disabled, .btn-outline-light:disabled {
- color: #f8f9fa;
- background-color: transparent;
-}
-
-.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,
-.show > .btn-outline-light.dropdown-toggle {
+.btn-outline-light:active, .btn-outline-light.active, .btn-outline-light.dropdown-toggle.show {
color: #212529;
background-color: #f8f9fa;
border-color: #f8f9fa;
}
-.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,
-.show > .btn-outline-light.dropdown-toggle:focus {
+.btn-outline-light:active:focus, .btn-outline-light.active:focus, .btn-outline-light.dropdown-toggle.show:focus {
box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
}
+.btn-outline-light:disabled, .btn-outline-light.disabled {
+ color: #f8f9fa;
+ background-color: transparent;
+}
+
.btn-outline-dark {
color: #343a40;
border-color: #343a40;
@@ -3123,42 +3606,33 @@ fieldset:disabled a.btn {
box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
}
-.btn-outline-dark.disabled, .btn-outline-dark:disabled {
- color: #343a40;
- background-color: transparent;
-}
-
-.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,
-.show > .btn-outline-dark.dropdown-toggle {
+.btn-outline-dark:active, .btn-outline-dark.active, .btn-outline-dark.dropdown-toggle.show {
color: #fff;
background-color: #343a40;
border-color: #343a40;
}
-.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,
-.show > .btn-outline-dark.dropdown-toggle:focus {
+.btn-outline-dark:active:focus, .btn-outline-dark.active:focus, .btn-outline-dark.dropdown-toggle.show:focus {
box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
}
+.btn-outline-dark:disabled, .btn-outline-dark.disabled {
+ color: #343a40;
+ background-color: transparent;
+}
+
.btn-link {
font-weight: 400;
color: #0d6efd;
- text-decoration: none;
+ text-decoration: underline;
}
.btn-link:hover {
color: #024dbc;
- text-decoration: underline;
-}
-
-.btn-link:focus, .btn-link.focus {
- text-decoration: underline;
- box-shadow: none;
}
.btn-link:disabled, .btn-link.disabled {
color: #6c757d;
- pointer-events: none;
}
.btn-lg, .btn-group-lg > .btn {
@@ -3417,6 +3891,7 @@ fieldset:disabled a.btn {
font-weight: 400;
color: #212529;
text-align: inherit;
+ text-decoration: none;
white-space: nowrap;
background-color: transparent;
border: 0;
@@ -3424,7 +3899,6 @@ fieldset:disabled a.btn {
.dropdown-item:hover, .dropdown-item:focus {
color: #16181b;
- text-decoration: none;
background-color: #f8f9fa;
}
@@ -3585,9 +4059,6 @@ fieldset:disabled a.btn {
.nav-link {
display: block;
padding: 0.5rem 1rem;
-}
-
-.nav-link:hover, .nav-link:focus {
text-decoration: none;
}
@@ -3601,11 +4072,8 @@ fieldset:disabled a.btn {
border-bottom: 1px solid #dee2e6;
}
-.nav-tabs .nav-item {
- margin-bottom: -1px;
-}
-
.nav-tabs .nav-link {
+ margin-bottom: -1px;
border: 1px solid transparent;
border-top-left-radius: 0.25rem;
border-top-right-radius: 0.25rem;
@@ -3673,20 +4141,19 @@ fieldset:disabled a.btn {
padding-bottom: 0.5rem;
}
-.navbar .container,
-.navbar .container-fluid, .navbar .container-sm, .navbar .container-md, .navbar .container-lg, .navbar .container-xl {
+.navbar > .container,
+.navbar > .container-fluid, .navbar > .container-sm, .navbar > .container-md, .navbar > .container-lg, .navbar > .container-xl {
display: flex;
- flex-wrap: wrap;
+ flex-wrap: inherit;
align-items: center;
justify-content: space-between;
}
.navbar-brand {
- display: inline-block;
padding-top: 0.3125rem;
padding-bottom: 0.3125rem;
+ margin-right: 1rem;
font-size: 1.25rem;
- line-height: inherit;
white-space: nowrap;
}
@@ -3712,15 +4179,13 @@ fieldset:disabled a.btn {
}
.navbar-text {
- display: inline-block;
padding-top: 0.5rem;
padding-bottom: 0.5rem;
}
.navbar-collapse {
- flex-basis: 100%;
- flex-grow: 1;
align-items: center;
+ width: 100%;
}
.navbar-toggler {
@@ -3730,25 +4195,38 @@ fieldset:disabled a.btn {
background-color: transparent;
border: 1px solid transparent;
border-radius: 0.25rem;
+ transition: box-shadow 0.15s ease-in-out;
+}
+
+@media (prefers-reduced-motion: reduce) {
+ .navbar-toggler {
+ transition: none;
+ }
}
-.navbar-toggler:hover, .navbar-toggler:focus {
+.navbar-toggler:hover {
text-decoration: none;
}
+.navbar-toggler:focus {
+ text-decoration: none;
+ outline: 0;
+ box-shadow: 0 0 0 0.2rem;
+}
+
.navbar-toggler-icon {
display: inline-block;
width: 1.5em;
height: 1.5em;
vertical-align: middle;
- content: "";
- background: no-repeat center center;
- background-size: 100% 100%;
+ background-repeat: no-repeat;
+ background-position: center;
+ background-size: 100%;
}
@media (min-width: 576px) {
.navbar-expand-sm {
- flex-flow: row nowrap;
+ flex-wrap: nowrap;
justify-content: flex-start;
}
.navbar-expand-sm .navbar-nav {
@@ -3761,13 +4239,8 @@ fieldset:disabled a.btn {
padding-right: 0.5rem;
padding-left: 0.5rem;
}
- .navbar-expand-sm > .container,
- .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {
- flex-wrap: nowrap;
- }
.navbar-expand-sm .navbar-collapse {
display: flex !important;
- flex-basis: auto;
}
.navbar-expand-sm .navbar-toggler {
display: none;
@@ -3776,7 +4249,7 @@ fieldset:disabled a.btn {
@media (min-width: 768px) {
.navbar-expand-md {
- flex-flow: row nowrap;
+ flex-wrap: nowrap;
justify-content: flex-start;
}
.navbar-expand-md .navbar-nav {
@@ -3789,13 +4262,8 @@ fieldset:disabled a.btn {
padding-right: 0.5rem;
padding-left: 0.5rem;
}
- .navbar-expand-md > .container,
- .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {
- flex-wrap: nowrap;
- }
.navbar-expand-md .navbar-collapse {
display: flex !important;
- flex-basis: auto;
}
.navbar-expand-md .navbar-toggler {
display: none;
@@ -3804,7 +4272,7 @@ fieldset:disabled a.btn {
@media (min-width: 992px) {
.navbar-expand-lg {
- flex-flow: row nowrap;
+ flex-wrap: nowrap;
justify-content: flex-start;
}
.navbar-expand-lg .navbar-nav {
@@ -3817,13 +4285,8 @@ fieldset:disabled a.btn {
padding-right: 0.5rem;
padding-left: 0.5rem;
}
- .navbar-expand-lg > .container,
- .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {
- flex-wrap: nowrap;
- }
.navbar-expand-lg .navbar-collapse {
display: flex !important;
- flex-basis: auto;
}
.navbar-expand-lg .navbar-toggler {
display: none;
@@ -3832,7 +4295,7 @@ fieldset:disabled a.btn {
@media (min-width: 1200px) {
.navbar-expand-xl {
- flex-flow: row nowrap;
+ flex-wrap: nowrap;
justify-content: flex-start;
}
.navbar-expand-xl .navbar-nav {
@@ -3845,13 +4308,8 @@ fieldset:disabled a.btn {
padding-right: 0.5rem;
padding-left: 0.5rem;
}
- .navbar-expand-xl > .container,
- .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {
- flex-wrap: nowrap;
- }
.navbar-expand-xl .navbar-collapse {
display: flex !important;
- flex-basis: auto;
}
.navbar-expand-xl .navbar-toggler {
display: none;
@@ -3859,7 +4317,7 @@ fieldset:disabled a.btn {
}
.navbar-expand {
- flex-flow: row nowrap;
+ flex-wrap: nowrap;
justify-content: flex-start;
}
@@ -3876,14 +4334,8 @@ fieldset:disabled a.btn {
padding-left: 0.5rem;
}
-.navbar-expand > .container,
-.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {
- flex-wrap: nowrap;
-}
-
.navbar-expand .navbar-collapse {
display: flex !important;
- flex-basis: auto;
}
.navbar-expand .navbar-toggler {
@@ -3899,7 +4351,7 @@ fieldset:disabled a.btn {
}
.navbar-light .navbar-nav .nav-link {
- color: rgba(0, 0, 0, 0.5);
+ color: rgba(0, 0, 0, 0.55);
}
.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {
@@ -3918,16 +4370,16 @@ fieldset:disabled a.btn {
}
.navbar-light .navbar-toggler {
- color: rgba(0, 0, 0, 0.5);
+ color: rgba(0, 0, 0, 0.55);
border-color: rgba(0, 0, 0, 0.1);
}
.navbar-light .navbar-toggler-icon {
- background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.navbar-light .navbar-text {
- color: rgba(0, 0, 0, 0.5);
+ color: rgba(0, 0, 0, 0.55);
}
.navbar-light .navbar-text a,
@@ -3945,7 +4397,7 @@ fieldset:disabled a.btn {
}
.navbar-dark .navbar-nav .nav-link {
- color: rgba(255, 255, 255, 0.5);
+ color: rgba(255, 255, 255, 0.55);
}
.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {
@@ -3964,16 +4416,16 @@ fieldset:disabled a.btn {
}
.navbar-dark .navbar-toggler {
- color: rgba(255, 255, 255, 0.5);
+ color: rgba(255, 255, 255, 0.55);
border-color: rgba(255, 255, 255, 0.1);
}
.navbar-dark .navbar-toggler-icon {
- background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.navbar-dark .navbar-text {
- color: rgba(255, 255, 255, 0.5);
+ color: rgba(255, 255, 255, 0.55);
}
.navbar-dark .navbar-text a,
@@ -4011,8 +4463,7 @@ fieldset:disabled a.btn {
.card-body {
flex: 1 1 auto;
- min-height: 1px;
- padding: 1.25rem;
+ padding: 1.25rem 1.25rem;
}
.card-title {
@@ -4085,7 +4536,6 @@ fieldset:disabled a.btn {
.card-img,
.card-img-top,
.card-img-bottom {
- flex-shrink: 0;
width: 100%;
}
@@ -4101,27 +4551,8 @@ fieldset:disabled a.btn {
border-bottom-left-radius: calc(0.25rem - 1px);
}
-.card-deck .card {
- margin-bottom: 15px;
-}
-
-@media (min-width: 576px) {
- .card-deck {
- display: flex;
- flex-flow: row wrap;
- margin-right: -15px;
- margin-left: -15px;
- }
- .card-deck .card {
- flex: 1 0 0%;
- margin-right: 15px;
- margin-bottom: 0;
- margin-left: 15px;
- }
-}
-
.card-group > .card {
- margin-bottom: 15px;
+ margin-bottom: 0.75rem;
}
@media (min-width: 576px) {
@@ -4193,6 +4624,10 @@ fieldset:disabled a.btn {
border-radius: 0.25rem;
}
+.breadcrumb-item {
+ display: flex;
+}
+
.breadcrumb-item + .breadcrumb-item {
padding-left: 0.5rem;
}
@@ -4204,14 +4639,6 @@ fieldset:disabled a.btn {
content: "/";
}
-.breadcrumb-item + .breadcrumb-item:hover::before {
- text-decoration: underline;
-}
-
-.breadcrumb-item + .breadcrumb-item:hover::before {
- text-decoration: none;
-}
-
.breadcrumb-item.active {
color: #6c757d;
}
@@ -4226,6 +4653,7 @@ fieldset:disabled a.btn {
position: relative;
display: block;
color: #0d6efd;
+ text-decoration: none;
background-color: #fff;
border: 1px solid #dee2e6;
}
@@ -4233,7 +4661,6 @@ fieldset:disabled a.btn {
.page-link:hover {
z-index: 2;
color: #024dbc;
- text-decoration: none;
background-color: #e9ecef;
border-color: #dee2e6;
}
@@ -4258,7 +4685,6 @@ fieldset:disabled a.btn {
.page-item.disabled .page-link {
color: #6c757d;
pointer-events: none;
- cursor: auto;
background-color: #fff;
border-color: #dee2e6;
}
@@ -4523,6 +4949,7 @@ fieldset:disabled a.btn {
display: block;
padding: 0.75rem 1.25rem;
margin-bottom: 0;
+ text-decoration: none;
background-color: #fff;
border: 1px solid rgba(0, 0, 0, 0.125);
}
@@ -4830,7 +5257,7 @@ fieldset:disabled a.btn {
}
.close {
- font-size: 1.5rem;
+ font-size: calc(1.275rem + 0.3vw);
font-weight: 700;
line-height: 1;
color: #000;
@@ -4838,15 +5265,25 @@ fieldset:disabled a.btn {
opacity: .5;
}
+@media (min-width: 1200px) {
+ .close {
+ font-size: 1.5rem;
+ }
+}
+
.close:hover {
color: #000;
text-decoration: none;
}
-.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {
+.close:hover, .close:focus {
opacity: .75;
}
+.close:disabled, .close.disabled {
+ pointer-events: none;
+}
+
button.close {
padding: 0;
background-color: transparent;
@@ -4856,10 +5293,6 @@ button.close {
appearance: none;
}
-a.close.disabled {
- pointer-events: none;
-}
-
.toast {
max-width: 350px;
overflow: hidden;
@@ -4953,12 +5386,10 @@ a.close.disabled {
}
.modal-dialog-scrollable {
- display: flex;
max-height: calc(100% - 1rem);
}
.modal-dialog-scrollable .modal-content {
- max-height: calc(100vh - 1rem);
overflow: hidden;
}
@@ -4977,26 +5408,6 @@ a.close.disabled {
min-height: calc(100% - 1rem);
}
-.modal-dialog-centered::before {
- display: block;
- height: calc(100vh - 1rem);
- content: "";
-}
-
-.modal-dialog-centered.modal-dialog-scrollable {
- flex-direction: column;
- justify-content: center;
- height: 100%;
-}
-
-.modal-dialog-centered.modal-dialog-scrollable .modal-content {
- max-height: none;
-}
-
-.modal-dialog-centered.modal-dialog-scrollable::before {
- content: none;
-}
-
.modal-content {
position: relative;
display: flex;
@@ -5085,15 +5496,9 @@ a.close.disabled {
.modal-dialog-scrollable {
max-height: calc(100% - 3.5rem);
}
- .modal-dialog-scrollable .modal-content {
- max-height: calc(100vh - 3.5rem);
- }
.modal-dialog-centered {
min-height: calc(100% - 3.5rem);
}
- .modal-dialog-centered::before {
- height: calc(100vh - 3.5rem);
- }
.modal-sm {
max-width: 300px;
}
@@ -5509,7 +5914,9 @@ a.close.disabled {
display: inline-block;
width: 20px;
height: 20px;
- background: no-repeat 50% / 100% 100%;
+ background-repeat: no-repeat;
+ background-position: 50%;
+ background-size: 100% 100%;
}
.carousel-control-prev-icon {
@@ -5592,8 +5999,8 @@ a.close.disabled {
border: 0.25em solid currentColor;
border-right-color: transparent;
border-radius: 50%;
- -webkit-animation: spinner-border .75s linear infinite;
- animation: spinner-border .75s linear infinite;
+ -webkit-animation: spinner-border 0.75s linear infinite;
+ animation: spinner-border 0.75s linear infinite;
}
.spinner-border-sm {
@@ -5628,8 +6035,8 @@ a.close.disabled {
background-color: currentColor;
border-radius: 50%;
opacity: 0;
- -webkit-animation: spinner-grow .75s linear infinite;
- animation: spinner-grow .75s linear infinite;
+ -webkit-animation: spinner-grow 0.75s linear infinite;
+ animation: spinner-grow 0.75s linear infinite;
}
.spinner-grow-sm {
@@ -5912,14 +6319,14 @@ a.close.disabled {
display: inline-flex !important;
}
-.shadow-sm {
- box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
-}
-
.shadow {
box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}
+.shadow-sm {
+ box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
+}
+
.shadow-lg {
box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
}
@@ -6841,10 +7248,6 @@ a.close.disabled {
text-align: center !important;
}
-.text-justify {
- text-align: justify !important;
-}
-
.text-primary {
color: #0d6efd !important;
}
@@ -6973,19 +7376,59 @@ a.close.disabled {
text-decoration: none !important;
}
+.text-decoration-underline {
+ text-decoration: underline !important;
+}
+
+.text-decoration-line-through {
+ text-decoration: line-through !important;
+}
+
.font-italic {
font-style: italic !important;
}
+.font-normal {
+ font-style: normal !important;
+}
+
.text-break {
- overflow-wrap: break-word !important;
- word-break: break-word !important;
+ word-wrap: break-word !important;
}
.font-monospace {
font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important;
}
+.user-select-all {
+ -webkit-user-select: all !important;
+ -moz-user-select: all !important;
+ -ms-user-select: all !important;
+ user-select: all !important;
+}
+
+.user-select-auto {
+ -webkit-user-select: auto !important;
+ -moz-user-select: auto !important;
+ -ms-user-select: auto !important;
+ user-select: auto !important;
+}
+
+.user-select-none {
+ -webkit-user-select: none !important;
+ -moz-user-select: none !important;
+ -ms-user-select: none !important;
+ user-select: none !important;
+}
+
+.pe-none {
+ pointer-events: none !important;
+}
+
+.pe-auto {
+ pointer-events: auto !important;
+}
+
.rounded {
border-radius: 0.25rem !important;
}
@@ -7624,9 +8067,6 @@ a.close.disabled {
.text-sm-center {
text-align: center !important;
}
- .text-sm-justify {
- text-align: justify !important;
- }
}
@media (min-width: 768px) {
@@ -8215,9 +8655,6 @@ a.close.disabled {
.text-md-center {
text-align: center !important;
}
- .text-md-justify {
- text-align: justify !important;
- }
}
@media (min-width: 992px) {
@@ -8806,9 +9243,6 @@ a.close.disabled {
.text-lg-center {
text-align: center !important;
}
- .text-lg-justify {
- text-align: justify !important;
- }
}
@media (min-width: 1200px) {
@@ -9397,9 +9831,6 @@ a.close.disabled {
.text-xl-center {
text-align: center !important;
}
- .text-xl-justify {
- text-align: justify !important;
- }
}
@media print {
diff --git a/dist/css/bootstrap.css.map b/dist/css/bootstrap.css.map
index 8e6ee4c91c..7cb80215d8 100644
--- a/dist/css/bootstrap.css.map
+++ b/dist/css/bootstrap.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/bootstrap.scss","bootstrap.css","../../scss/_root.scss","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/vendor/_rfs.scss","../../scss/mixins/_border-radius.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/_functions.scss","../../scss/forms/_labels.scss","../../scss/forms/_form-control.scss","../../scss/mixins/_transition.scss","../../scss/forms/_form-select.scss","../../scss/forms/_form-check.scss","../../scss/forms/_form-file.scss","../../scss/mixins/_gradients.scss","../../scss/forms/_form-range.scss","../../scss/forms/_layout.scss","../../scss/forms/_input-group.scss","../../scss/mixins/_forms.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/_button-group.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_close.scss","../../scss/_toasts.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/mixins/_clearfix.scss","../../scss/_spinners.scss","../../scss/helpers/_colored-links.scss","../../scss/helpers/_embed.scss","../../scss/helpers/_position.scss","../../scss/helpers/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/helpers/_stretched-link.scss","../../scss/helpers/_text-truncation.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"AAAA;;;;;ECKE;ACLF;EAGI,eAAc;EAAd,iBAAc;EAAd,iBAAc;EAAd,eAAc;EAAd,cAAc;EAAd,iBAAc;EAAd,iBAAc;EAAd,gBAAc;EAAd,eAAc;EAAd,eAAc;EAAd,aAAc;EAAd,eAAc;EAAd,oBAAc;EAId,kBAAc;EAAd,oBAAc;EAAd,kBAAc;EAAd,eAAc;EAAd,kBAAc;EAAd,iBAAc;EAAd,gBAAc;EAAd,eAAc;EAKhB,+MAAyB;EACzB,6GAAwB;ADiB1B;;AEjBA;;;EAGE,sBAAsB;AFoBxB;;AEFA;EACE,SAAS;EACT,kMC6ViN;ECvP7M,eAAW;EFpGf,gBCyW+B;EDxW/B,gBC8W+B;ED7W/B,cCxBgB;ED0BhB,sBCnCa;EDoCb,8BAA8B;EAC9B,6CC3Ba;AH+Bf;;AAEA;EEQE,qBAAqB;AFNvB;;AEgBA;EACE,cAAsB;EACtB,cC2XmC;ED1XnC,8BAA8B;EAC9B,SAAS;EACT,aC0X+B;AHvYjC;;AEgBA;EACE,WC8P+B;AH3QjC;;AEuBA;EACE,aAAa;EACb,qBCuUuC;EDpUvC,gBCuU+B;EDtU/B,gBCuU+B;AH7VjC;;AE0BA;EEyCM,iBAAW;AJ/DjB;;AE2BA;EEoCM,eAAW;AJ3DjB;;AE4BA;EE+BM,kBAAW;AJvDjB;;AE6BA;EE0BM,iBAAW;AJnDjB;;AE8BA;EEqBM,kBAAW;AJ/CjB;;AE+BA;EEgBM,eAAW;AJ3CjB;;AEsCA;EACE,aAAa;EACb,mBCgJ8B;AHnLhC;;AE8CA;;EAEE,0BAA0B;EAC1B,yCAAiC;EAAjC,iCAAiC;EACjC,YAAY;EACZ,sCAA8B;EAA9B,8BAA8B;AF3ChC;;AE+CA;EACE,mBAAmB;EACnB,kBAAkB;EAClB,oBAAoB;AF5CtB;;AE+CA;;EAEE,kBAAkB;AF5CpB;;AE+CA;;;EAGE,aAAa;EACb,mBAAmB;AF5CrB;;AE+CA;;;;EAIE,gBAAgB;AF5ClB;;AE+CA;EACE,gBC2N+B;AHvQjC;;AEiDA;EACE,oBAAoB;EACpB,cAAc;AF9ChB;;AEiDA;EACE,gBAAgB;AF9ClB;;AEmDA;;EAEE,mBC0MkC;AH1PpC;;AEsDA;EEnFI,kBAAW;AJiCf;;AEyDA;;EAEE,kBAAkB;EE5FhB,iBAAW;EF8Fb,cAAc;EACd,wBAAwB;AFtD1B;;AEyDA;EAAM,cAAc;AFrDpB;;AEsDA;EAAM,UAAU;AFlDhB;;AEuDA;EACE,cC/Le;EDgMf,qBCsC4C;AH1F9C;;AEkDA;EAKI,cCoC8D;EDnC9D,0BCoC+C;AHvFnD;;AE4DA;EAGI,cAAc;EACd,qBAAqB;AF3DzB;;AEkEA;;;;EAIE,iGCkIgH;ECxQ9G,cAAW;AJwEf;;AEsEA;EACE,cAAc;EACd,aAAa;EACb,mBAAmB;EACnB,cAAc;EElJZ,kBAAW;AJgFf;;AE8DA;EE9II,kBAAW;EFyJX,cAAc;EACd,kBAAkB;AFpEtB;;AEwEA;EE9JI,kBAAW;EFgKb,cCnPe;EDoPf,qBAAqB;AFrEvB;;AEwEE;EACE,cAAc;AFrElB;;AEyEA;EACE,sBCo6BuC;EC9kCrC,kBAAW;EF4Kb,WC/Ra;EDgSb,yBCvRgB;EEXd,qBF2U+B;AH9GnC;;AEiEA;EAQI,UAAU;EEjLV,cAAW;EFmLX,gBCmG6B;AHxKjC;;AE8EA;EACE,gBAAgB;AF3ElB;;AEiFA;EACE,sBAAsB;AF9ExB;;AEoFA;EACE,gBAAgB;EAChB,sBAAsB;AFjFxB;;AEyFA;EACE,yBAAyB;AFtF3B;;AEyFA;EACE,mBCuIiC;EDtIjC,sBCsIiC;EDrIjC,cCxUgB;EDyUhB,gBAAgB;EAChB,oBAAoB;AFtFtB;;AE4FA;EACE,mBAAmB;AFzFrB;;AEiGA;EACE,qBAAqB;EACrB,qBCyN2C;AHvT7C;;AEqGA;EAEE,gBAAgB;AFnGlB;;AE2GA;EACE,mBAAmB;EACnB,0CAA0C;AFxG5C;;AE6GA;;;;;EAKE,SAAS;EACT,oBAAoB;EE5QlB,kBAAW;EF8Qb,oBAAoB;AF1GtB;;AE+GA;;EAEE,iBAAiB;AF5GnB;;AEiHA;;EAEE,oBAAoB;AF9GtB;;AEqHA;EACE,iBAAiB;AFlHnB;;AAEA;EEwHE,aAAa;AFtHf;;AE8HA;;;;EAIE,0BAA0B;AF3H5B;;AEuHA;;;;EAQM,eAAe;AFxHrB;;AEgIA;EACE,UAAU;EACV,kBAAkB;AF7HpB;;AEuIA;;;;EAIE,6BAA6B;AFpI/B;;AE0IA;EACE,cAAc;EACd,gBAAgB;AFvIlB;;AEiJA;EACE,YAAY;EACZ,UAAU;EACV,SAAS;EACT,SAAS;AF9IX;;AEsJA;EACE,WAAW;EACX,WAAW;EACX,UAAU;EACV,qBC3CiC;EC3T7B,iBAAW;EFyWf,oBAAoB;EACpB,cAAc;EACd,mBAAmB;AFpJrB;;AEwJA;EACE,cCjDgC;EDkDhC,yBC1CmC;AH3GrC;;AE0JA;EACE,wBAAwB;AFvJ1B;;AE8JA;EACE,iBAAiB;EACjB,cAAc;AF3JhB;;AAEA;EEoKE,oBAAoB;EACpB,6BAA6B;AFlK/B;;AEuKA;EACE,wBAAwB;AFpK1B;;AEyKA;EACE,UAAU;AFtKZ;;AE4KA;EACE,aAAa;EACb,0BAA0B;AFzK5B;;AE8KA;EACE,qBAAqB;AF3KvB;;AEgLA;EACE,kBAAkB;EAClB,eAAe;AF7KjB;;AEkLA;EACE,aAAa;AF/Kf;;AEkLA;EACE,cAAc;AF/KhB;;AAEA;EEmLE,wBAAwB;AFjL1B;;AM1XA;EF8GM,kBAAW;EE5Gf,gBHqZ+B;AHxBjC;;AMzXA;EFwGM,eAAW;EEtGf,gBHwY+B;EGvY/B,gBH+X+B;AHHjC;;AM1XA;EFmGM,iBAAW;EEjGf,gBHoY+B;EGnY/B,gBH0X+B;AHGjC;;AM3XA;EF8FM,iBAAW;EE5Ff,gBHgY+B;EG/X/B,gBHqX+B;AHSjC;;AM5XA;EFyFM,iBAAW;EEvFf,gBH4X+B;EG3X/B,gBHgX+B;AHejC;;AM7WA;EClEE,eAAe;EACf,gBAAgB;APmblB;;AM7WA;ECvEE,eAAe;EACf,gBAAgB;APwblB;;AM/WA;EACE,qBAAqB;ANkXvB;;AMnXA;EAII,oBH6X+B;AHVnC;;AMzWA;EF8BI,kBAAW;EE5Bb,yBAAyB;AN4W3B;;AMxWA;EACE,mBHwIW;ECjGP,kBAAW;AJqUjB;;AMxWA;EACE,cAAc;EFkBZ,kBAAW;EEhBb,cH7FgB;AHwclB;;AM9WA;EAMI,qBAAqB;AN4WzB;;AQldA;ECIE,eAAe;EAGf,YAAY;ATgdd;;AQjdA;EACE,gBLkmCwC;EKjmCxC,sBLRa;EKSb,yBLNgB;EELd,sBFyUgC;EMnUlC,eAAe;EAGf,YAAY;ATydd;;AQ3cA;EAEE,qBAAqB;AR6cvB;;AQ1cA;EACE,qBAA0B;EAC1B,cAAc;AR6chB;;AQ1cA;EJoFI,kBAAW;EIlFb,cL3BgB;AHwelB;;AU/eE;ECDA,WAAW;EACX,mBR8T0C;EQ7T1C,kBR6T0C;EQ5T1C,kBAAkB;EAClB,iBAAiB;AXofnB;;AY9bI;EFzDF;ICWI,gBR+RK;EHkNT;AACF;;AYpcI;EFzDF;ICWI,gBRgSK;EHuNT;AACF;;AY1cI;EFzDF;ICWI,gBRiSK;EH4NT;AACF;;AYhdI;EFzDF;ICWI,iBRkSM;EHiOV;AACF;;AUzgBE;ECPA,WAAW;EACX,mBR8T0C;EQ7T1C,kBR6T0C;EQ5T1C,kBAAkB;EAClB,iBAAiB;AXohBnB;;AY9dI;EFxCE;IACE,gBPwRG;EHkPT;AACF;;AYpeI;EFxCE;IACE,gBPyRG;EHuPT;AACF;;AY1eI;EFxCE;IACE,gBP0RG;EH4PT;AACF;;AYhfI;EFxCE;IACE,iBP2RI;EHiQV;AACF;;AUzgBE;ECrBA,aAAa;EACb,eAAe;EACf,mBAA0B;EAC1B,kBAAyB;AXkiB3B;;AU1gBE;EACE,eAAe;EACf,cAAc;AV6gBlB;;AU/gBE;;EAMI,gBAAgB;EAChB,eAAe;AV8gBrB;;AahkBE;;;;;;EACE,kBAAkB;EAClB,WAAW;EACX,mBAA0B;EAC1B,kBAAyB;AbwkB7B;;AarjBM;EACE,aAAa;EACb,YAAY;EACZ,eAAe;AbwjBvB;;AapjBQ;EF4BJ,cAAuB;EACvB,eAAwB;AX4hB5B;;AazjBQ;EF4BJ,aAAuB;EACvB,cAAwB;AXiiB5B;;Aa9jBQ;EF4BJ,oBAAuB;EACvB,qBAAwB;AXsiB5B;;AankBQ;EF4BJ,aAAuB;EACvB,cAAwB;AX2iB5B;;AaxkBQ;EF4BJ,aAAuB;EACvB,cAAwB;AXgjB5B;;Aa7kBQ;EF4BJ,oBAAuB;EACvB,qBAAwB;AXqjB5B;;Aa7kBM;EFMJ,cAAc;EACd,WAAW;EACX,eAAe;AX2kBjB;;Aa9kBQ;EFPN,mBAAsC;EAItC,oBAAuC;AXslBzC;;AanlBQ;EFPN,oBAAsC;EAItC,qBAAuC;AX2lBzC;;AaxlBQ;EFPN,aAAsC;EAItC,cAAuC;AXgmBzC;;Aa7lBQ;EFPN,oBAAsC;EAItC,qBAAuC;AXqmBzC;;AalmBQ;EFPN,oBAAsC;EAItC,qBAAuC;AX0mBzC;;AavmBQ;EFPN,aAAsC;EAItC,cAAuC;AX+mBzC;;Aa5mBQ;EFPN,oBAAsC;EAItC,qBAAuC;AXonBzC;;AajnBQ;EFPN,oBAAsC;EAItC,qBAAuC;AXynBzC;;AatnBQ;EFPN,aAAsC;EAItC,cAAuC;AX8nBzC;;Aa3nBQ;EFPN,oBAAsC;EAItC,qBAAuC;AXmoBzC;;AahoBQ;EFPN,oBAAsC;EAItC,qBAAuC;AXwoBzC;;AaroBQ;EFPN,cAAsC;EAItC,eAAuC;AX6oBzC;;AaloBU;EFAR,sBAA8C;AXsoBhD;;AatoBU;EFAR,uBAA8C;AX0oBhD;;Aa1oBU;EFAR,gBAA8C;AX8oBhD;;Aa9oBU;EFAR,uBAA8C;AXkpBhD;;AalpBU;EFAR,uBAA8C;AXspBhD;;AatpBU;EFAR,gBAA8C;AX0pBhD;;Aa1pBU;EFAR,uBAA8C;AX8pBhD;;Aa9pBU;EFAR,uBAA8C;AXkqBhD;;AalqBU;EFAR,gBAA8C;AXsqBhD;;AatqBU;EFAR,uBAA8C;AX0qBhD;;Aa1qBU;EFAR,uBAA8C;AX8qBhD;;AYtqBI;ECjCE;IACE,aAAa;IACb,YAAY;IACZ,eAAe;Eb2sBrB;EavsBM;IF4BJ,cAAuB;IACvB,eAAwB;EX8qB1B;Ea3sBM;IF4BJ,aAAuB;IACvB,cAAwB;EXkrB1B;Ea/sBM;IF4BJ,oBAAuB;IACvB,qBAAwB;EXsrB1B;EantBM;IF4BJ,aAAuB;IACvB,cAAwB;EX0rB1B;EavtBM;IF4BJ,aAAuB;IACvB,cAAwB;EX8rB1B;Ea3tBM;IF4BJ,oBAAuB;IACvB,qBAAwB;EXksB1B;Ea1tBI;IFMJ,cAAc;IACd,WAAW;IACX,eAAe;EXutBf;Ea1tBM;IFPN,mBAAsC;IAItC,oBAAuC;EXiuBvC;Ea9tBM;IFPN,oBAAsC;IAItC,qBAAuC;EXquBvC;EaluBM;IFPN,aAAsC;IAItC,cAAuC;EXyuBvC;EatuBM;IFPN,oBAAsC;IAItC,qBAAuC;EX6uBvC;Ea1uBM;IFPN,oBAAsC;IAItC,qBAAuC;EXivBvC;Ea9uBM;IFPN,aAAsC;IAItC,cAAuC;EXqvBvC;EalvBM;IFPN,oBAAsC;IAItC,qBAAuC;EXyvBvC;EatvBM;IFPN,oBAAsC;IAItC,qBAAuC;EX6vBvC;Ea1vBM;IFPN,aAAsC;IAItC,cAAuC;EXiwBvC;Ea9vBM;IFPN,oBAAsC;IAItC,qBAAuC;EXqwBvC;EalwBM;IFPN,oBAAsC;IAItC,qBAAuC;EXywBvC;EatwBM;IFPN,cAAsC;IAItC,eAAuC;EX6wBvC;EalwBQ;IFAR,cAA4B;EXqwB5B;EarwBQ;IFAR,sBAA8C;EXwwB9C;EaxwBQ;IFAR,uBAA8C;EX2wB9C;Ea3wBQ;IFAR,gBAA8C;EX8wB9C;Ea9wBQ;IFAR,uBAA8C;EXixB9C;EajxBQ;IFAR,uBAA8C;EXoxB9C;EapxBQ;IFAR,gBAA8C;EXuxB9C;EavxBQ;IFAR,uBAA8C;EX0xB9C;Ea1xBQ;IFAR,uBAA8C;EX6xB9C;Ea7xBQ;IFAR,gBAA8C;EXgyB9C;EahyBQ;IFAR,uBAA8C;EXmyB9C;EanyBQ;IFAR,uBAA8C;EXsyB9C;AACF;;AY/xBI;ECjCE;IACE,aAAa;IACb,YAAY;IACZ,eAAe;Ebo0BrB;Eah0BM;IF4BJ,cAAuB;IACvB,eAAwB;EXuyB1B;Eap0BM;IF4BJ,aAAuB;IACvB,cAAwB;EX2yB1B;Eax0BM;IF4BJ,oBAAuB;IACvB,qBAAwB;EX+yB1B;Ea50BM;IF4BJ,aAAuB;IACvB,cAAwB;EXmzB1B;Eah1BM;IF4BJ,aAAuB;IACvB,cAAwB;EXuzB1B;Eap1BM;IF4BJ,oBAAuB;IACvB,qBAAwB;EX2zB1B;Ean1BI;IFMJ,cAAc;IACd,WAAW;IACX,eAAe;EXg1Bf;Ean1BM;IFPN,mBAAsC;IAItC,oBAAuC;EX01BvC;Eav1BM;IFPN,oBAAsC;IAItC,qBAAuC;EX81BvC;Ea31BM;IFPN,aAAsC;IAItC,cAAuC;EXk2BvC;Ea/1BM;IFPN,oBAAsC;IAItC,qBAAuC;EXs2BvC;Ean2BM;IFPN,oBAAsC;IAItC,qBAAuC;EX02BvC;Eav2BM;IFPN,aAAsC;IAItC,cAAuC;EX82BvC;Ea32BM;IFPN,oBAAsC;IAItC,qBAAuC;EXk3BvC;Ea/2BM;IFPN,oBAAsC;IAItC,qBAAuC;EXs3BvC;Ean3BM;IFPN,aAAsC;IAItC,cAAuC;EX03BvC;Eav3BM;IFPN,oBAAsC;IAItC,qBAAuC;EX83BvC;Ea33BM;IFPN,oBAAsC;IAItC,qBAAuC;EXk4BvC;Ea/3BM;IFPN,cAAsC;IAItC,eAAuC;EXs4BvC;Ea33BQ;IFAR,cAA4B;EX83B5B;Ea93BQ;IFAR,sBAA8C;EXi4B9C;Eaj4BQ;IFAR,uBAA8C;EXo4B9C;Eap4BQ;IFAR,gBAA8C;EXu4B9C;Eav4BQ;IFAR,uBAA8C;EX04B9C;Ea14BQ;IFAR,uBAA8C;EX64B9C;Ea74BQ;IFAR,gBAA8C;EXg5B9C;Eah5BQ;IFAR,uBAA8C;EXm5B9C;Ean5BQ;IFAR,uBAA8C;EXs5B9C;Eat5BQ;IFAR,gBAA8C;EXy5B9C;Eaz5BQ;IFAR,uBAA8C;EX45B9C;Ea55BQ;IFAR,uBAA8C;EX+5B9C;AACF;;AYx5BI;ECjCE;IACE,aAAa;IACb,YAAY;IACZ,eAAe;Eb67BrB;Eaz7BM;IF4BJ,cAAuB;IACvB,eAAwB;EXg6B1B;Ea77BM;IF4BJ,aAAuB;IACvB,cAAwB;EXo6B1B;Eaj8BM;IF4BJ,oBAAuB;IACvB,qBAAwB;EXw6B1B;Ear8BM;IF4BJ,aAAuB;IACvB,cAAwB;EX46B1B;Eaz8BM;IF4BJ,aAAuB;IACvB,cAAwB;EXg7B1B;Ea78BM;IF4BJ,oBAAuB;IACvB,qBAAwB;EXo7B1B;Ea58BI;IFMJ,cAAc;IACd,WAAW;IACX,eAAe;EXy8Bf;Ea58BM;IFPN,mBAAsC;IAItC,oBAAuC;EXm9BvC;Eah9BM;IFPN,oBAAsC;IAItC,qBAAuC;EXu9BvC;Eap9BM;IFPN,aAAsC;IAItC,cAAuC;EX29BvC;Eax9BM;IFPN,oBAAsC;IAItC,qBAAuC;EX+9BvC;Ea59BM;IFPN,oBAAsC;IAItC,qBAAuC;EXm+BvC;Eah+BM;IFPN,aAAsC;IAItC,cAAuC;EXu+BvC;Eap+BM;IFPN,oBAAsC;IAItC,qBAAuC;EX2+BvC;Eax+BM;IFPN,oBAAsC;IAItC,qBAAuC;EX++BvC;Ea5+BM;IFPN,aAAsC;IAItC,cAAuC;EXm/BvC;Eah/BM;IFPN,oBAAsC;IAItC,qBAAuC;EXu/BvC;Eap/BM;IFPN,oBAAsC;IAItC,qBAAuC;EX2/BvC;Eax/BM;IFPN,cAAsC;IAItC,eAAuC;EX+/BvC;Eap/BQ;IFAR,cAA4B;EXu/B5B;Eav/BQ;IFAR,sBAA8C;EX0/B9C;Ea1/BQ;IFAR,uBAA8C;EX6/B9C;Ea7/BQ;IFAR,gBAA8C;EXggC9C;EahgCQ;IFAR,uBAA8C;EXmgC9C;EangCQ;IFAR,uBAA8C;EXsgC9C;EatgCQ;IFAR,gBAA8C;EXygC9C;EazgCQ;IFAR,uBAA8C;EX4gC9C;Ea5gCQ;IFAR,uBAA8C;EX+gC9C;Ea/gCQ;IFAR,gBAA8C;EXkhC9C;EalhCQ;IFAR,uBAA8C;EXqhC9C;EarhCQ;IFAR,uBAA8C;EXwhC9C;AACF;;AYjhCI;ECjCE;IACE,aAAa;IACb,YAAY;IACZ,eAAe;EbsjCrB;EaljCM;IF4BJ,cAAuB;IACvB,eAAwB;EXyhC1B;EatjCM;IF4BJ,aAAuB;IACvB,cAAwB;EX6hC1B;Ea1jCM;IF4BJ,oBAAuB;IACvB,qBAAwB;EXiiC1B;Ea9jCM;IF4BJ,aAAuB;IACvB,cAAwB;EXqiC1B;EalkCM;IF4BJ,aAAuB;IACvB,cAAwB;EXyiC1B;EatkCM;IF4BJ,oBAAuB;IACvB,qBAAwB;EX6iC1B;EarkCI;IFMJ,cAAc;IACd,WAAW;IACX,eAAe;EXkkCf;EarkCM;IFPN,mBAAsC;IAItC,oBAAuC;EX4kCvC;EazkCM;IFPN,oBAAsC;IAItC,qBAAuC;EXglCvC;Ea7kCM;IFPN,aAAsC;IAItC,cAAuC;EXolCvC;EajlCM;IFPN,oBAAsC;IAItC,qBAAuC;EXwlCvC;EarlCM;IFPN,oBAAsC;IAItC,qBAAuC;EX4lCvC;EazlCM;IFPN,aAAsC;IAItC,cAAuC;EXgmCvC;Ea7lCM;IFPN,oBAAsC;IAItC,qBAAuC;EXomCvC;EajmCM;IFPN,oBAAsC;IAItC,qBAAuC;EXwmCvC;EarmCM;IFPN,aAAsC;IAItC,cAAuC;EX4mCvC;EazmCM;IFPN,oBAAsC;IAItC,qBAAuC;EXgnCvC;Ea7mCM;IFPN,oBAAsC;IAItC,qBAAuC;EXonCvC;EajnCM;IFPN,cAAsC;IAItC,eAAuC;EXwnCvC;Ea7mCQ;IFAR,cAA4B;EXgnC5B;EahnCQ;IFAR,sBAA8C;EXmnC9C;EannCQ;IFAR,uBAA8C;EXsnC9C;EatnCQ;IFAR,gBAA8C;EXynC9C;EaznCQ;IFAR,uBAA8C;EX4nC9C;Ea5nCQ;IFAR,uBAA8C;EX+nC9C;Ea/nCQ;IFAR,gBAA8C;EXkoC9C;EaloCQ;IFAR,uBAA8C;EXqoC9C;EaroCQ;IFAR,uBAA8C;EXwoC9C;EaxoCQ;IFAR,gBAA8C;EX2oC9C;Ea3oCQ;IFAR,uBAA8C;EX8oC9C;Ea9oCQ;IFAR,uBAA8C;EXipC9C;AACF;;AcrsCA;EACE,WAAW;EACX,mBXqOW;EWpOX,cXSgB;EWRhB,mBXqd+B;AHmvBjC;;Ac5sCA;;EASI,eX6c+B;EW5c/B,gCXJc;AH4sClB;;AcltCA;EAcI,uBAAuB;AdwsC3B;;ActtCA;EAkBI,sBAAsB;EACtB,4BXTc;AHitClB;;Ac3tCA;EAuBI,6BXjBc;AHytClB;;Ac/rCA;;EAGI,gBXobgC;AH6wBpC;;AcxrCA;EACE,yBXvCgB;AHkuClB;;Ac5rCA;;EAKI,yBX3Cc;AHuuClB;;AcjsCA;;EAWM,wBAA4C;Ad2rClD;;ActrCA;;;;EAKI,SAAS;AdwrCb;;AchrCA;EAEI,qCX9DW;AHgvCf;;AczqCA;EAGM,cX3EY;EW4EZ,sCX3ES;AHqvCf;;AejwCE;;;EAII,yBC2F4D;AhBwqClE;;AevwCE;;;;EAYM,qBCmF0D;AhB+qClE;;Ae3vCE;EAKM,yBAJsC;Af8vC9C;;Ae/vCE;;EASQ,yBARoC;AfmwC9C;;AevxCE;;;EAII,yBC2F4D;AhB8rClE;;Ae7xCE;;;;EAYM,qBCmF0D;AhBqsClE;;AejxCE;EAKM,yBAJsC;AfoxC9C;;AerxCE;;EASQ,yBARoC;AfyxC9C;;Ae7yCE;;;EAII,yBC2F4D;AhBotClE;;AenzCE;;;;EAYM,qBCmF0D;AhB2tClE;;AevyCE;EAKM,yBAJsC;Af0yC9C;;Ae3yCE;;EASQ,yBARoC;Af+yC9C;;Aen0CE;;;EAII,yBC2F4D;AhB0uClE;;Aez0CE;;;;EAYM,qBCmF0D;AhBivClE;;Ae7zCE;EAKM,yBAJsC;Afg0C9C;;Aej0CE;;EASQ,yBARoC;Afq0C9C;;Aez1CE;;;EAII,yBC2F4D;AhBgwClE;;Ae/1CE;;;;EAYM,qBCmF0D;AhBuwClE;;Aen1CE;EAKM,yBAJsC;Afs1C9C;;Aev1CE;;EASQ,yBARoC;Af21C9C;;Ae/2CE;;;EAII,yBC2F4D;AhBsxClE;;Aer3CE;;;;EAYM,qBCmF0D;AhB6xClE;;Aez2CE;EAKM,yBAJsC;Af42C9C;;Ae72CE;;EASQ,yBARoC;Afi3C9C;;Aer4CE;;;EAII,yBC2F4D;AhB4yClE;;Ae34CE;;;;EAYM,qBCmF0D;AhBmzClE;;Ae/3CE;EAKM,yBAJsC;Afk4C9C;;Aen4CE;;EASQ,yBARoC;Afu4C9C;;Ae35CE;;;EAII,yBC2F4D;AhBk0ClE;;Aej6CE;;;;EAYM,qBCmF0D;AhBy0ClE;;Aer5CE;EAKM,yBAJsC;Afw5C9C;;Aez5CE;;EASQ,yBARoC;Af65C9C;;Aej7CE;;;EAII,sCZQS;AH26Cf;;Aep6CE;EAKM,sCAJsC;Afu6C9C;;Aex6CE;;EASQ,sCARoC;Af46C9C;;Acl1CA;EAGM,WX/GS;EWgHT,yBXxGY;EWyGZ,qBX0XqD;AHy9B3D;;Acx1CA;EAWM,cXhHY;EWiHZ,yBXtHY;EWuHZ,qBXtHY;AHu8ClB;;Ac50CA;EACE,WX/Ha;EWgIb,yBXxHgB;AHu8ClB;;Acj1CA;;;EAOI,qBXsWuD;AH0+B3D;;Acv1CA;EAWI,SAAS;Adg1Cb;;Ac31CA;EAgBM,2CX9IS;AH69Cf;;Ac/1CA;EAuBQ,WXrJO;EWsJP,4CXtJO;AHk+Cf;;AY75CI;EEkGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;Ed8zCvC;Ecn0CG;IASK,SAAS;Ed6zCjB;AACF;;AYz6CI;EEkGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;Ed00CvC;Ec/0CG;IASK,SAAS;Edy0CjB;AACF;;AYr7CI;EEkGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;Eds1CvC;Ec31CG;IASK,SAAS;Edq1CjB;AACF;;AYj8CI;EEkGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;Edk2CvC;Ecv2CG;IASK,SAAS;Edi2CjB;AACF;;Ach3CA;EAOQ,cAAc;EACd,WAAW;EACX,gBAAgB;EAChB,iCAAiC;Ad62CzC;;Acv3CA;EAcU,SAAS;Ad62CnB;;AiB9hDA;EACE,iCDsH8D;ECrH9D,oCDqH8D;ECpH9D,gBAAgB;EbiHd,kBAAW;Ea/Gb,gBd0Y+B;AHupCjC;;AiB9hDA;EACE,+BD8G8D;EC7G9D,kCD6G8D;EZa1D,kBAAW;AJw6CjB;;AiB9hDA;EACE,gCDwG8D;ECvG9D,mCDuG8D;EZa1D,mBAAW;AJ86CjB;;AkBpjDA;EACE,cAAc;EACd,WAAW;EACX,uCFsH8D;EErH9D,yBfyfkC;ECvX9B,eAAW;Ec/Hf,gBfoY+B;EenY/B,gBfyY+B;EexY/B,cfCgB;EeAhB,sBfPa;EeQb,4BAA4B;EAC5B,yBfLgB;EENd,sBFyUgC;EgBxU9B,wEhB4mB4F;AHs9BlG;;AmB7jDI;EDPJ;ICQM,gBAAgB;EnBikDpB;AACF;;AkB1kDA;EAsBI,6BAA6B;EAC7B,SAAS;AlBwjDb;;AkB/kDA;EA4BI,cflBc;EemBd,sBf1BW;Ee2BX,qBf8jBsE;Ee7jBtE,UAAU;EAKR,iDfJW;AHujDjB;;AkBvlDA;EA0CI,cfjCc;EemCd,UAAU;AlBgjDd;;AkB5lDA;EA0CI,cfjCc;EemCd,UAAU;AlBgjDd;;AkB5lDA;EA0CI,cfjCc;EemCd,UAAU;AlBgjDd;;AkB5lDA;EA0CI,cfjCc;EemCd,UAAU;AlBgjDd;;AkB5lDA;EA0CI,cfjCc;EemCd,UAAU;AlBgjDd;;AkB5lDA;EAsDI,yBfjDc;EeoDd,UAAU;AlBwiDd;;AkB/hDA;EACE,cAAc;EACd,WAAW;EACX,mBAA2B;EAC3B,gBAAgB;EAChB,gBf0U+B;EezU/B,cf5DgB;Ee6DhB,6BAA6B;EAC7B,yBAAyB;EACzB,mBAAmC;AlBkiDrC;;AkB3iDA;EAaI,gBAAgB;EAChB,eAAe;AlBkiDnB;;AkBvhDA;EACE,sCF6B8D;EE5B9D,uBf0aiC;ECjY7B,mBAAW;ECrIb,qBF2U+B;AH6yCnC;;AkBvhDA;EACE,oCFsB8D;EErB9D,oBfuagC;ECrY5B,kBAAW;ECrIb,qBF0U+B;AHqzCnC;;AkBvhDA;EACE,eAAe;EACf,iBfiZmC;AHyoCrC;;AkBvhDA;Eb7GI,sBFyUgC;AH+zCpC;;AkBvhDA;EbjHI,sBFyUgC;AHm0CpC;;AoB5oDA;EACE,qBAAqB;EACrB,WAAW;EACX,mCJqH8D;EIpH9D,0CjBwfkC;ECvX9B,eAAW;EgB9Hf,gBjBmY+B;EiBlY/B,gBjBwY+B;EiBvY/B,cjBAgB;EiBChB,sBAAsB;EACtB,yRjBmrBsG;EiBlrBtG,yBjBNgB;EENd,sBFyUgC;EiB1TlC,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;ApB6oDlB;;AoB5pDA;EAkBI,qBjBykBsE;EiBxkBtE,UAAU;EAIR,iDjBQW;AHmoDjB;;AoBlqDA;EAgCM,cjBvBY;EiBwBZ,sBjB/BS;AHqqDf;;AoBvqDA;EAuCI,YAAY;EACZ,sBjBodgC;EiBndhC,sBAAsB;ApBooD1B;;AoB7qDA;EA6CI,cjBrCc;EiBsCd,yBjB1Cc;AH8qDlB;;AoBlrDA;EAoDI,aAAa;ApBkoDjB;;AoBtrDA;EAyDI,kBAAkB;EAClB,0BjBjDc;AHkrDlB;;AoB7nDA;EACE,kCJyD8D;EIxD9D,oBjBqckC;EiBpclC,uBjBockC;EiBnclC,oBjBociC;ECjY7B,mBAAW;AJ8jDjB;;AoB7nDA;EACE,gCJiD8D;EIhD9D,mBjBiciC;EiBhcjC,sBjBgciC;EiB/bjC,kBjBgcgC;ECrY5B,kBAAW;AJskDjB;;AqB5sDA;EACE,cAAc;EACd,kBlBgnB2E;EkB/mB3E,oBlBgnBsE;EkB/mBtE,uBlBgnB+C;AH+lCjD;;AqBntDA;EAOI,WAAW;EACX,oBAA0C;ArBgtD9C;;AqB5sDA;EACE,alBomB8C;EkBnmB9C,clBmmB8C;EkBlmB9C,mBAA6D;EAC7D,sBlBba;EkBcb,qClBymBoE;EkBxmBpE,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;ArB+sDlB;;AqBrtDA;EhBXI,qBF0nB2C;AH0mC/C;;AqBztDA;EhBXI,kBF2nByC;AH6mC7C;;AqB7tDA;EAiBI,+BlB0lBqD;EkB1lBrD,uBlB0lBqD;AHsnCzD;;AqBjuDA;EAqBI,qBlB2jBsE;EkB1jBtE,UAAU;EACV,iDlBHa;AHmtDjB;;AqBvuDA;EA2BI,yBlBPa;EkBQb,4BlB2lB+C;EkB1lB/C,kClB2lBmD;EkB1lBnD,oBlB2lByC;EkB1lBzC,qBlBXa;AH2tDjB;;AqB/uDA;EAsCQ,mPLamI;AhBgsD3I;;AqBnvDA;EA+CQ,uJLImI;AhBosD3I;;AqBvvDA;EAqDI,yBlBjCa;EkBkCb,4BlB0kBqD;EkBzkBrD,kClB0kByD;EkBrkBvD,wOLTqI;EKUrI,oBlBqkB6C;EkBnkB/C,qBlB3Ca;AH4uDjB;;AqBhwDA;EAqEI,oBAAoB;EACpB,oBAAY;EAAZ,YAAY;EACZ,WAAW;ArB+rDf;;AqBtwDA;EA0EM,WAAW;ArBgsDjB;;AqB3rDA;EACE,gBAAgB;ArB8rDlB;;AqBtrDA;EACE,mBlB8iByD;AH2oC3D;;AqB1rDA;EAII,UlB0iBiC;EkBziBjC,mBAA2C;EAC3C,oKL3CuI;EK4CvI,4BAA4B;EAC5B,gCAAgC;EAChC,wBlBwiBqC;EEppBrC,kBFipBiC;AHspCrC;;AqBpsDA;EAgBM,0JLrDqI;AhB6uD3I;;AqBxsDA;EAoBM,iClBuiBwC;EkBjiBtC,uJL/DmI;AhBkvD3I;;AqB7qDA;EACE,qBAAqB;EACrB,kBlB6hB0C;AHmpC5C;;AsB1zDA;EACE,kBAAkB;EAClB,qBAAqB;EACrB,WAAW;EACX,mCNyH8D;EMxH9D,gBAAgB;AtB6zDlB;;AsB1zDA;EACE,kBAAkB;EAClB,UAAU;EACV,WAAW;EACX,mCNiH8D;EMhH9D,SAAS;EACT,UAAU;AtB6zDZ;;AsBn0DA;EAWI,qBnB6kBsE;EmB5kBtE,iDnBgBa;AH4yDjB;;AsBx0DA;EAgBI,qBnBwkBsE;EmBvkBtE,iDnBWa;AHizDjB;;AsB70DA;EAuBI,yBnBtBc;AHg1DlB;;AsBrzDA;EACE,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,OAAO;EACP,UAAU;EACV,aAAa;EACb,mCNkF8D;EMjF9D,qBnBjCgB;EENd,sBFyUgC;AHuhDpC;;AsBpzDA;EACE,cAAc;EACd,YAAY;EACZ,yBnB6ckC;EmB5clC,gBAAgB;EAEhB,gBnBwV+B;EmBvV/B,gBnB6V+B;EmB5V/B,cnB3CgB;EmB4ChB,uBAAuB;EACvB,mBAAmB;EACnB,sBnBrDa;EmBsDb,qBAAqB;EACrB,mBAAmB;EACnB,iBnB4Q+B;EExS7B,+BiB6BiC;EjB5BjC,kCiB4BiC;AtBuzDrC;;AsBpzDA;EACE,cAAc;EACd,cAAc;EACd,yBnB2bkC;EmB1blC,iBnBoQ+B;EmBnQ/B,gBnB6U+B;EmB5U/B,cnB3DgB;EoBDd,yBpBJc;EmBkEhB,qBAAqB;EACrB,mBAAmB;EACnB,iBnB8P+B;EEtT7B,gCiByDkC;EjBxDlC,mCiBwDkC;AtBwzDtC;;AwBh4DA;EACE,WAAW;EACX,cRkH2B;EQjH3B,UAAU;EACV,6BAA6B;EAC7B,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;AxBm4DlB;;AwBx4DA;EAQI,aAAa;AxBo4DjB;;AwB54DA;EAY8B,iErBkBb;AHk3DjB;;AwBh5DA;EAa8B,iErBiBb;AHs3DjB;;AwBp5DA;EAc8B,iErBgBb;AH03DjB;;AwBx5DA;EAkBI,SAAS;AxB04Db;;AwB55DA;EAsBI,WrBusB2C;EqBtsB3C,YrBssB2C;EqBrsB3C,oBAAqE;EDjBrE,yBpBuBa;EqBJb,SrBssBwC;EEjuBxC,mBFkuB2C;EgBjuBzC,oHhBuuBkI;EgBvuBlI,4GhBuuBkI;EqBzsBpI,wBAAgB;EAAhB,gBAAgB;AxBy4DpB;;AmBl6DI;EKLJ;ILMM,wBAAgB;IAAhB,gBAAgB;EnBs6DpB;AACF;;AwB76DA;EDOI,yBpB8tByE;AH4sC7E;;AwBj7DA;EAsCI,WrBgrBkC;EqB/qBlC,crBgrBmC;EqB/qBnC,kBAAkB;EAClB,erB+qBqC;EqB9qBrC,yBrBtCc;EqBuCd,yBAAyB;EnB5CzB,mBF2tBkC;AHiuCtC;;AwB37DA;EAiDI,WrB4qB2C;EqB3qB3C,YrB2qB2C;EoBttB3C,yBpBuBa;EqBsBb,SrB4qBwC;EEjuBxC,mBFkuB2C;EgBjuBzC,iHhBuuBkI;EgBvuBlI,4GhBuuBkI;EqB/qBpI,qBAAgB;EAAhB,gBAAgB;AxB64DpB;;AmBh8DI;EKLJ;ILMM,qBAAgB;IAAhB,gBAAgB;EnBo8DpB;AACF;;AwB38DA;EDOI,yBpB8tByE;AH0uC7E;;AwB/8DA;EAgEI,WrBspBkC;EqBrpBlC,crBspBmC;EqBrpBnC,kBAAkB;EAClB,erBqpBqC;EqBppBrC,yBrBhEc;EqBiEd,yBAAyB;EnBtEzB,mBF2tBkC;AH+vCtC;;AwBz9DA;EA2EI,WrBkpB2C;EqBjpB3C,YrBipB2C;EqBhpB3C,aAAa;EACb,oBrBkb+B;EqBjb/B,mBrBib+B;EoBzf/B,yBpBuBa;EqBmDb,SrB+oBwC;EEjuBxC,mBFkuB2C;EgBjuBzC,gHhBuuBkI;EgBvuBlI,4GhBuuBkI;EqBlpBpI,gBAAgB;AxBi5DpB;;AmBj+DI;EKLJ;ILMM,oBAAgB;IAAhB,gBAAgB;EnBq+DpB;AACF;;AwB5+DA;EDOI,yBpB8tByE;AH2wC7E;;AwBh/DA;EA6FI,WrBynBkC;EqBxnBlC,crBynBmC;EqBxnBnC,kBAAkB;EAClB,erBwnBqC;EqBvnBrC,6BAA6B;EAC7B,yBAAyB;EACzB,oBAA0C;AxBu5D9C;;AwB1/DA;EAwGI,yBrBpGc;EELd,mBF2tBkC;AHqyCtC;;AwB//DA;EA6GI,kBAAkB;EAClB,yBrB1Gc;EELd,mBF2tBkC;AH2yCtC;;AwBrgEA;EAoHM,yBrB9GY;AHmgElB;;AwBzgEA;EAwHM,eAAe;AxBq5DrB;;AwB7gEA;EA4HM,yBrBtHY;AH2gElB;;AwBjhEA;EAgIM,eAAe;AxBq5DrB;;AwBrhEA;EAoIM,yBrB9HY;AHmhElB;;AyB1hEE;EACE,aAAa;EACb,eAAe;EACf,kBAA0C;EAC1C,iBAAyC;AzB6hE7C;;AyBjiEE;;EAQI,kBAA0C;EAC1C,iBAAyC;AzB8hE/C;;AyBhhEA;EACE,aAAa;EACb,mBAAmB;EACnB,mBAAmB;AzBmhErB;;AyBthEA;EASI,WAAW;AzBihEf;;AYv/DI;EanCJ;IAeM,aAAa;IACb,mBAAmB;IACnB,uBAAuB;IACvB,gBAAgB;EzBghEpB;EyBliEF;IAuBM,aAAa;IACb,cAAc;IACd,mBAAmB;IACnB,mBAAmB;IACnB,gBAAgB;EzB8gEpB;EyBziEF;IAgCM,qBAAqB;IACrB,WAAW;IACX,sBAAsB;EzB4gE1B;EyB9iEF;IAuCM,qBAAqB;EzB0gEzB;EyBjjEF;;IA4CM,WAAW;EzBygEf;EyBrjEF;IAkDM,aAAa;IACb,mBAAmB;IACnB,uBAAuB;IACvB,WAAW;IACX,eAAe;EzBsgEnB;EyB5jEF;IAyDM,kBAAkB;IAClB,cAAc;IACd,aAAa;IACb,qBtBilBwC;IsBhlBxC,cAAc;EzBsgElB;AACF;;A0B1lEA;EACE,kBAAkB;EAClB,aAAa;EACb,eAAe;EACf,oBAAoB;EACpB,WAAW;A1B6lEb;;A0BlmEA;;;EAUI,kBAAkB;EAClB,YAAY;EACZ,YAAY;EACZ,gBAAgB;A1B8lEpB;;A0B3mEA;;;;;;;;;EAkBM,iBvBmT2B;AHkzDjC;;A0BvnEA;;;EA0BI,UAAU;A1BmmEd;;A0B7nEA;EA+BI,UAAU;A1BkmEd;;A0BjoEA;;ErBeI,0BqBqBmD;ErBpBnD,6BqBoBmD;A1BmmEvD;;A0BvoEA;;ErB6BI,yBqBQmD;ErBPnD,4BqBOmD;A1BwmEvD;;A0B7oEA;EA2CI,aAAa;EACb,mBAAmB;A1BsmEvB;;A0BlpEA;ErBeI,0BqB+BoE;ErB9BpE,6BqB8BoE;A1BymExE;;A0BvpEA;ErB6BI,yBqBkBoE;ErBjBpE,4BqBiBoE;A1B6mExE;;A0BlmEA;;EAEE,aAAa;A1BqmEf;;A0BvmEA;;EAQI,kBAAkB;EAClB,UAAU;A1BomEd;;A0B7mEA;;EAYM,UAAU;A1BsmEhB;;A0BlnEA;;;;;;;;EAoBI,iBvBuP6B;AHk3DjC;;A0BrmEA;EAAuB,kBvBmPU;AHs3DjC;;A0BxmEA;EAAsB,iBvBkPW;AH03DjC;;A0BpmEA;EACE,aAAa;EACb,mBAAmB;EACnB,yBvB6ZkC;EuB5ZlC,gBAAgB;EtBqCZ,eAAW;EsBnCf,gBvBwS+B;EuBvS/B,gBvB6S+B;EuB5S/B,cvB3FgB;EuB4FhB,kBAAkB;EAClB,mBAAmB;EACnB,yBvBnGgB;EuBoGhB,yBvBlGgB;EENd,sBFyUgC;AHu4DpC;;A0BpnEA;;EAkBI,aAAa;A1BumEjB;;A0B7lEA;EACE,oCVD8D;AhBimEhE;;A0B7lEA;EACE,gCVL8D;AhBqmEhE;;A0B7lEA;;;;;;EAME,oBvBoYgC;ECrY5B,kBAAW;ECrIb,qBF0U+B;AH85DnC;;A0B7lEA;EACE,sCVpB8D;AhBonEhE;;A0B7lEA;EACE,kCVxB8D;AhBwnEhE;;A0B7lEA;;;;;;EAME,uBvB6WiC;ECjY7B,mBAAW;ECrIb,qBF2U+B;AHg7DnC;;A0B7lEA;;EAEE,sBAAsE;A1BgmExE;;A0BrlEA;;;;;;ErB3JI,0BqBiK4B;ErBhK5B,6BqBgK4B;A1BylEhC;;A0BtlEA;;;;;;ErBtJI,yBqB4J2B;ErB3J3B,4BqB2J2B;A1B0lE/B;;A2B7uEE;EACE,aAAa;EACb,WAAW;EACX,mBxBsnB0C;EC3iB1C,kBAAW;EuBzEX,cxBNa;AHsvEjB;;A2B7uEE;EACE,kBAAkB;EAClB,SAAS;EACT,UAAU;EACV,aAAa;EACb,eAAe;EACf,uBxB24BqC;EwB14BrC,iBAAiB;EvB+Ef,mBAAW;EuB5Eb,WxBvDW;EwBwDX,wCxBpBa;EEtCb,sBFyUgC;AHi+DpC;;A2B/wEI;;;;EAsCE,cAAc;A3BgvEpB;;A2BtxEI;EA4CE,qBxBjCW;EwBoCT,oCX8CwD;EW7CxD,4PXbmI;EWcnI,4BAA4B;EAC5B,2DAA6D;EAC7D,gEX0CwD;AhBksEhE;;A2B/xEI;EAuDI,qBxB5CS;EwB6CT,gDxB7CS;AHyxEjB;;A2BpyEI;EAiEI,oCX4BwD;EW3BxD,kFX2BwD;AhB4sEhE;;A2BzyEI;EAyEE,qBxB9DW;EwBiET,uCXiBwD;EWhBxD,olBAAyL;A3BkuEjM;;A2B/yEI;EAiFI,qBxBtES;EwBuET,gDxBvES;AHyyEjB;;A2BpzEI;EAyFE,qBxB9EW;AH6yEjB;;A2BxzEI;EJnBA,yBI+G6C;A3BguEjD;;A2B5zEI;EAgGI,gDxBrFS;AHqzEjB;;A2Bh0EI;EAoGI,cxBzFS;AHyzEjB;;A2B5tEE;EAEI,iBAAiB;A3B8tEvB;;A2Bx0EI;EAkHI,qBxBvGS;AHi0EjB;;A2B50EI;EAuHM,qBxB5GO;EwB6GP,gDxB7GO;AHs0EjB;;A2Br0EE;EACE,aAAa;EACb,WAAW;EACX,mBxBsnB0C;EC3iB1C,kBAAW;EuBzEX,cxBTa;AHi1EjB;;A2Br0EE;EACE,kBAAkB;EAClB,SAAS;EACT,UAAU;EACV,aAAa;EACb,eAAe;EACf,uBxB24BqC;EwB14BrC,iBAAiB;EvB+Ef,mBAAW;EuB5Eb,WxBvDW;EwBwDX,wCxBvBa;EEnCb,sBFyUgC;AHyjEpC;;A2Bv2EI;;;;EAsCE,cAAc;A3Bw0EpB;;A2B92EI;EA4CE,qBxBpCW;EwBuCT,oCX8CwD;EW7CxD,4UXbmI;EWcnI,4BAA4B;EAC5B,2DAA6D;EAC7D,gEX0CwD;AhB0xEhE;;A2Bv3EI;EAuDI,qBxB/CS;EwBgDT,gDxBhDS;AHo3EjB;;A2B53EI;EAiEI,oCX4BwD;EW3BxD,kFX2BwD;AhBoyEhE;;A2Bj4EI;EAyEE,qBxBjEW;EwBoET,uCXiBwD;EWhBxD,oqBAAyL;A3B0zEjM;;A2Bv4EI;EAiFI,qBxBzES;EwB0ET,gDxB1ES;AHo4EjB;;A2B54EI;EAyFE,qBxBjFW;AHw4EjB;;A2Bh5EI;EJnBA,yBI+G6C;A3BwzEjD;;A2Bp5EI;EAgGI,gDxBxFS;AHg5EjB;;A2Bx5EI;EAoGI,cxB5FS;AHo5EjB;;A2BpzEE;EAEI,iBAAiB;A3BszEvB;;A2Bh6EI;EAkHI,qBxB1GS;AH45EjB;;A2Bp6EI;EAuHM,qBxB/GO;EwBgHP,gDxBhHO;AHi6EjB;;A4Bn8EA;EACE,qBAAqB;EAErB,gBzBsY+B;EyBrY/B,gBzB2Y+B;EyB1Y/B,czBKgB;EyBJhB,kBAAkB;EAElB,sBAAsB;EACtB,eAAsD;EACtD,yBAAiB;EAAjB,sBAAiB;EAAjB,qBAAiB;EAAjB,iBAAiB;EACjB,6BAA6B;EAC7B,6BAA2C;ECsG3C,yB1ByYkC;ECvX9B,eAAW;ECrIb,sBFyUgC;EgBxU9B,qIhBsjB6I;AH85DnJ;;AmB/8EI;ESLJ;ITMM,gBAAgB;EnBm9EpB;AACF;;A4B19EA;EAiBI,czBPc;EyBQd,qBAAqB;A5B68EzB;;A4B/9EA;EAuBI,UAAU;EACV,iDzBMa;AHs8EjB;;A4Bp+EA;EA8BI,azB0gB6B;AHg8DjC;;A4B37EA;;EAEE,oBAAoB;A5B87EtB;;A4Br7EE;EC9CA,W1BTa;EoBMX,yBpBuBa;E0BlBf,qB1BkBe;AHq9EjB;;A6Bp+EE;EACE,W1BfW;EoBMX,yBMJ0C;EAe1C,qBAdiC;A7Bq/ErC;;A6Bp+EE;EAEE,W1BtBW;EoBMX,yBMJ0C;EAsB1C,qBArBiC;EA0B/B,gDAAiE;A7Bk+EvE;;A6B79EE;EAEE,W1BpCW;E0BqCX,yB1BRa;E0BSb,qB1BTa;AHw+EjB;;A6Bx9EE;;EAGE,W1BhDW;E0BiDX,yBA5C0C;EAgD1C,qBA/CoC;A7BsgFxC;;A6Br9EI;;EAKI,gDAAiE;A7Bq9EzE;;A4B19EE;EC9CA,W1BTa;EoBMX,yBpBAc;E0BKhB,qB1BLgB;AHihFlB;;A6BzgFE;EACE,W1BfW;EoBMX,yBMJ0C;EAe1C,qBAdiC;A7B0hFrC;;A6BzgFE;EAEE,W1BtBW;EoBMX,yBMJ0C;EAsB1C,qBArBiC;EA0B/B,iDAAiE;A7BugFvE;;A6BlgFE;EAEE,W1BpCW;E0BqCX,yB1B/Bc;E0BgCd,qB1BhCc;AHoiFlB;;A6B7/EE;;EAGE,W1BhDW;E0BiDX,yBA5C0C;EAgD1C,qBA/CoC;A7B2iFxC;;A6B1/EI;;EAKI,iDAAiE;A7B0/EzE;;A4B//EE;EC9CA,W1BTa;EoBMX,yBpB8Ba;E0BzBf,qB1ByBe;AHwhFjB;;A6B9iFE;EACE,W1BfW;EoBMX,yBMJ0C;EAe1C,qBAdiC;A7B+jFrC;;A6B9iFE;EAEE,W1BtBW;EoBMX,yBMJ0C;EAsB1C,qBArBiC;EA0B/B,+CAAiE;A7B4iFvE;;A6BviFE;EAEE,W1BpCW;E0BqCX,yB1BDa;E0BEb,qB1BFa;AH2iFjB;;A6BliFE;;EAGE,W1BhDW;E0BiDX,yBA5C0C;EAgD1C,qBA/CoC;A7BglFxC;;A6B/hFI;;EAKI,+CAAiE;A7B+hFzE;;A4BpiFE;EC9CA,W1BTa;EoBMX,yBpBgCa;E0B3Bf,qB1B2Be;AH2jFjB;;A6BnlFE;EACE,W1BfW;EoBMX,yBMJ0C;EAe1C,qBAdiC;A7BomFrC;;A6BnlFE;EAEE,W1BtBW;EoBMX,yBMJ0C;EAsB1C,qBArBiC;EA0B/B,gDAAiE;A7BilFvE;;A6B5kFE;EAEE,W1BpCW;E0BqCX,yB1BCa;E0BAb,qB1BAa;AH8kFjB;;A6BvkFE;;EAGE,W1BhDW;E0BiDX,yBA5C0C;EAgD1C,qBA/CoC;A7BqnFxC;;A6BpkFI;;EAKI,gDAAiE;A7BokFzE;;A4BzkFE;EC9CA,c1BAgB;EoBHd,yBpB6Ba;E0BxBf,qB1BwBe;AHmmFjB;;A6BxnFE;EACE,c1BNc;EoBHd,yBMJ0C;EAe1C,qBAdiC;A7ByoFrC;;A6BxnFE;EAEE,c1Bbc;EoBHd,yBMJ0C;EAsB1C,qBArBiC;EA0B/B,gDAAiE;A7BsnFvE;;A6BjnFE;EAEE,c1B3Bc;E0B4Bd,yB1BFa;E0BGb,qB1BHa;AHsnFjB;;A6B5mFE;;EAGE,c1BvCc;E0BwCd,yBA5C0C;EAgD1C,qBA/CoC;A7B0pFxC;;A6BzmFI;;EAKI,gDAAiE;A7BymFzE;;A4B9mFE;EC9CA,W1BTa;EoBMX,yBpB2Ba;E0BtBf,qB1BsBe;AH0oFjB;;A6B7pFE;EACE,W1BfW;EoBMX,yBMJ0C;EAe1C,qBAdiC;A7B8qFrC;;A6B7pFE;EAEE,W1BtBW;EoBMX,yBMJ0C;EAsB1C,qBArBiC;EA0B/B,+CAAiE;A7B2pFvE;;A6BtpFE;EAEE,W1BpCW;E0BqCX,yB1BJa;E0BKb,qB1BLa;AH6pFjB;;A6BjpFE;;EAGE,W1BhDW;E0BiDX,yBA5C0C;EAgD1C,qBA/CoC;A7B+rFxC;;A6B9oFI;;EAKI,+CAAiE;A7B8oFzE;;A4BnpFE;EC9CA,c1BAgB;EoBHd,yBpBLc;E0BUhB,qB1BVgB;AH+sFlB;;A6BlsFE;EACE,c1BNc;EoBHd,yBMJ0C;EAe1C,qBAdiC;A7BmtFrC;;A6BlsFE;EAEE,c1Bbc;EoBHd,yBMJ0C;EAsB1C,qBArBiC;EA0B/B,iDAAiE;A7BgsFvE;;A6B3rFE;EAEE,c1B3Bc;E0B4Bd,yB1BpCc;E0BqCd,qB1BrCc;AHkuFlB;;A6BtrFE;;EAGE,c1BvCc;E0BwCd,yBA5C0C;EAgD1C,qBA/CoC;A7BouFxC;;A6BnrFI;;EAKI,iDAAiE;A7BmrFzE;;A4BxrFE;EC9CA,W1BTa;EoBMX,yBpBEc;E0BGhB,qB1BHgB;AH6uFlB;;A6BvuFE;EACE,W1BfW;EoBMX,yBMJ0C;EAe1C,qBAdiC;A7BwvFrC;;A6BvuFE;EAEE,W1BtBW;EoBMX,yBMJ0C;EAsB1C,qBArBiC;EA0B/B,8CAAiE;A7BquFvE;;A6BhuFE;EAEE,W1BpCW;E0BqCX,yB1B7Bc;E0B8Bd,qB1B9Bc;AHgwFlB;;A6B3tFE;;EAGE,W1BhDW;E0BiDX,yBA5C0C;EAgD1C,qBA/CoC;A7BywFxC;;A6BxtFI;;EAKI,8CAAiE;A7BwtFzE;;A4BvtFE;ECYA,c1B5Ce;E0B6Cf,qB1B7Ce;AH4vFjB;;A6B7sFE;EACE,W1B7EW;E0B8EX,yB1BjDa;E0BkDb,qB1BlDa;AHkwFjB;;A6B7sFE;EAEE,gD1BvDa;AHswFjB;;A6B5sFE;EAEE,c1B5Da;E0B6Db,6BAA6B;A7B8sFjC;;A6B3sFE;;EAGE,W1BhGW;E0BiGX,yB1BpEa;E0BqEb,qB1BrEa;AHkxFjB;;A6B3sFI;;EAKI,gD1B5ES;AHuxFjB;;A4BvvFE;ECYA,c1BnEgB;E0BoEhB,qB1BpEgB;AHmzFlB;;A6B7uFE;EACE,W1B7EW;E0B8EX,yB1BxEc;E0ByEd,qB1BzEc;AHyzFlB;;A6B7uFE;EAEE,iD1B9Ec;AH6zFlB;;A6B5uFE;EAEE,c1BnFc;E0BoFd,6BAA6B;A7B8uFjC;;A6B3uFE;;EAGE,W1BhGW;E0BiGX,yB1B3Fc;E0B4Fd,qB1B5Fc;AHy0FlB;;A6B3uFI;;EAKI,iD1BnGU;AH80FlB;;A4BvxFE;ECYA,c1BrCe;E0BsCf,qB1BtCe;AHqzFjB;;A6B7wFE;EACE,W1B7EW;E0B8EX,yB1B1Ca;E0B2Cb,qB1B3Ca;AH2zFjB;;A6B7wFE;EAEE,+C1BhDa;AH+zFjB;;A6B5wFE;EAEE,c1BrDa;E0BsDb,6BAA6B;A7B8wFjC;;A6B3wFE;;EAGE,W1BhGW;E0BiGX,yB1B7Da;E0B8Db,qB1B9Da;AH20FjB;;A6B3wFI;;EAKI,+C1BrES;AHg1FjB;;A4BvzFE;ECYA,c1BnCe;E0BoCf,qB1BpCe;AHm1FjB;;A6B7yFE;EACE,W1B7EW;E0B8EX,yB1BxCa;E0ByCb,qB1BzCa;AHy1FjB;;A6B7yFE;EAEE,gD1B9Ca;AH61FjB;;A6B5yFE;EAEE,c1BnDa;E0BoDb,6BAA6B;A7B8yFjC;;A6B3yFE;;EAGE,W1BhGW;E0BiGX,yB1B3Da;E0B4Db,qB1B5Da;AHy2FjB;;A6B3yFI;;EAKI,gD1BnES;AH82FjB;;A4Bv1FE;ECYA,c1BtCe;E0BuCf,qB1BvCe;AHs3FjB;;A6B70FE;EACE,c1BpEc;E0BqEd,yB1B3Ca;E0B4Cb,qB1B5Ca;AH43FjB;;A6B70FE;EAEE,+C1BjDa;AHg4FjB;;A6B50FE;EAEE,c1BtDa;E0BuDb,6BAA6B;A7B80FjC;;A6B30FE;;EAGE,c1BvFc;E0BwFd,yB1B9Da;E0B+Db,qB1B/Da;AH44FjB;;A6B30FI;;EAKI,+C1BtES;AHi5FjB;;A4Bv3FE;ECYA,c1BxCe;E0ByCf,qB1BzCe;AHw5FjB;;A6B72FE;EACE,W1B7EW;E0B8EX,yB1B7Ca;E0B8Cb,qB1B9Ca;AH85FjB;;A6B72FE;EAEE,+C1BnDa;AHk6FjB;;A6B52FE;EAEE,c1BxDa;E0ByDb,6BAA6B;A7B82FjC;;A6B32FE;;EAGE,W1BhGW;E0BiGX,yB1BhEa;E0BiEb,qB1BjEa;AH86FjB;;A6B32FI;;EAKI,+C1BxES;AHm7FjB;;A4Bv5FE;ECYA,c1BxEgB;E0ByEhB,qB1BzEgB;AHw9FlB;;A6B74FE;EACE,c1BpEc;E0BqEd,yB1B7Ec;E0B8Ed,qB1B9Ec;AH89FlB;;A6B74FE;EAEE,iD1BnFc;AHk+FlB;;A6B54FE;EAEE,c1BxFc;E0ByFd,6BAA6B;A7B84FjC;;A6B34FE;;EAGE,c1BvFc;E0BwFd,yB1BhGc;E0BiGd,qB1BjGc;AH8+FlB;;A6B34FI;;EAKI,iD1BxGU;AHm/FlB;;A4Bv7FE;ECYA,c1BjEgB;E0BkEhB,qB1BlEgB;AHi/FlB;;A6B76FE;EACE,W1B7EW;E0B8EX,yB1BtEc;E0BuEd,qB1BvEc;AHu/FlB;;A6B76FE;EAEE,8C1B5Ec;AH2/FlB;;A6B56FE;EAEE,c1BjFc;E0BkFd,6BAA6B;A7B86FjC;;A6B36FE;;EAGE,W1BhGW;E0BiGX,yB1BzFc;E0B0Fd,qB1B1Fc;AHugGlB;;A6B36FI;;EAKI,8C1BjGU;AH4gGlB;;A4B58FA;EACE,gBzB+T+B;EyB9T/B,czB7Ce;EyB8Cf,qBzBwL4C;AHuxF9C;;A4Bl9FA;EAMI,czBsL8D;EyBrL9D,0BzBsL+C;AH0xFnD;;A4Bv9FA;EAYI,0BzBiL+C;EyBhL/C,gBAAgB;A5B+8FpB;;A4B59FA;EAkBI,czBpFc;EyBqFd,oBAAoB;A5B88FxB;;A4Bn8FA;ECWE,oB1BuZgC;ECrY5B,kBAAW;ECrIb,qBF0U+B;AHuuFnC;;A4Br8FA;ECOE,uB1BmZiC;ECjY7B,mBAAW;ECrIb,qBF2U+B;AH4uFnC;;A4Bl8FA;EACE,cAAc;EACd,WAAW;A5Bq8Fb;;A4Bv8FA;EAMI,kBzBqb+B;AHghFnC;;A8BrkGA;EXMM,gChB2V2C;AHwuFjD;;AmB9jGI;EWXJ;IXYM,gBAAgB;EnBkkGpB;AACF;;A8B/kGA;EAII,UAAU;A9B+kGd;;A8B3kGA;EAEI,aAAa;A9B6kGjB;;A8BzkGA;EACE,SAAS;EACT,gBAAgB;EXVZ,6BhB4VwC;AH2vF9C;;AmBllGI;EWGJ;IXFM,gBAAgB;EnBslGpB;AACF;;A+BlmGA;;;;EAIE,kBAAkB;A/BqmGpB;;A0Bt7FqE;EK3KnE,mBAAmB;A/BqmGrB;;AgCjlGI;EACE,qBAAqB;EACrB,oB7B+T0C;E6B9T1C,uB7B6T0C;E6B5T1C,WAAW;EAhCf,uBAA8B;EAC9B,qCAA4C;EAC5C,gBAAgB;EAChB,oCAA2C;AhCqnG7C;;AgChkGI;EACE,cAAc;AhCmkGpB;;A+B7mGA;EACE,kBAAkB;EAClB,SAAS;EACT,OAAO;EACP,a5BixBsC;E4BhxBtC,aAAa;EACb,gB5Bq1BuC;E4Bp1BvC,iBAA8B;EAC9B,oBAA4B;E3BkHxB,eAAW;E2BhHf,c5BVgB;E4BWhB,gBAAgB;EAChB,gBAAgB;EAChB,sB5BtBa;E4BuBb,4BAA4B;EAC5B,qC5Bda;EEZX,sBFyUgC;AHk0FpC;;A+BxmGI;EACE,WAAW;EACX,OAAO;A/B2mGb;;A+BxmGI;EACE,QAAQ;EACR,UAAU;A/B2mGhB;;AY3lGI;EmBvBA;IACE,WAAW;IACX,OAAO;E/BsnGX;E+BnnGE;IACE,QAAQ;IACR,UAAU;E/BqnGd;AACF;;AYtmGI;EmBvBA;IACE,WAAW;IACX,OAAO;E/BioGX;E+B9nGE;IACE,QAAQ;IACR,UAAU;E/BgoGd;AACF;;AYjnGI;EmBvBA;IACE,WAAW;IACX,OAAO;E/B4oGX;E+BzoGE;IACE,QAAQ;IACR,UAAU;E/B2oGd;AACF;;AY5nGI;EmBvBA;IACE,WAAW;IACX,OAAO;E/BupGX;E+BppGE;IACE,QAAQ;IACR,UAAU;E/BspGd;AACF;;A+BhpGA;EAEI,SAAS;EACT,YAAY;EACZ,aAAa;EACb,uB5BkzBuC;AHg2E3C;;AgChrGI;EACE,qBAAqB;EACrB,oB7B+T0C;E6B9T1C,uB7B6T0C;E6B5T1C,WAAW;EAzBf,aAAa;EACb,qCAA4C;EAC5C,0BAAiC;EACjC,oCAA2C;AhC6sG7C;;AgC/pGI;EACE,cAAc;AhCkqGpB;;A+BzpGA;EAEI,MAAM;EACN,WAAW;EACX,UAAU;EACV,aAAa;EACb,qB5BoyBuC;AHu3E3C;;AgCvsGI;EACE,qBAAqB;EACrB,oB7B+T0C;E6B9T1C,uB7B6T0C;E6B5T1C,WAAW;EAlBf,mCAA0C;EAC1C,eAAe;EACf,sCAA6C;EAC7C,wBAA+B;AhC6tGjC;;AgCtrGI;EACE,cAAc;AhCyrGpB;;AgCttGI;EDkDE,iBAAiB;A/BwqGvB;;A+BnqGA;EAEI,MAAM;EACN,WAAW;EACX,UAAU;EACV,aAAa;EACb,sB5BmxBuC;AHk5E3C;;AgCluGI;EACE,qBAAqB;EACrB,oB7B+T0C;E6B9T1C,uB7B6T0C;E6B5T1C,WAAW;AhCquGjB;;AgCzuGI;EAgBI,aAAa;AhC6tGrB;;AgC1tGM;EACE,qBAAqB;EACrB,qB7B4SwC;E6B3SxC,uB7B0SwC;E6BzSxC,WAAW;EA9BjB,mCAA0C;EAC1C,yBAAgC;EAChC,sCAA6C;AhC4vG/C;;AgC3tGI;EACE,cAAc;AhC8tGpB;;AgCxuGM;EDgDA,iBAAiB;A/B4rGvB;;A+BrrGA;EAKI,WAAW;EACX,YAAY;A/BorGhB;;A+B/qGA;EACE,SAAS;EACT,gBAAoC;EACpC,gBAAgB;EAChB,6B5B7GgB;AH+xGlB;;A+B5qGA;EACE,cAAc;EACd,WAAW;EACX,uB5BowBwC;E4BnwBxC,WAAW;EACX,gB5B8Q+B;E4B7Q/B,c5BlHgB;E4BmHhB,mBAAmB;EACnB,mBAAmB;EACnB,6BAA6B;EAC7B,SAAS;A/B+qGX;;A+BzrGA;EA0BI,c5BouBqD;E4BnuBrD,qBAAqB;ER1IrB,yBpBLc;AHmzGlB;;A+B/rGA;EAiCI,W5BtJW;E4BuJX,qBAAqB;ERjJrB,yBpBuBa;AH6xGjB;;A+BrsGA;EAwCI,c5BvJc;E4BwJd,oBAAoB;EACpB,6BAA6B;A/BiqGjC;;A+BzpGA;EACE,cAAc;A/B4pGhB;;A+BxpGA;EACE,cAAc;EACd,sB5B8sBwC;E4B7sBxC,gBAAgB;E3B5CZ,mBAAW;E2B8Cf,c5B3KgB;E4B4KhB,mBAAmB;A/B2pGrB;;A+BvpGA;EACE,cAAc;EACd,uB5BosBwC;E4BnsBxC,c5BhLgB;AH00GlB;;AiCv1GA;;EAEE,kBAAkB;EAClB,oBAAoB;EACpB,sBAAsB;AjC01GxB;;AiC91GA;;EAOI,kBAAkB;EAClB,cAAc;AjC41GlB;;AiCp2GA;;;;;EAgBM,UAAU;AjC41GhB;;AiCt1GA;EACE,aAAa;EACb,eAAe;EACf,2BAA2B;AjCy1G7B;;AiC51GA;EAMI,WAAW;AjC01Gf;;AiCt1GA;;EAII,iB9BoS6B;AHmjGjC;;AiC31GA;;E5BdI,0B4BwB8B;E5BvB9B,6B4BuB8B;AjCu1GlC;;AiCj2GA;;E5BAI,yB4Be6B;E5Bd7B,4B4Bc6B;AjCw1GjC;;AiCx0GA;EACE,wBAAmC;EACnC,uBAAkC;AjC20GpC;;AiC70GA;;;EAOI,cAAc;AjC40GlB;;AiCz0GE;EACE,eAAe;AjC40GnB;;AiCx0GA;EACE,uBAAsC;EACtC,sBAAqC;AjC20GvC;;AiCx0GA;EACE,sBAAsC;EACtC,qBAAqC;AjC20GvC;;AiCvzGA;EACE,sBAAsB;EACtB,uBAAuB;EACvB,uBAAuB;AjC0zGzB;;AiC7zGA;;EAOI,WAAW;AjC2zGf;;AiCl0GA;;EAYI,gB9BmN6B;AHwmGjC;;AiCv0GA;;E5BhFI,6B4BkG+B;E5BjG/B,4B4BiG+B;AjC2zGnC;;AiC70GA;;E5B9FI,yB4BqH4B;E5BpH5B,0B4BoH4B;AjC4zGhC;;AiC3yGA;;EAGI,gBAAgB;AjC6yGpB;;AiChzGA;;;;EAOM,kBAAkB;EAClB,sBAAsB;EACtB,oBAAoB;AjCgzG1B;;AkCx8GA;EACE,aAAa;EACb,eAAe;EACf,eAAe;EACf,gBAAgB;EAChB,gBAAgB;AlC28GlB;;AkCx8GA;EACE,cAAc;EACd,oB/BkyBsC;AHyqFxC;;AkC78GA;EAMI,qBAAqB;AlC28GzB;;AkCj9GA;EAWI,c/BXc;E+BYd,oBAAoB;EACpB,eAAe;AlC08GnB;;AkCl8GA;EACE,gC/BzBgB;AH89GlB;;AkCt8GA;EAII,mB/BqS6B;AHiqGjC;;AkC18GA;EAQI,6BAAgD;E7B5BhD,+BFgUgC;EE/ThC,gCF+TgC;AHoqGpC;;AkCh9GA;EAaM,qC/BrCY;AH4+GlB;;AkCp9GA;EAiBM,c/BtCY;E+BuCZ,6BAA6B;EAC7B,yBAAyB;AlCu8G/B;;AkC19GA;;EAyBI,c/B7Cc;E+B8Cd,sB/BrDW;E+BsDX,kC/BtDW;AH4/Gf;;AkCj+GA;EAgCI,gB/ByQ6B;EE7T7B,yB6BsD4B;E7BrD5B,0B6BqD4B;AlCq8GhC;;AkC57GA;E7BxEI,sBFyUgC;AH+rGpC;;AkCh8GA;;EAOI,W/B7EW;E+B8EX,yB/BjDa;AH++GjB;;AkCr7GA;EAEI,cAAc;EACd,kBAAkB;AlCu7GtB;;AkCn7GA;EAEI,aAAa;EACb,YAAY;EACZ,kBAAkB;AlCq7GtB;;AkC56GA;EAEI,aAAa;AlC86GjB;;AkCh7GA;EAKI,cAAc;AlC+6GlB;;AmCthHA;EACE,kBAAkB;EAClB,aAAa;EACb,eAAe;EACf,mBAAmB;EACnB,8BAA8B;EAC9B,mBhC6yB6C;EgC3yB7C,sBhC2yB6C;AH6uF/C;;AmChiHA;;EAcI,aAAa;EACb,eAAe;EACf,mBAAmB;EACnB,8BAA8B;AnCuhHlC;;AmCngHA;EACE,qBAAqB;EACrB,sBhCqxB+E;EgCpxB/E,yBhCoxB+E;EClsB3E,kBAAW;E+B/Ef,oBAAoB;EACpB,mBAAmB;AnCqgHrB;;AmC5gHA;EAWI,qBAAqB;AnCqgHzB;;AmC5/GA;EACE,aAAa;EACb,sBAAsB;EACtB,eAAe;EACf,gBAAgB;EAChB,gBAAgB;AnC+/GlB;;AmCpgHA;EAQI,gBAAgB;EAChB,eAAe;AnCggHnB;;AmCzgHA;EAaI,gBAAgB;AnCggHpB;;AmCv/GA;EACE,qBAAqB;EACrB,mBhC+sBuC;EgC9sBvC,sBhC8sBuC;AH4yFzC;;AmC9+GA;EACE,gBAAgB;EAChB,YAAY;EAGZ,mBAAmB;AnC++GrB;;AmC3+GA;EACE,wBhCutBwC;ECrsBpC,kBAAW;E+BhBf,cAAc;EACd,6BAA6B;EAC7B,6BAAuC;E9BvHrC,sBFyUgC;AH6xGpC;;AmCp/GA;EAUI,qBAAqB;AnC8+GzB;;AmCx+GA;EACE,qBAAqB;EACrB,YAAY;EACZ,aAAa;EACb,sBAAsB;EACtB,WAAW;EACX,mCAAmC;EACnC,0BAA0B;AnC2+G5B;;AY1jHI;EuByFA;IAEI,qBAAqB;IACrB,2BAA2B;EnCo+GjC;EmCv+GG;IAMK,mBAAmB;EnCo+G3B;EmC1+GG;IASO,kBAAkB;EnCo+G5B;EmC7+GG;IAaO,qBhCiqB6B;IgChqB7B,oBhCgqB6B;EHm0FvC;EmCj/GG;;IAoBK,iBAAiB;EnCi+GzB;EmCr/GG;IAmCK,wBAAwB;IAGxB,gBAAgB;EnCm9GxB;EmCz/GG;IA0CK,aAAa;EnCk9GrB;AACF;;AYtlHI;EuByFA;IAEI,qBAAqB;IACrB,2BAA2B;EnCggHjC;EmCngHG;IAMK,mBAAmB;EnCggH3B;EmCtgHG;IASO,kBAAkB;EnCggH5B;EmCzgHG;IAaO,qBhCiqB6B;IgChqB7B,oBhCgqB6B;EH+1FvC;EmC7gHG;;IAoBK,iBAAiB;EnC6/GzB;EmCjhHG;IAmCK,wBAAwB;IAGxB,gBAAgB;EnC++GxB;EmCrhHG;IA0CK,aAAa;EnC8+GrB;AACF;;AYlnHI;EuByFA;IAEI,qBAAqB;IACrB,2BAA2B;EnC4hHjC;EmC/hHG;IAMK,mBAAmB;EnC4hH3B;EmCliHG;IASO,kBAAkB;EnC4hH5B;EmCriHG;IAaO,qBhCiqB6B;IgChqB7B,oBhCgqB6B;EH23FvC;EmCziHG;;IAoBK,iBAAiB;EnCyhHzB;EmC7iHG;IAmCK,wBAAwB;IAGxB,gBAAgB;EnC2gHxB;EmCjjHG;IA0CK,aAAa;EnC0gHrB;AACF;;AY9oHI;EuByFA;IAEI,qBAAqB;IACrB,2BAA2B;EnCwjHjC;EmC3jHG;IAMK,mBAAmB;EnCwjH3B;EmC9jHG;IASO,kBAAkB;EnCwjH5B;EmCjkHG;IAaO,qBhCiqB6B;IgChqB7B,oBhCgqB6B;EHu5FvC;EmCrkHG;;IAoBK,iBAAiB;EnCqjHzB;EmCzkHG;IAmCK,wBAAwB;IAGxB,gBAAgB;EnCuiHxB;EmC7kHG;IA0CK,aAAa;EnCsiHrB;AACF;;AmCtlHA;EAOQ,qBAAqB;EACrB,2BAA2B;AnCmlHnC;;AmC3lHA;EAWU,mBAAmB;AnColH7B;;AmC/lHA;EAcY,kBAAkB;AnCqlH9B;;AmCnmHA;EAkBY,qBhCiqB6B;EgChqB7B,oBhCgqB6B;AHq7FzC;;AmCxmHA;;EAyBU,iBAAiB;AnColH3B;;AmC7mHA;EAwCU,wBAAwB;EAGxB,gBAAgB;AnCukH1B;;AmClnHA;EA+CU,aAAa;AnCukHvB;;AmC1jHA;EAEI,yBhChMW;AH4vHf;;AmC9jHA;EAMM,yBhCpMS;AHgwHf;;AmClkHA;EAYM,yBhC1MS;AHowHf;;AmCtkHA;EAgBQ,yBhC9MO;AHwwHf;;AmC1kHA;EAoBQ,yBhClNO;AH4wHf;;AmC9kHA;;;;EA4BM,yBhC1NS;AHmxHf;;AmCrlHA;EAiCI,yBhC/NW;EgCgOX,gChChOW;AHwxHf;;AmC1lHA;EAsCI,wPnBlLuI;AhB0uH3I;;AmC9lHA;EA0CI,yBhCxOW;AHgyHf;;AmClmHA;;;EA+CM,yBhC7OS;AHsyHf;;AmCnjHA;EAEI,WhC/PW;AHozHf;;AmCvjHA;EAMM,WhCnQS;AHwzHf;;AmC3jHA;EAYM,+BhCzQS;AH4zHf;;AmC/jHA;EAgBQ,gChC7QO;AHg0Hf;;AmCnkHA;EAoBQ,gChCjRO;AHo0Hf;;AmCvkHA;;;;EA4BM,WhCzRS;AH20Hf;;AmC9kHA;EAiCI,+BhC9RW;EgC+RX,sChC/RW;AHg1Hf;;AmCnlHA;EAsCI,8PnBvOuI;AhBwxH3I;;AmCvlHA;EA0CI,+BhCvSW;AHw1Hf;;AmC3lHA;;;EA8CM,WhC3SS;AH81Hf;;AoCj2HA;EACE,kBAAkB;EAClB,aAAa;EACb,sBAAsB;EACtB,YAAY;EAEZ,qBAAqB;EACrB,sBjCJa;EiCKb,2BAA2B;EAC3B,sCjCIa;EEZX,sBFyUgC;AHmiHpC;;AoC72HA;EAaI,eAAe;EACf,cAAc;ApCo2HlB;;AoCl3HA;E/BUI,+BFgUgC;EE/ThC,gCF+TgC;AH6iHpC;;AoCv3HA;E/BwBI,mCFkTgC;EEjThC,kCFiTgC;AHkjHpC;;AoC91HA;EAGE,cAAc;EAGd,eAAe;EACf,gBjCk4ByC;AH29F3C;;AoCz1HA;EACE,sBjC43BwC;AHg+F1C;;AoCz1HA;EACE,qBAA+B;EAC/B,gBAAgB;ApC41HlB;;AoCz1HA;EACE,gBAAgB;ApC41HlB;;AoCz1HA;EAEI,qBAAqB;ApC21HzB;;AoC71HA;EAMI,oBjC22BuC;AHg/F3C;;AoCn1HA;EACE,wBjCk2ByC;EiCj2BzC,gBAAgB;EAEhB,qCjC3Da;EiC4Db,6CjC5Da;AHi5Hf;;AoC11HA;E/BnEI,0D+B2E8E;ApCs1HlF;;AoC91HA;EAaM,aAAa;ApCq1HnB;;AoCh1HA;EACE,wBjCg1ByC;EiC/0BzC,qCjC3Ea;EiC4Eb,0CjC5Ea;AH+5Hf;;AoCt1HA;E/BrFI,0DW4I4D;AhBmyHhE;;AoC30HA;EACE,uBAAiC;EACjC,uBjC+zBwC;EiC9zBxC,sBAAgC;EAChC,gBAAgB;ApC80HlB;;AoCp0HA;EACE,uBAAiC;EACjC,sBAAgC;ApCu0HlC;;AoCn0HA;EACE,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,SAAS;EACT,OAAO;EACP,gBjCmzByC;AHmhG3C;;AoCn0HA;;;EAGE,cAAc;EACd,WAAW;ApCs0Hb;;AoCn0HA;;E/B/HI,2CWmI4D;EXlI5D,4CWkI4D;AhBq0HhE;;AoCp0HA;;E/BtHI,+CWqH4D;EXpH5D,8CWoH4D;AhB20HhE;;AoCl0HA;EAEI,mBjC4xBsD;AHwiG1D;;AYj6HI;EwB2FJ;IAMI,aAAa;IACb,mBAAmB;IACnB,mBjCsxBsD;IiCrxBtD,kBjCqxBsD;EHgjGxD;EoC90HF;IAaM,YAAY;IACZ,kBjCgxBoD;IiC/wBpD,gBAAgB;IAChB,iBjC8wBoD;EHsjGxD;AACF;;AoC3zHA;EAII,mBjCgwBsD;AH2jG1D;;AYp7HI;EwBqHJ;IAQI,aAAa;IACb,mBAAmB;EpC4zHrB;EoCr0HF;IAcM,YAAY;IACZ,gBAAgB;EpC0zHpB;EoCz0HF;IAkBQ,cAAc;IACd,cAAc;EpC0zHpB;EoC70HF;I/B/JI,0B+BwLoC;I/BvLpC,6B+BuLoC;EpCwzHtC;EoCj1HF;;IA8BY,0BAA0B;EpCuzHpC;EoCr1HF;;IAmCY,6BAA6B;EpCszHvC;EoCz1HF;I/BjJI,yB+ByLmC;I/BxLnC,4B+BwLmC;EpCqzHrC;EoC71HF;;IA6CY,yBAAyB;EpCozHnC;EoCj2HF;;IAkDY,4BAA4B;EpCmzHtC;AACF;;AoCvyHA;EAEI,gBAAgB;ApCyyHpB;;AoC3yHA;EAKM,gBAAgB;E/B5NlB,6B+B6NiC;E/B5NjC,4B+B4NiC;ApC2yHrC;;AoCjzHA;E/BrOI,yB+B+O8B;E/B9O9B,0B+B8O8B;ApC4yHlC;;AoCtzHA;E/B9OI,gB+B4P0B;EACxB,mBjCyE2B;AHmuHjC;;AqC9iIA;EACE,aAAa;EACb,eAAe;EACf,qBlCgoCsC;EkC/nCtC,mBlCkoCsC;EkChoCtC,gBAAgB;EAChB,yBlCEgB;EEJd,sBFyUgC;AH0uHpC;;AqC7iIA;EAGI,oBlCsnCqC;AHw7FzC;;AqCjjIA;EAMM,qBAAqB;EACrB,qBlCknCmC;EkCjnCnC,clCNY;EkCOZ,YlCunCuC;AHw7F7C;;AqCxjIA;EAoBI,0BAA0B;ArCwiI9B;;AqC5jIA;EAwBI,qBAAqB;ArCwiIzB;;AqChkIA;EA4BI,clC1Bc;AHkkIlB;;AsC/kIA;EACE,aAAa;E/BGb,eAAe;EACf,gBAAgB;APglIlB;;AsChlIA;EACE,kBAAkB;EAClB,cAAc;EACd,cnC4Be;EmC3Bf,sBnCFa;EmCGb,yBnCAgB;AHmlIlB;;AsCxlIA;EAQI,UAAU;EACV,cnC6P8D;EmC5P9D,qBAAqB;EACrB,yBnCPc;EmCQd,qBnCPc;AH2lIlB;;AsChmIA;EAgBI,UAAU;EACV,UnCm4BiC;EmCl4BjC,iDnCaa;AHukIjB;;AsChlIA;EAEI,iBnC8S6B;AHoyHjC;;AsCplIA;EAMI,UAAU;EACV,WnC3BW;EmC4BX,yBnCCa;EmCAb,qBnCAa;AHklIjB;;AsC3lIA;EAaI,cnC3Bc;EmC4Bd,oBAAoB;EAEpB,YAAY;EACZ,sBnCrCW;EmCsCX,qBnCnCc;AHonIlB;;AsCznIA;ECDI,yBpCu4BsC;AHuvG1C;;AuC1nIE;ElC2BE,+BF2SgC;EE1ShC,kCF0SgC;AHyzHpC;;AuC/nIE;ElCaE,gCFyTgC;EExThC,mCFwTgC;AH8zHpC;;AuCzoIE;EACE,uBpC24BsC;ECrwBpC,kBAAW;AJugIjB;;AuCtoIQ;ElCwBJ,8BF4S+B;EE3S/B,iCF2S+B;AHu0HnC;;AuCroIQ;ElCIJ,+BF0T+B;EEzT/B,kCFyT+B;AH40HnC;;AuCxpIE;EACE,uBpCy4BqC;ECnwBnC,mBAAW;AJshIjB;;AuCrpIQ;ElCwBJ,8BF6S+B;EE5S/B,iCF4S+B;AHq1HnC;;AuCppIQ;ElCIJ,+BF2T+B;EE1T/B,kCF0T+B;AH01HnC;;AwCrqIA;EACE,qBAAqB;EACrB,qBrCigCsC;EC94BpC,iBAAW;EoCjHb,gBrCuY+B;EqCtY/B,cAAc;EACd,WrCJa;EqCKb,kBAAkB;EAClB,mBAAmB;EACnB,wBAAwB;EnCTtB,sBFyUgC;AHy2HpC;;AwClrIA;EAcI,aAAa;AxCwqIjB;;AwCnqIA;EACE,kBAAkB;EAClB,SAAS;AxCsqIX;;AyC5rIA;EACE,kBAAkB;EAClB,wBtCsjCyC;EsCrjCzC,mBtCsjCsC;EsCrjCtC,6BAA6C;EpCH3C,sBFyUgC;AH03HpC;;AyC3rIA;EAEE,cAAc;AzC6rIhB;;AyCzrIA;EACE,gBtC4X+B;AHg0HjC;;AyCprIA;EACE,mBAAsD;AzCurIxD;;AyCxrIA;EAKI,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,wBtCwhCuC;EsCvhCvC,cAAc;AzCurIlB;;AyC7qIE;EC9CA,c1BmGgE;EOvF9D,yBPuF8D;E0BjGhE,qB1BiGgE;AhB8nIlE;;A0C7tIE;EACE,cAA0B;A1CguI9B;;AyCvrIE;EC9CA,c1BmGgE;EOvF9D,yBPuF8D;E0BjGhE,qB1BiGgE;AhBwoIlE;;A0CvuIE;EACE,cAA0B;A1C0uI9B;;AyCjsIE;EC9CA,c1BmGgE;EOvF9D,yBPuF8D;E0BjGhE,qB1BiGgE;AhBkpIlE;;A0CjvIE;EACE,cAA0B;A1CovI9B;;AyC3sIE;EC9CA,c1BmGgE;EOvF9D,yBPuF8D;E0BjGhE,qB1BiGgE;AhB4pIlE;;A0C3vIE;EACE,cAA0B;A1C8vI9B;;AyCrtIE;EC9CA,c1BmGgE;EOvF9D,yBPuF8D;E0BjGhE,qB1BiGgE;AhBsqIlE;;A0CrwIE;EACE,cAA0B;A1CwwI9B;;AyC/tIE;EC9CA,c1BmGgE;EOvF9D,yBPuF8D;E0BjGhE,qB1BiGgE;AhBgrIlE;;A0C/wIE;EACE,cAA0B;A1CkxI9B;;AyCzuIE;EC9CA,c1BmGgE;EOvF9D,yBPuF8D;E0BjGhE,qB1BiGgE;AhB0rIlE;;A0CzxIE;EACE,cAA0B;A1C4xI9B;;AyCnvIE;EC9CA,c1BmGgE;EOvF9D,yBPuF8D;E0BjGhE,qB1BiGgE;AhBosIlE;;A0CnyIE;EACE,cAA0B;A1CsyI9B;;A2C1yIE;EACE;IAAK,2BxCskC+B;EHwuGtC;AACF;;A2ChzIE;EACE;IAAK,2BxCskC+B;EHwuGtC;AACF;;A2C3yIA;EACE,aAAa;EACb,YxCgkCsC;EwC/jCtC,gBAAgB;EvCgIZ,kBAAW;EuC9Hf,yBxCHgB;EEJd,sBFyUgC;AH6+HpC;;A2C1yIA;EACE,aAAa;EACb,sBAAsB;EACtB,uBAAuB;EACvB,gBAAgB;EAChB,WxCfa;EwCgBb,kBAAkB;EAClB,mBAAmB;EACnB,yBxCWe;EgB9BX,2BhB2kC4C;AHsvGlD;;AmB5zII;EwBMJ;IxBLM,gBAAgB;EnBg0IpB;AACF;;A2ChzIA;EpBqBE,qMAA6I;EoBnB7I,0BxC0iCsC;AHywGxC;;A2C/yIE;EACE,0DxC4iCkD;EwC5iClD,kDxC4iCkD;AHswGtD;;A2C/yIM;EAJJ;IAKM,uBAAe;IAAf,eAAe;E3CmzIrB;AACF;;A4Cx1IA;EACE,aAAa;EACb,sBAAsB;EAGtB,eAAe;EACf,gBAAgB;A5Cy1IlB;;A4Ch1IA;EACE,WAAW;EACX,czCPgB;EyCQhB,mBAAmB;A5Cm1IrB;;A4Ct1IA;EAQI,UAAU;EACV,czCdc;EyCed,qBAAqB;EACrB,yBzCtBc;AHw2IlB;;A4C71IA;EAeI,czClBc;EyCmBd,yBzC1Bc;AH42IlB;;A4Cz0IA;EACE,kBAAkB;EAClB,cAAc;EACd,wBzC8iCyC;EyC7iCzC,gBAAgB;EAEhB,sBzC3Ca;EyC4Cb,sCzClCa;AH62If;;A4Cl1IA;EvC9BI,+BFgUgC;EE/ThC,gCF+TgC;AHqjIpC;;A4Cv1IA;EvChBI,mCFkTgC;EEjThC,kCFiTgC;AH0jIpC;;A4C51IA;EAmBI,czClDc;EyCmDd,oBAAoB;EACpB,sBzC1DW;AHu4If;;A4Cl2IA;EA0BI,UAAU;EACV,WzChEW;EyCiEX,yBzCpCa;EyCqCb,qBzCrCa;AHi3IjB;;A4Cz2IA;EAiCI,mBAAmB;A5C40IvB;;A4C72IA;EAoCM,gBzC2P2B;EyC1P3B,qBzC0P2B;AHmlIjC;;A4C/zII;EACE,mBAAmB;A5Ck0IzB;;A4Cn0II;EvCnCA,kCFkRgC;EE9RhC,0BuCqDwC;A5Ck0I5C;;A4Cx0II;EvC/CA,gCF8RgC;EElRhC,4BuC8C0C;A5Ck0I9C;;A4C70II;EAeM,aAAa;A5Ck0IvB;;A4Cj1II;EAmBM,qBzCyNuB;EyCxNvB,oBAAoB;A5Ck0I9B;;A4Ct1II;EAuBQ,iBzCqNqB;EyCpNrB,sBzCoNqB;AH+mIjC;;AY33II;EgCgCA;IACE,mBAAmB;E5C+1IvB;E4Ch2IE;IvCnCA,kCFkRgC;IE9RhC,0BuCqDwC;E5C81I1C;E4Cp2IE;IvC/CA,gCF8RgC;IElRhC,4BuC8C0C;E5C61I5C;E4Cx2IE;IAeM,aAAa;E5C41IrB;E4C32IE;IAmBM,qBzCyNuB;IyCxNvB,oBAAoB;E5C21I5B;E4C/2IE;IAuBQ,iBzCqNqB;IyCpNrB,sBzCoNqB;EHuoI/B;AACF;;AYp5II;EgCgCA;IACE,mBAAmB;E5Cw3IvB;E4Cz3IE;IvCnCA,kCFkRgC;IE9RhC,0BuCqDwC;E5Cu3I1C;E4C73IE;IvC/CA,gCF8RgC;IElRhC,4BuC8C0C;E5Cs3I5C;E4Cj4IE;IAeM,aAAa;E5Cq3IrB;E4Cp4IE;IAmBM,qBzCyNuB;IyCxNvB,oBAAoB;E5Co3I5B;E4Cx4IE;IAuBQ,iBzCqNqB;IyCpNrB,sBzCoNqB;EHgqI/B;AACF;;AY76II;EgCgCA;IACE,mBAAmB;E5Ci5IvB;E4Cl5IE;IvCnCA,kCFkRgC;IE9RhC,0BuCqDwC;E5Cg5I1C;E4Ct5IE;IvC/CA,gCF8RgC;IElRhC,4BuC8C0C;E5C+4I5C;E4C15IE;IAeM,aAAa;E5C84IrB;E4C75IE;IAmBM,qBzCyNuB;IyCxNvB,oBAAoB;E5C64I5B;E4Cj6IE;IAuBQ,iBzCqNqB;IyCpNrB,sBzCoNqB;EHyrI/B;AACF;;AYt8II;EgCgCA;IACE,mBAAmB;E5C06IvB;E4C36IE;IvCnCA,kCFkRgC;IE9RhC,0BuCqDwC;E5Cy6I1C;E4C/6IE;IvC/CA,gCF8RgC;IElRhC,4BuC8C0C;E5Cw6I5C;E4Cn7IE;IAeM,aAAa;E5Cu6IrB;E4Ct7IE;IAmBM,qBzCyNuB;IyCxNvB,oBAAoB;E5Cs6I5B;E4C17IE;IAuBQ,iBzCqNqB;IyCpNrB,sBzCoNqB;EHktI/B;AACF;;A4Cz5IA;EAEI,qBAAqB;EACrB,oBAAoB;EvCnIpB,gBuCoIwB;A5C25I5B;;A4C/5IA;EAOM,mBAAmB;A5C45IzB;;A4Cn6IA;EAaM,sBAAsB;A5C05I5B;;A6CziJE;EACE,c7BgG8D;E6B/F9D,yB7B+F8D;AhB68IlE;;A6C9iJE;EAOM,c7B0F0D;E6BzF1D,yBAAyC;A7C2iJjD;;A6CnjJE;EAYM,W1CRO;E0CSP,yB7BoF0D;E6BnF1D,qB7BmF0D;AhBw9IlE;;A6CzjJE;EACE,c7BgG8D;E6B/F9D,yB7B+F8D;AhB69IlE;;A6C9jJE;EAOM,c7B0F0D;E6BzF1D,yBAAyC;A7C2jJjD;;A6CnkJE;EAYM,W1CRO;E0CSP,yB7BoF0D;E6BnF1D,qB7BmF0D;AhBw+IlE;;A6CzkJE;EACE,c7BgG8D;E6B/F9D,yB7B+F8D;AhB6+IlE;;A6C9kJE;EAOM,c7B0F0D;E6BzF1D,yBAAyC;A7C2kJjD;;A6CnlJE;EAYM,W1CRO;E0CSP,yB7BoF0D;E6BnF1D,qB7BmF0D;AhBw/IlE;;A6CzlJE;EACE,c7BgG8D;E6B/F9D,yB7B+F8D;AhB6/IlE;;A6C9lJE;EAOM,c7B0F0D;E6BzF1D,yBAAyC;A7C2lJjD;;A6CnmJE;EAYM,W1CRO;E0CSP,yB7BoF0D;E6BnF1D,qB7BmF0D;AhBwgJlE;;A6CzmJE;EACE,c7BgG8D;E6B/F9D,yB7B+F8D;AhB6gJlE;;A6C9mJE;EAOM,c7B0F0D;E6BzF1D,yBAAyC;A7C2mJjD;;A6CnnJE;EAYM,W1CRO;E0CSP,yB7BoF0D;E6BnF1D,qB7BmF0D;AhBwhJlE;;A6CznJE;EACE,c7BgG8D;E6B/F9D,yB7B+F8D;AhB6hJlE;;A6C9nJE;EAOM,c7B0F0D;E6BzF1D,yBAAyC;A7C2nJjD;;A6CnoJE;EAYM,W1CRO;E0CSP,yB7BoF0D;E6BnF1D,qB7BmF0D;AhBwiJlE;;A6CzoJE;EACE,c7BgG8D;E6B/F9D,yB7B+F8D;AhB6iJlE;;A6C9oJE;EAOM,c7B0F0D;E6BzF1D,yBAAyC;A7C2oJjD;;A6CnpJE;EAYM,W1CRO;E0CSP,yB7BoF0D;E6BnF1D,qB7BmF0D;AhBwjJlE;;A6CzpJE;EACE,c7BgG8D;E6B/F9D,yB7B+F8D;AhB6jJlE;;A6C9pJE;EAOM,c7B0F0D;E6BzF1D,yBAAyC;A7C2pJjD;;A6CnqJE;EAYM,W1CRO;E0CSP,yB7BoF0D;E6BnF1D,qB7BmF0D;AhBwkJlE;;A8C5qJA;E1C0IM,iBAAW;E0CxIf,gB3C8Y+B;E2C7Y/B,cAAc;EACd,W3Caa;E2CZb,yB3CEa;E2CDb,WAAW;A9C+qJb;;A8CrrJA;EAUI,W3COW;E2CNX,qBAAqB;A9C+qJzB;;A8C1rJA;EAiBM,YAAY;A9C6qJlB;;A8ClqJA;EAC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;AHosIzC;;AmD9jKA;EAII,0BnC6B4D;EmC5B5D,ahDq3BqC;EgDp3BrC,YhDm3BoC;EgDl3BpC,gBAAgC;AnD8jKpC;;AmDrkKA;EAUM,QAAQ;EACR,oChD+2BmC;EgD92BnC,sChDi3BiE;AH8sIvE;;AmD3kKA;EAgBM,UhD2M2B;EgD1M3B,oChDy2BmC;EgDx2BnC,uBhD3HS;AH0rKf;;AmDziKA;EACE,uBhD00BwC;EgDz0BxC,gBAAgB;E/ChBZ,eAAW;E+CmBf,yBhDm0ByD;EgDl0BzD,gCAAyE;E9ChJvE,0CWmI4D;EXlI5D,2CWkI4D;AhB0jKhE;;AmDnjKA;EAUI,aAAa;AnD6iKjB;;AmDziKA;EACE,uBhD4zBwC;EgD3zBxC,chDxJgB;AHosKlB;;AoDvsKA;EACE,kBAAkB;ApD0sKpB;;AoDvsKA;EACE,mBAAmB;ApD0sKrB;;AoDvsKA;EACE,kBAAkB;EAClB,WAAW;EACX,gBAAgB;ApD0sKlB;;AqDjuKE;EACE,cAAc;EACd,WAAW;EACX,WAAW;ArDouKf;;AoD5sKA;EACE,kBAAkB;EAClB,aAAa;EACb,WAAW;EACX,WAAW;EACX,mBAAmB;EACnB,mCAA2B;EAA3B,2BAA2B;EjC5BvB,sChBsqCkF;AHskIxF;;AmBvuKI;EiCiBJ;IjChBM,gBAAgB;EnB2uKpB;AACF;;AoDltKA;;;EAGE,cAAc;ApDqtKhB;;AoDltKA;;EAEE,2BAA2B;ApDqtK7B;;AoDltKA;;EAEE,4BAA4B;ApDqtK9B;;AoD7sKA;EAEI,UAAU;EACV,4BAA4B;EAC5B,eAAe;ApD+sKnB;;AoDntKA;;;EAUI,UAAU;EACV,UAAU;ApD+sKd;;AoD1tKA;;EAgBI,UAAU;EACV,UAAU;EjCtER,2BhBqqCkC;AHinIxC;;AmBjxKI;EiCgDJ;;IjC/CM,gBAAgB;EnBsxKpB;AACF;;AoD7sKA;;EAEE,kBAAkB;EAClB,MAAM;EACN,SAAS;EACT,UAAU;EAEV,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,UjDmjCsC;EiDljCtC,WjD1Fa;EiD2Fb,kBAAkB;EAClB,YjDijCqC;EgB9oCjC,8BhBgpCgD;AH6pItD;;A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C;;A+DlqLI;EAGI,6BAA+B;A/DmqLvC;;A+DtqLI;EAGI,8BAA+B;A/DuqLvC;;A+D1qLI;EAGI,wBAA+B;A/D2qLvC;;A+D9qLI;EAGI,+BAA+B;A/D+qLvC;;A+DlrLI;EAGI,8DAA+B;A/DmrLvC;;A+DtrLI;EAGI,wDAA+B;A/DurLvC;;A+D1rLI;EAGI,uDAA+B;A/D2rLvC;;A+D9rLI;EAGI,2BAA+B;A/D+rLvC;;A+DlsLI;EAGI,2BAA+B;A/DmsLvC;;A+DtsLI;EAGI,6BAA+B;A/DusLvC;;A+D1sLI;EAGI,6BAA+B;A/D2sLvC;;A+D9sLI;EAGI,0BAA+B;A/D+sLvC;;A+DltLI;EAGI,mCAA+B;EAA/B,2BAA+B;A/DmtLvC;;A+DttLI;EAGI,oCAA+B;A/DutLvC;;A+D1tLI;EAGI,oBAA+B;A/D2tLvC;;A+D9tLI;EAGI,wCAA+B;A/D+tLvC;;A+DluLI;EAGI,wBAA+B;A/DmuLvC;;A+DtuLI;EAGI,0CAA+B;A/DuuLvC;;A+D1uLI;EAGI,0BAA+B;A/D2uLvC;;A+D9uLI;EAGI,2CAA+B;A/D+uLvC;;A+DlvLI;EAGI,2BAA+B;A/DmvLvC;;A+DtvLI;EAGI,yCAA+B;A/DuvLvC;;A+D1vLI;EAGI,yBAA+B;A/D2vLvC;;A+D9vLI;EAGI,gCAA+B;A/D+vLvC;;A+DlwLI;EAGI,gCAA+B;A/DmwLvC;;A+DtwLI;EAGI,gCAA+B;A/DuwLvC;;A+D1wLI;EAGI,gCAA+B;A/D2wLvC;;A+D9wLI;EAGI,gCAA+B;A/D+wLvC;;A+DlxLI;EAGI,gCAA+B;A/DmxLvC;;A+DtxLI;EAGI,gCAA+B;A/DuxLvC;;A+D1xLI;EAGI,gCAA+B;A/D2xLvC;;A+D9xLI;EAGI,6BAA+B;A/D+xLvC;;A+DlyLI;EAGI,qBAA+B;A/DmyLvC;;A+DtyLI;EAGI,qBAA+B;A/DuyLvC;;A+D1yLI;EAGI,qBAA+B;A/D2yLvC;;A+D9yLI;EAGI,sBAA+B;A/D+yLvC;;A+DlzLI;EAGI,sBAA+B;A/DmzLvC;;A+DtzLI;EAGI,0BAA+B;A/DuzLvC;;A+D1zLI;EAGI,uBAA+B;A/D2zLvC;;A+D9zLI;EAGI,2BAA+B;A/D+zLvC;;A+Dl0LI;EAGI,sBAA+B;A/Dm0LvC;;A+Dt0LI;EAGI,sBAA+B;A/Du0LvC;;A+D10LI;EAGI,sBAA+B;A/D20LvC;;A+D90LI;EAGI,uBAA+B;A/D+0LvC;;A+Dl1LI;EAGI,uBAA+B;A/Dm1LvC;;A+Dt1LI;EAGI,2BAA+B;A/Du1LvC;;A+D11LI;EAGI,wBAA+B;A/D21LvC;;A+D91LI;EAGI,4BAA+B;A/D+1LvC;;A+Dl2LI;EAGI,yBAA+B;A/Dm2LvC;;A+Dt2LI;EAGI,8BAA+B;A/Du2LvC;;A+D12LI;EAGI,iCAA+B;A/D22LvC;;A+D92LI;EAGI,sCAA+B;A/D+2LvC;;A+Dl3LI;EAGI,yCAA+B;A/Dm3LvC;;A+Dt3LI;EAGI,uBAA+B;A/Du3LvC;;A+D13LI;EAGI,uBAA+B;A/D23LvC;;A+D93LI;EAGI,yBAA+B;A/D+3LvC;;A+Dl4LI;EAGI,yBAA+B;A/Dm4LvC;;A+Dt4LI;EAGI,0BAA+B;A/Du4LvC;;A+D14LI;EAGI,4BAA+B;A/D24LvC;;A+D94LI;EAGI,kCAA+B;A/D+4LvC;;A+Dl5LI;EAGI,sCAA+B;A/Dm5LvC;;A+Dt5LI;EAGI,oCAA+B;A/Du5LvC;;A+D15LI;EAGI,kCAA+B;A/D25LvC;;A+D95LI;EAGI,yCAA+B;A/D+5LvC;;A+Dl6LI;EAGI,wCAA+B;A/Dm6LvC;;A+Dt6LI;EAGI,kCAA+B;A/Du6LvC;;A+D16LI;EAGI,gCAA+B;A/D26LvC;;A+D96LI;EAGI,8BAA+B;A/D+6LvC;;A+Dl7LI;EAGI,gCAA+B;A/Dm7LvC;;A+Dt7LI;EAGI,+BAA+B;A/Du7LvC;;A+D17LI;EAGI,oCAA+B;A/D27LvC;;A+D97LI;EAGI,kCAA+B;A/D+7LvC;;A+Dl8LI;EAGI,gCAA+B;A/Dm8LvC;;A+Dt8LI;EAGI,uCAA+B;A/Du8LvC;;A+D18LI;EAGI,sCAA+B;A/D28LvC;;A+D98LI;EAGI,iCAA+B;A/D+8LvC;;A+Dl9LI;EAGI,2BAA+B;A/Dm9LvC;;A+Dt9LI;EAGI,iCAA+B;A/Du9LvC;;A+D19LI;EAGI,+BAA+B;A/D29LvC;;A+D99LI;EAGI,6BAA+B;A/D+9LvC;;A+Dl+LI;EAGI,+BAA+B;A/Dm+LvC;;A+Dt+LI;EAGI,8BAA+B;A/Du+LvC;;A+D1+LI;EAGI,oBAA+B;A/D2+LvC;;A+D9+LI;EAGI,mBAA+B;A/D++LvC;;A+Dl/LI;EAGI,mBAA+B;A/Dm/LvC;;A+Dt/LI;EAGI,mBAA+B;A/Du/LvC;;A+D1/LI;EAGI,mBAA+B;A/D2/LvC;;A+D9/LI;EAGI,mBAA+B;A/D+/LvC;;A+DlgMI;EAGI,mBAA+B;A/DmgMvC;;A+DtgMI;EAGI,mBAA+B;A/DugMvC;;A+D1gMI;EAGI,oBAA+B;A/D2gMvC;;A+D9gMI;EAGI,0BAA+B;A/D+gMvC;;A+DlhMI;EAGI,yBAA+B;A/DmhMvC;;A+DthMI;EAGI,uBAA+B;A/DuhMvC;;A+D1hMI;EAGI,yBAA+B;A/D2hMvC;;A+D9hMI;EAGI,uBAA+B;A/D+hMvC;;A+DliMI;EAGI,uBAA+B;A/DmiMvC;;A+DtiMI;EAGI,0BAA+B;EAA/B,yBAA+B;A/DwiMvC;;A+D3iMI;EAGI,gCAA+B;EAA/B,+BAA+B;A/D6iMvC;;A+DhjMI;EAGI,+BAA+B;EAA/B,8BAA+B;A/DkjMvC;;A+DrjMI;EAGI,6BAA+B;EAA/B,4BAA+B;A/DujMvC;;A+D1jMI;EAGI,+BAA+B;EAA/B,8BAA+B;A/D4jMvC;;A+D/jMI;EAGI,6BAA+B;EAA/B,4BAA+B;A/DikMvC;;A+DpkMI;EAGI,6BAA+B;EAA/B,4BAA+B;A/DskMvC;;A+DzkMI;EAGI,wBAA+B;EAA/B,2BAA+B;A/D2kMvC;;A+D9kMI;EAGI,8BAA+B;EAA/B,iCAA+B;A/DglMvC;;A+DnlMI;EAGI,6BAA+B;EAA/B,gCAA+B;A/DqlMvC;;A+DxlMI;EAGI,2BAA+B;EAA/B,8BAA+B;A/D0lMvC;;A+D7lMI;EAGI,6BAA+B;EAA/B,gCAA+B;A/D+lMvC;;A+DlmMI;EAGI,2BAA+B;EAA/B,8BAA+B;A/DomMvC;;A+DvmMI;EAGI,2BAA+B;EAA/B,8BAA+B;A/DymMvC;;A+D5mMI;EAGI,wBAA+B;A/D6mMvC;;A+DhnMI;EAGI,8BAA+B;A/DinMvC;;A+DpnMI;EAGI,6BAA+B;A/DqnMvC;;A+DxnMI;EAGI,2BAA+B;A/DynMvC;;A+D5nMI;EAGI,6BAA+B;A/D6nMvC;;A+DhoMI;EAGI,2BAA+B;A/DioMvC;;A+DpoMI;EAGI,2BAA+B;A/DqoMvC;;A+DxoMI;EAGI,0BAA+B;A/DyoMvC;;A+D5oMI;EAGI,gCAA+B;A/D6oMvC;;A+DhpMI;EAGI,+BAA+B;A/DipMvC;;A+DppMI;EAGI,6BAA+B;A/DqpMvC;;A+DxpMI;EAGI,+BAA+B;A/DypMvC;;A+D5pMI;EAGI,6BAA+B;A/D6pMvC;;A+DhqMI;EAGI,6BAA+B;A/DiqMvC;;A+DpqMI;EAGI,2BAA+B;A/DqqMvC;;A+DxqMI;EAGI,iCAA+B;A/DyqMvC;;A+D5qMI;EAGI,gCAA+B;A/D6qMvC;;A+DhrMI;EAGI,8BAA+B;A/DirMvC;;A+DprMI;EAGI,gCAA+B;A/DqrMvC;;A+DxrMI;EAGI,8BAA+B;A/DyrMvC;;A+D5rMI;EAGI,8BAA+B;A/D6rMvC;;A+DhsMI;EAGI,yBAA+B;A/DisMvC;;A+DpsMI;EAGI,+BAA+B;A/DqsMvC;;A+DxsMI;EAGI,8BAA+B;A/DysMvC;;A+D5sMI;EAGI,4BAA+B;A/D6sMvC;;A+DhtMI;EAGI,8BAA+B;A/DitMvC;;A+DptMI;EAGI,4BAA+B;A/DqtMvC;;A+DxtMI;EAGI,4BAA+B;A/DytMvC;;A+D5tMI;EAGI,2BAA+B;A/D6tMvC;;A+DhuMI;EAGI,0BAA+B;A/DiuMvC;;A+DpuMI;EAGI,wBAA+B;A/DquMvC;;A+DxuMI;EAGI,0BAA+B;A/DyuMvC;;A+D5uMI;EAGI,wBAA+B;A/D6uMvC;;A+DhvMI;EAGI,iCAA+B;EAA/B,gCAA+B;A/DkvMvC;;A+DrvMI;EAGI,gCAA+B;EAA/B,+BAA+B;A/DuvMvC;;A+D1vMI;EAGI,8BAA+B;EAA/B,6BAA+B;A/D4vMvC;;A+D/vMI;EAGI,gCAA+B;EAA/B,+BAA+B;A/DiwMvC;;A+DpwMI;EAGI,8BAA+B;EAA/B,6BAA+B;A/DswMvC;;A+DzwMI;EAGI,+BAA+B;EAA/B,kCAA+B;A/D2wMvC;;A+D9wMI;EAGI,8BAA+B;EAA/B,iCAA+B;A/DgxMvC;;A+DnxMI;EAGI,4BAA+B;EAA/B,+BAA+B;A/DqxMvC;;A+DxxMI;EAGI,8BAA+B;EAA/B,iCAA+B;A/D0xMvC;;A+D7xMI;EAGI,4BAA+B;EAA/B,+BAA+B;A/D+xMvC;;A+DlyMI;EAGI,+BAA+B;A/DmyMvC;;A+DtyMI;EAGI,8BAA+B;A/DuyMvC;;A+D1yMI;EAGI,4BAA+B;A/D2yMvC;;A+D9yMI;EAGI,8BAA+B;A/D+yMvC;;A+DlzMI;EAGI,4BAA+B;A/DmzMvC;;A+DtzMI;EAGI,iCAA+B;A/DuzMvC;;A+D1zMI;EAGI,gCAA+B;A/D2zMvC;;A+D9zMI;EAGI,8BAA+B;A/D+zMvC;;A+Dl0MI;EAGI,gCAA+B;A/Dm0MvC;;A+Dt0MI;EAGI,8BAA+B;A/Du0MvC;;A+D10MI;EAGI,kCAA+B;A/D20MvC;;A+D90MI;EAGI,iCAA+B;A/D+0MvC;;A+Dl1MI;EAGI,+BAA+B;A/Dm1MvC;;A+Dt1MI;EAGI,iCAA+B;A/Du1MvC;;A+D11MI;EAGI,+BAA+B;A/D21MvC;;A+D91MI;EAGI,gCAA+B;A/D+1MvC;;A+Dl2MI;EAGI,+BAA+B;A/Dm2MvC;;A+Dt2MI;EAGI,6BAA+B;A/Du2MvC;;A+D12MI;EAGI,+BAA+B;A/D22MvC;;A+D92MI;EAGI,6BAA+B;A/D+2MvC;;A+Dl3MI;EAGI,qBAA+B;A/Dm3MvC;;A+Dt3MI;EAGI,2BAA+B;A/Du3MvC;;A+D13MI;EAGI,0BAA+B;A/D23MvC;;A+D93MI;EAGI,wBAA+B;A/D+3MvC;;A+Dl4MI;EAGI,0BAA+B;A/Dm4MvC;;A+Dt4MI;EAGI,wBAA+B;A/Du4MvC;;A+D14MI;EAGI,2BAA+B;EAA/B,0BAA+B;A/D44MvC;;A+D/4MI;EAGI,iCAA+B;EAA/B,gCAA+B;A/Di5MvC;;A+Dp5MI;EAGI,gCAA+B;EAA/B,+BAA+B;A/Ds5MvC;;A+Dz5MI;EAGI,8BAA+B;EAA/B,6BAA+B;A/D25MvC;;A+D95MI;EAGI,gCAA+B;EAA/B,+BAA+B;A/Dg6MvC;;A+Dn6MI;EAGI,8BAA+B;EAA/B,6BAA+B;A/Dq6MvC;;A+Dx6MI;EAGI,yBAA+B;EAA/B,4BAA+B;A/D06MvC;;A+D76MI;EAGI,+BAA+B;EAA/B,kCAA+B;A/D+6MvC;;A+Dl7MI;EAGI,8BAA+B;EAA/B,iCAA+B;A/Do7MvC;;A+Dv7MI;EAGI,4BAA+B;EAA/B,+BAA+B;A/Dy7MvC;;A+D57MI;EAGI,8BAA+B;EAA/B,iCAA+B;A/D87MvC;;A+Dj8MI;EAGI,4BAA+B;EAA/B,+BAA+B;A/Dm8MvC;;A+Dt8MI;EAGI,yBAA+B;A/Du8MvC;;A+D18MI;EAGI,+BAA+B;A/D28MvC;;A+D98MI;EAGI,8BAA+B;A/D+8MvC;;A+Dl9MI;EAGI,4BAA+B;A/Dm9MvC;;A+Dt9MI;EAGI,8BAA+B;A/Du9MvC;;A+D19MI;EAGI,4BAA+B;A/D29MvC;;A+D99MI;EAGI,2BAA+B;A/D+9MvC;;A+Dl+MI;EAGI,iCAA+B;A/Dm+MvC;;A+Dt+MI;EAGI,gCAA+B;A/Du+MvC;;A+D1+MI;EAGI,8BAA+B;A/D2+MvC;;A+D9+MI;EAGI,gCAA+B;A/D++MvC;;A+Dl/MI;EAGI,8BAA+B;A/Dm/MvC;;A+Dt/MI;EAGI,4BAA+B;A/Du/MvC;;A+D1/MI;EAGI,kCAA+B;A/D2/MvC;;A+D9/MI;EAGI,iCAA+B;A/D+/MvC;;A+DlgNI;EAGI,+BAA+B;A/DmgNvC;;A+DtgNI;EAGI,iCAA+B;A/DugNvC;;A+D1gNI;EAGI,+BAA+B;A/D2gNvC;;A+D9gNI;EAGI,0BAA+B;A/D+gNvC;;A+DlhNI;EAGI,gCAA+B;A/DmhNvC;;A+DthNI;EAGI,+BAA+B;A/DuhNvC;;A+D1hNI;EAGI,6BAA+B;A/D2hNvC;;A+D9hNI;EAGI,+BAA+B;A/D+hNvC;;A+DliNI;EAGI,6BAA+B;A/DmiNvC;;A+DtiNI;EAGI,2BAA+B;A/DuiNvC;;A+D1iNI;EAGI,+BAA+B;A/D2iNvC;;A+D9iNI;EAGI,2BAA+B;A/D+iNvC;;A+DljNI;EAGI,2BAA+B;A/DmjNvC;;A+DtjNI;EAGI,8BAA+B;A/DujNvC;;A+D1jNI;EAGI,oCAA+B;A/D2jNvC;;A+D9jNI;EAGI,oCAA+B;A/D+jNvC;;A+DlkNI;EAGI,qCAA+B;A/DmkNvC;;A+DtkNI;EAGI,2BAA+B;A/DukNvC;;A+D1kNI;EAGI,4BAA+B;A/D2kNvC;;A+D9kNI;EAGI,6BAA+B;A/D+kNvC;;A+DllNI;EAGI,8BAA+B;A/DmlNvC;;A+DtlNI;EAGI,yBAA+B;A/DulNvC;;A+D1lNI;EAGI,yBAA+B;A/D2lNvC;;A+D9lNI;EAGI,yBAA+B;A/D+lNvC;;A+DlmNI;EAGI,yBAA+B;A/DmmNvC;;A+DtmNI;EAGI,yBAA+B;A/DumNvC;;A+D1mNI;EAGI,yBAA+B;A/D2mNvC;;A+D9mNI;EAGI,yBAA+B;A/D+mNvC;;A+DlnNI;EAGI,yBAA+B;A/DmnNvC;;A+DtnNI;EAGI,sBAA+B;A/DunNvC;;A+D1nNI;EAGI,yBAA+B;A/D2nNvC;;A+D9nNI;EAGI,yBAA+B;A/D+nNvC;;A+DloNI;EAGI,oCAA+B;A/DmoNvC;;A+DtoNI;EAGI,0CAA+B;A/DuoNvC;;A+D1oNI;EAGI,yBAA+B;A/D2oNvC;;A+D9oNI;EAGI,yBAA+B;A/D+oNvC;;A+DlpNI;EAGI,4BAA+B;A/DmpNvC;;A+DtpNI;EAGI,2BAA+B;A/DupNvC;;A+D1pNI;EAGI,yBAA+B;A/D2pNvC;;A+D9pNI;EAGI,oCAA+B;A/D+pNvC;;A+DlqNI;EAGI,oCAA+B;A/DmqNvC;;A+DtqNI;EAGI,oCAA+B;A/DuqNvC;;A+D1qNI;EAGI,oCAA+B;A/D2qNvC;;A+D9qNI;EAGI,oCAA+B;A/D+qNvC;;A+DlrNI;EAGI,oCAA+B;A/DmrNvC;;A+DtrNI;EAGI,oCAA+B;A/DurNvC;;A+D1rNI;EAGI,oCAA+B;A/D2rNvC;;A+D9rNI;EAGI,iCAA+B;A/D+rNvC;;A+DlsNI;EAGI,iCAA+B;A/DmsNvC;;A+DtsNI;EAGI,wCAA+B;A/DusNvC;;A+D1sNI;EAGI,8BAA+B;A/D2sNvC;;A+D9sNI;EAGI,8BAA+B;A/D+sNvC;;A+DltNI;EAGI,gCAA+B;A/DmtNvC;;A+DttNI;EAGI,6BAA+B;A/DutNvC;;A+D1tNI;EAGI,oCAA+B;EAA/B,iCAA+B;A/D4tNvC;;A+D/tNI;EAGI,4GAA+B;A/DguNvC;;A+DnuNI;EAGI,iCAA+B;A/DouNvC;;A+DvuNI;EAGI,gCAA+B;A/DwuNvC;;A+D3uNI;EAGI,gCAA+B;A/D4uNvC;;A+D/uNI;EAGI,6BAA+B;A/DgvNvC;;A+DnvNI;EAGI,+BAA+B;A/DovNvC;;A+DvvNI;EAGI,2BAA+B;A/DwvNvC;;A+D3vNI;EAGI,0CAA+B;EAA/B,2CAA+B;A/D6vNvC;;A+DhwNI;EAGI,2CAA+B;EAA/B,8CAA+B;A/DkwNvC;;A+DrwNI;EAGI,8CAA+B;EAA/B,6CAA+B;A/DuwNvC;;A+D1wNI;EAGI,6CAA+B;EAA/B,0CAA+B;A/D4wNvC;;A+D/wNI;EAGI,8BAA+B;A/DgxNvC;;A+DnxNI;EAGI,6BAA+B;A/DoxNvC;;AYnvNI;EmDpCA;IAGI,sBAA+B;E/DyxNrC;E+D5xNE;IAGI,uBAA+B;E/D4xNrC;E+D/xNE;IAGI,sBAA+B;E/D+xNrC;E+DlyNE;IAGI,wBAA+B;E/DkyNrC;E+DryNE;IAGI,0BAA+B;E/DqyNrC;E+DxyNE;IAGI,gCAA+B;E/DwyNrC;E+D3yNE;IAGI,yBAA+B;E/D2yNrC;E+D9yNE;IAGI,yBAA+B;E/D8yNrC;E+DjzNE;IAGI,6BAA+B;E/DizNrC;E+DpzNE;IAGI,8BAA+B;E/DozNrC;E+DvzNE;IAGI,wBAA+B;E/DuzNrC;E+D1zNE;IAGI,+BAA+B;E/D0zNrC;E+D7zNE;IAGI,yBAA+B;E/D6zNrC;E+Dh0NE;IAGI,8BAA+B;E/Dg0NrC;E+Dn0NE;IAGI,iCAA+B;E/Dm0NrC;E+Dt0NE;IAGI,sCAA+B;E/Ds0NrC;E+Dz0NE;IAGI,yCAA+B;E/Dy0NrC;E+D50NE;IAGI,uBAA+B;E/D40NrC;E+D/0NE;IAGI,uBAA+B;E/D+0NrC;E+Dl1NE;IAGI,yBAA+B;E/Dk1NrC;E+Dr1NE;IAGI,yBAA+B;E/Dq1NrC;E+Dx1NE;IAGI,0BAA+B;E/Dw1NrC;E+D31NE;IAGI,4BAA+B;E/D21NrC;E+D91NE;IAGI,kCAA+B;E/D81NrC;E+Dj2NE;IAGI,sCAA+B;E/Di2NrC;E+Dp2NE;IAGI,oCAA+B;E/Do2NrC;E+Dv2NE;IAGI,kCAA+B;E/Du2NrC;E+D12NE;IAGI,yCAA+B;E/D02NrC;E+D72NE;IAGI,wCAA+B;E/D62NrC;E+Dh3NE;IAGI,kCAA+B;E/Dg3NrC;E+Dn3NE;IAGI,gCAA+B;E/Dm3NrC;E+Dt3NE;IAGI,8BAA+B;E/Ds3NrC;E+Dz3NE;IAGI,gCAA+B;E/Dy3NrC;E+D53NE;IAGI,+BAA+B;E/D43NrC;E+D/3NE;IAGI,oCAA+B;E/D+3NrC;E+Dl4NE;IAGI,kCAA+B;E/Dk4NrC;E+Dr4NE;IAGI,gCAA+B;E/Dq4NrC;E+Dx4NE;IAGI,uCAA+B;E/Dw4NrC;E+D34NE;IAGI,sCAA+B;E/D24NrC;E+D94NE;IAGI,iCAA+B;E/D84NrC;E+Dj5NE;IAGI,2BAA+B;E/Di5NrC;E+Dp5NE;IAGI,iCAA+B;E/Do5NrC;E+Dv5NE;IAGI,+BAA+B;E/Du5NrC;E+D15NE;IAGI,6BAA+B;E/D05NrC;E+D75NE;IAGI,+BAA+B;E/D65NrC;E+Dh6NE;IAGI,8BAA+B;E/Dg6NrC;E+Dn6NE;IAGI,oBAA+B;E/Dm6NrC;E+Dt6NE;IAGI,mBAA+B;E/Ds6NrC;E+Dz6NE;IAGI,mBAA+B;E/Dy6NrC;E+D56NE;IAGI,mBAA+B;E/D46NrC;E+D/6NE;IAGI,mBAA+B;E/D+6NrC;E+Dl7NE;IAGI,mBAA+B;E/Dk7NrC;E+Dr7NE;IAGI,mBAA+B;E/Dq7NrC;E+Dx7NE;IAGI,mBAA+B;E/Dw7NrC;E+D37NE;IAGI,oBAA+B;E/D27NrC;E+D97NE;IAGI,0BAA+B;E/D87NrC;E+Dj8NE;IAGI,yBAA+B;E/Di8NrC;E+Dp8NE;IAGI,uBAA+B;E/Do8NrC;E+Dv8NE;IAGI,yBAA+B;E/Du8NrC;E+D18NE;IAGI,uBAA+B;E/D08NrC;E+D78NE;IAGI,uBAA+B;E/D68NrC;E+Dh9NE;IAGI,0BAA+B;IAA/B,yBAA+B;E/Di9NrC;E+Dp9NE;IAGI,gCAA+B;IAA/B,+BAA+B;E/Dq9NrC;E+Dx9NE;IAGI,+BAA+B;IAA/B,8BAA+B;E/Dy9NrC;E+D59NE;IAGI,6BAA+B;IAA/B,4BAA+B;E/D69NrC;E+Dh+NE;IAGI,+BAA+B;IAA/B,8BAA+B;E/Di+NrC;E+Dp+NE;IAGI,6BAA+B;IAA/B,4BAA+B;E/Dq+NrC;E+Dx+NE;IAGI,6BAA+B;IAA/B,4BAA+B;E/Dy+NrC;E+D5+NE;IAGI,wBAA+B;IAA/B,2BAA+B;E/D6+NrC;E+Dh/NE;IAGI,8BAA+B;IAA/B,iCAA+B;E/Di/NrC;E+Dp/NE;IAGI,6BAA+B;IAA/B,gCAA+B;E/Dq/NrC;E+Dx/NE;IAGI,2BAA+B;IAA/B,8BAA+B;E/Dy/NrC;E+D5/NE;IAGI,6BAA+B;IAA/B,gCAA+B;E/D6/NrC;E+DhgOE;IAGI,2BAA+B;IAA/B,8BAA+B;E/DigOrC;E+DpgOE;IAGI,2BAA+B;IAA/B,8BAA+B;E/DqgOrC;E+DxgOE;IAGI,wBAA+B;E/DwgOrC;E+D3gOE;IAGI,8BAA+B;E/D2gOrC;E+D9gOE;IAGI,6BAA+B;E/D8gOrC;E+DjhOE;IAGI,2BAA+B;E/DihOrC;E+DphOE;IAGI,6BAA+B;E/DohOrC;E+DvhOE;IAGI,2BAA+B;E/DuhOrC;E+D1hOE;IAGI,2BAA+B;E/D0hOrC;E+D7hOE;IAGI,0BAA+B;E/D6hOrC;E+DhiOE;IAGI,gCAA+B;E/DgiOrC;E+DniOE;IAGI,+BAA+B;E/DmiOrC;E+DtiOE;IAGI,6BAA+B;E/DsiOrC;E+DziOE;IAGI,+BAA+B;E/DyiOrC;E+D5iOE;IAGI,6BAA+B;E/D4iOrC;E+D/iOE;IAGI,6BAA+B;E/D+iOrC;E+DljOE;IAGI,2BAA+B;E/DkjOrC;E+DrjOE;IAGI,iCAA+B;E/DqjOrC;E+DxjOE;IAGI,gCAA+B;E/DwjOrC;E+D3jOE;IAGI,8BAA+B;E/D2jOrC;E+D9jOE;IAGI,gCAA+B;E/D8jOrC;E+DjkOE;IAGI,8BAA+B;E/DikOrC;E+DpkOE;IAGI,8BAA+B;E/DokOrC;E+DvkOE;IAGI,yBAA+B;E/DukOrC;E+D1kOE;IAGI,+BAA+B;E/D0kOrC;E+D7kOE;IAGI,8BAA+B;E/D6kOrC;E+DhlOE;IAGI,4BAA+B;E/DglOrC;E+DnlOE;IAGI,8BAA+B;E/DmlOrC;E+DtlOE;IAGI,4BAA+B;E/DslOrC;E+DzlOE;IAGI,4BAA+B;E/DylOrC;E+D5lOE;IAGI,2BAA+B;E/D4lOrC;E+D/lOE;IAGI,0BAA+B;E/D+lOrC;E+DlmOE;IAGI,wBAA+B;E/DkmOrC;E+DrmOE;IAGI,0BAA+B;E/DqmOrC;E+DxmOE;IAGI,wBAA+B;E/DwmOrC;E+D3mOE;IAGI,iCAA+B;IAA/B,gCAA+B;E/D4mOrC;E+D/mOE;IAGI,gCAA+B;IAA/B,+BAA+B;E/DgnOrC;E+DnnOE;IAGI,8BAA+B;IAA/B,6BAA+B;E/DonOrC;E+DvnOE;IAGI,gCAA+B;IAA/B,+BAA+B;E/DwnOrC;E+D3nOE;IAGI,8BAA+B;IAA/B,6BAA+B;E/D4nOrC;E+D/nOE;IAGI,+BAA+B;IAA/B,kCAA+B;E/DgoOrC;E+DnoOE;IAGI,8BAA+B;IAA/B,iCAA+B;E/DooOrC;E+DvoOE;IAGI,4BAA+B;IAA/B,+BAA+B;E/DwoOrC;E+D3oOE;IAGI,8BAA+B;IAA/B,iCAA+B;E/D4oOrC;E+D/oOE;IAGI,4BAA+B;IAA/B,+BAA+B;E/DgpOrC;E+DnpOE;IAGI,+BAA+B;E/DmpOrC;E+DtpOE;IAGI,8BAA+B;E/DspOrC;E+DzpOE;IAGI,4BAA+B;E/DypOrC;E+D5pOE;IAGI,8BAA+B;E/D4pOrC;E+D/pOE;IAGI,4BAA+B;E/D+pOrC;E+DlqOE;IAGI,iCAA+B;E/DkqOrC;E+DrqOE;IAGI,gCAA+B;E/DqqOrC;E+DxqOE;IAGI,8BAA+B;E/DwqOrC;E+D3qOE;IAGI,gCAA+B;E/D2qOrC;E+D9qOE;IAGI,8BAA+B;E/D8qOrC;E+DjrOE;IAGI,kCAA+B;E/DirOrC;E+DprOE;IAGI,iCAA+B;E/DorOrC;E+DvrOE;IAGI,+BAA+B;E/DurOrC;E+D1rOE;IAGI,iCAA+B;E/D0rOrC;E+D7rOE;IAGI,+BAA+B;E/D6rOrC;E+DhsOE;IAGI,gCAA+B;E/DgsOrC;E+DnsOE;IAGI,+BAA+B;E/DmsOrC;E+DtsOE;IAGI,6BAA+B;E/DssOrC;E+DzsOE;IAGI,+BAA+B;E/DysOrC;E+D5sOE;IAGI,6BAA+B;E/D4sOrC;E+D/sOE;IAGI,qBAA+B;E/D+sOrC;E+DltOE;IAGI,2BAA+B;E/DktOrC;E+DrtOE;IAGI,0BAA+B;E/DqtOrC;E+DxtOE;IAGI,wBAA+B;E/DwtOrC;E+D3tOE;IAGI,0BAA+B;E/D2tOrC;E+D9tOE;IAGI,wBAA+B;E/D8tOrC;E+DjuOE;IAGI,2BAA+B;IAA/B,0BAA+B;E/DkuOrC;E+DruOE;IAGI,iCAA+B;IAA/B,gCAA+B;E/DsuOrC;E+DzuOE;IAGI,gCAA+B;IAA/B,+BAA+B;E/D0uOrC;E+D7uOE;IAGI,8BAA+B;IAA/B,6BAA+B;E/D8uOrC;E+DjvOE;IAGI,gCAA+B;IAA/B,+BAA+B;E/DkvOrC;E+DrvOE;IAGI,8BAA+B;IAA/B,6BAA+B;E/DsvOrC;E+DzvOE;IAGI,yBAA+B;IAA/B,4BAA+B;E/D0vOrC;E+D7vOE;IAGI,+BAA+B;IAA/B,kCAA+B;E/D8vOrC;E+DjwOE;IAGI,8BAA+B;IAA/B,iCAA+B;E/DkwOrC;E+DrwOE;IAGI,4BAA+B;IAA/B,+BAA+B;E/DswOrC;E+DzwOE;IAGI,8BAA+B;IAA/B,iCAA+B;E/D0wOrC;E+D7wOE;IAGI,4BAA+B;IAA/B,+BAA+B;E/D8wOrC;E+DjxOE;IAGI,yBAA+B;E/DixOrC;E+DpxOE;IAGI,+BAA+B;E/DoxOrC;E+DvxOE;IAGI,8BAA+B;E/DuxOrC;E+D1xOE;IAGI,4BAA+B;E/D0xOrC;E+D7xOE;IAGI,8BAA+B;E/D6xOrC;E+DhyOE;IAGI,4BAA+B;E/DgyOrC;E+DnyOE;IAGI,2BAA+B;E/DmyOrC;E+DtyOE;IAGI,iCAA+B;E/DsyOrC;E+DzyOE;IAGI,gCAA+B;E/DyyOrC;E+D5yOE;IAGI,8BAA+B;E/D4yOrC;E+D/yOE;IAGI,gCAA+B;E/D+yOrC;E+DlzOE;IAGI,8BAA+B;E/DkzOrC;E+DrzOE;IAGI,4BAA+B;E/DqzOrC;E+DxzOE;IAGI,kCAA+B;E/DwzOrC;E+D3zOE;IAGI,iCAA+B;E/D2zOrC;E+D9zOE;IAGI,+BAA+B;E/D8zOrC;E+Dj0OE;IAGI,iCAA+B;E/Di0OrC;E+Dp0OE;IAGI,+BAA+B;E/Do0OrC;E+Dv0OE;IAGI,0BAA+B;E/Du0OrC;E+D10OE;IAGI,gCAA+B;E/D00OrC;E+D70OE;IAGI,+BAA+B;E/D60OrC;E+Dh1OE;IAGI,6BAA+B;E/Dg1OrC;E+Dn1OE;IAGI,+BAA+B;E/Dm1OrC;E+Dt1OE;IAGI,6BAA+B;E/Ds1OrC;E+Dz1OE;IAGI,2BAA+B;E/Dy1OrC;E+D51OE;IAGI,4BAA+B;E/D41OrC;E+D/1OE;IAGI,6BAA+B;E/D+1OrC;E+Dl2OE;IAGI,8BAA+B;E/Dk2OrC;AACF;;AYl0OI;EmDpCA;IAGI,sBAA+B;E/Dw2OrC;E+D32OE;IAGI,uBAA+B;E/D22OrC;E+D92OE;IAGI,sBAA+B;E/D82OrC;E+Dj3OE;IAGI,wBAA+B;E/Di3OrC;E+Dp3OE;IAGI,0BAA+B;E/Do3OrC;E+Dv3OE;IAGI,gCAA+B;E/Du3OrC;E+D13OE;IAGI,yBAA+B;E/D03OrC;E+D73OE;IAGI,yBAA+B;E/D63OrC;E+Dh4OE;IAGI,6BAA+B;E/Dg4OrC;E+Dn4OE;IAGI,8BAA+B;E/Dm4OrC;E+Dt4OE;IAGI,wBAA+B;E/Ds4OrC;E+Dz4OE;IAGI,+BAA+B;E/Dy4OrC;E+D54OE;IAGI,yBAA+B;E/D44OrC;E+D/4OE;IAGI,8BAA+B;E/D+4OrC;E+Dl5OE;IAGI,iCAA+B;E/Dk5OrC;E+Dr5OE;IAGI,sCAA+B;E/Dq5OrC;E+Dx5OE;IAGI,yCAA+B;E/Dw5OrC;E+D35OE;IAGI,uBAA+B;E/D25OrC;E+D95OE;IAGI,uBAA+B;E/D85OrC;E+Dj6OE;IAGI,yBAA+B;E/Di6OrC;E+Dp6OE;IAGI,yBAA+B;E/Do6OrC;E+Dv6OE;IAGI,0BAA+B;E/Du6OrC;E+D16OE;IAGI,4BAA+B;E/D06OrC;E+D76OE;IAGI,kCAA+B;E/D66OrC;E+Dh7OE;IAGI,sCAA+B;E/Dg7OrC;E+Dn7OE;IAGI,oCAA+B;E/Dm7OrC;E+Dt7OE;IAGI,kCAA+B;E/Ds7OrC;E+Dz7OE;IAGI,yCAA+B;E/Dy7OrC;E+D57OE;IAGI,wCAA+B;E/D47OrC;E+D/7OE;IAGI,kCAA+B;E/D+7OrC;E+Dl8OE;IAGI,gCAA+B;E/Dk8OrC;E+Dr8OE;IAGI,8BAA+B;E/Dq8OrC;E+Dx8OE;IAGI,gCAA+B;E/Dw8OrC;E+D38OE;IAGI,+BAA+B;E/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7PE;IAGI,8BAA+B;E/Di7PrC;AACF;;AYj5PI;EmDpCA;IAGI,sBAA+B;E/Du7PrC;E+D17PE;IAGI,uBAA+B;E/D07PrC;E+D77PE;IAGI,sBAA+B;E/D67PrC;E+Dh8PE;IAGI,wBAA+B;E/Dg8PrC;E+Dn8PE;IAGI,0BAA+B;E/Dm8PrC;E+Dt8PE;IAGI,gCAA+B;E/Ds8PrC;E+Dz8PE;IAGI,yBAA+B;E/Dy8PrC;E+D58PE;IAGI,yBAA+B;E/D48PrC;E+D/8PE;IAGI,6BAA+B;E/D+8PrC;E+Dl9PE;IAGI,8BAA+B;E/Dk9PrC;E+Dr9PE;IAGI,wBAA+B;E/Dq9PrC;E+Dx9PE;IAGI,+BAA+B;E/Dw9PrC;E+D39PE;IAGI,yBAA+B;E/D29PrC;E+D99PE;IAGI,8BAA+B;E/D89PrC;E+Dj+PE;IAGI,iCAA+B;E/Di+PrC;E+Dp+PE;IAGI,sCAA+B;E/Do+PrC;E+Dv+PE;IAGI,yCAA+B;E/Du+PrC;E+D1+PE;IAGI,uBAA+B;E/D0+PrC;E+D7+PE;IAGI,uBAA+B;E/D6+PrC;E+Dh/PE;IAGI,yBAA+B;E/Dg/PrC;E+Dn/PE;IAGI,yBAA+B;E/Dm/PrC;E+Dt/PE;IAGI,0BAA+B;E/Ds/PrC;E+Dz/PE;IAGI,4BAA+B;E/Dy/PrC;E+D5/PE;IAGI,kCAA+B;E/D4/PrC;E+D//PE;IAGI,sCAA+B;E/D+/PrC;E+DlgQE;IAGI,oCAA+B;E/DkgQrC;E+DrgQE;IAGI,kCAA+B;E/DqgQrC;E+DxgQE;IAGI,yCAA+B;E/DwgQrC;E+D3gQE;IAGI,wCAA+B;E/D2gQrC;E+D9gQE;IAGI,kCAA+B;E/D8gQrC;E+DjhQE;IAGI,gCAA+B;E/DihQrC;E+DphQE;IAGI,8BAA+B;E/DohQrC;E+DvhQE;IAGI,gCAA+B;E/DuhQrC;E+D1hQE;IAGI,+BAA+B;E/D0hQrC;E+D7hQE;IAGI,oCAA+B;E/D6hQrC;E+DhiQE;IAGI,kCAA+B;E/DgiQrC;E+DniQE;IAGI,gCAA+B;E/DmiQrC;E+DtiQE;IAGI,uCAA+B;E/DsiQrC;E+DziQE;IAGI,sCAA+B;E/DyiQrC;E+D5iQE;IAGI,iCAA+B;E/D4iQrC;E+D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DrhRE;IAGI,gCAA+B;E/DqhRrC;E+DxhRE;IAGI,yBAA+B;E/DwhRrC;E+D3hRE;IAGI,yBAA+B;E/D2hRrC;E+D9hRE;IAGI,6BAA+B;E/D8hRrC;E+DjiRE;IAGI,8BAA+B;E/DiiRrC;E+DpiRE;IAGI,wBAA+B;E/DoiRrC;E+DviRE;IAGI,+BAA+B;E/DuiRrC;E+D1iRE;IAGI,yBAA+B;E/D0iRrC;E+D7iRE;IAGI,8BAA+B;E/D6iRrC;E+DhjRE;IAGI,iCAA+B;E/DgjRrC;E+DnjRE;IAGI,sCAA+B;E/DmjRrC;E+DtjRE;IAGI,yCAA+B;E/DsjRrC;E+DzjRE;IAGI,uBAA+B;E/DyjRrC;E+D5jRE;IAGI,uBAA+B;E/D4jRrC;E+D/jRE;IAGI,yBAA+B;E/D+jRrC;E+DlkRE;IAGI,yBAA+B;E/DkkRrC;E+DrkRE;IAGI,0BAA+B;E/DqkRrC;E+DxkRE;IAGI,4BAA+B;E/DwkRrC;E+D3kRE;IAGI,kCAA+B;E/D2kRrC;E+D9kRE;IAGI,sCAA+B;E/D8kRrC;E+DjlRE;IAGI,oCAA+B;E/DilRrC;E+DplRE;IAGI,kCAA+B;E/DolRrC;E+DvlRE;IAGI,yCAA+B;E/DulRrC;E+D1lRE;IAGI,wCAA+B;E/D0lRrC;E+D7lRE;IAGI,kCAA+B;E/D6lRrC;E+DhmRE;IAGI,gCAA+B;E/DgmRrC;E+DnmRE;IAGI,8BAA+B;E/DmmRrC;E+DtmRE;IAGI,gCAA+B;E/DsmRrC;E+DzmRE;IAGI,+BAA+B;E/DymRrC;E+D5mRE;IAGI,oCAA+B;E/D4mRrC;E+D/mRE;IAGI,kCAA+B;E/D+mRrC;E+DlnRE;IAGI,gCAA+B;E/DknRrC;E+DrnRE;IAGI,uCAA+B;E/DqnRrC;E+DxnRE;IAGI,sCAA+B;E/DwnRrC;E+D3nRE;IAGI,iCAA+B;E/D2nRrC;E+D9nRE;IAGI,2BAA+B;E/D8nRrC;E+DjoRE;IAGI,iCAA+B;E/DioRrC;E+DpoRE;IAGI,+BAA+B;E/DooRrC;E+DvoRE;IAGI,6BAA+B;E/DuoRrC;E+D1oRE;IAGI,+BAA+B;E/D0oRrC;E+D7oRE;IAGI,8BAA+B;E/D6oRrC;E+DhpRE;IAGI,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","file":"bootstrap.css","sourcesContent":["/*!\n * Bootstrap v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n// Configuration\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"utilities\";\n\n\n// Layout & components\n\n@import \"root\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"alert\";\n@import \"progress\";\n@import \"list-group\";\n@import \"close\";\n@import \"toasts\";\n@import \"modal\";\n@import \"tooltip\";\n@import \"popover\";\n@import \"carousel\";\n@import \"spinners\";\n\n\n// Helpers\n\n@import \"helpers\";\n\n\n// Utilities\n\n@import \"utilities/api\";\n","/*!\n * Bootstrap v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n:root {\n --blue: #0d6efd;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #d63384;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #fff;\n --gray: #6c757d;\n --gray-dark: #343a40;\n --primary: #0d6efd;\n --secondary: #6c757d;\n --success: #28a745;\n --info: #17a2b8;\n --warning: #ffc107;\n --danger: #dc3545;\n --light: #f8f9fa;\n --dark: #343a40;\n --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n background-color: #fff;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n margin: 1rem 0;\n color: inherit;\n background-color: currentColor;\n border: 0;\n opacity: 0.25;\n}\n\nhr:not([size]) {\n height: 1px;\n}\n\nh1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall, .small {\n font-size: 0.875em;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 0.75em;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #0d6efd;\n text-decoration: none;\n}\n\na:hover {\n color: #024dbc;\n text-decoration: underline;\n}\n\na:not([href]), a:not([href]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: 0.875em;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\ncode {\n font-size: 0.875em;\n color: #d63384;\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 0.875em;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 1em;\n font-weight: 700;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nselect {\n word-wrap: normal;\n}\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: textfield;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n float: left;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nmark, .mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n::-webkit-datetime-edit {\n overflow: visible;\n line-height: 0;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: textfield;\n}\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\nmain {\n display: block;\n}\n\n[hidden] {\n display: none !important;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 0.875em;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 0.875em;\n color: #6c757d;\n}\n\n.blockquote-footer::before {\n content: \"\\2014\\00A0\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 0.875em;\n color: #6c757d;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid, .container-sm, .container-md, .container-lg, .container-xl {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.row-cols-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-md-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n margin-bottom: 1rem;\n color: #212529;\n vertical-align: top;\n}\n\n.table th,\n.table td {\n padding: 0.5rem;\n border-bottom: 1px solid #dee2e6;\n}\n\n.table tbody {\n vertical-align: inherit;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom-color: #495057;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #dee2e6;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.25rem;\n}\n\n.table-bordered {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-borderless th,\n.table-borderless td,\n.table-borderless thead th,\n.table-borderless tbody + tbody {\n border: 0;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n color: #212529;\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n background-color: #bbd6fe;\n}\n\n.table-primary th,\n.table-primary td,\n.table-primary thead th,\n.table-primary tbody + tbody {\n border-color: #81b4fe;\n}\n\n.table-hover .table-primary:hover {\n background-color: #a2c7fe;\n}\n\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n background-color: #a2c7fe;\n}\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n background-color: #d6d8db;\n}\n\n.table-secondary th,\n.table-secondary td,\n.table-secondary thead th,\n.table-secondary tbody + tbody {\n border-color: #b3b7bb;\n}\n\n.table-hover .table-secondary:hover {\n background-color: #c8cbcf;\n}\n\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n background-color: #c8cbcf;\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #c3e6cb;\n}\n\n.table-success th,\n.table-success td,\n.table-success thead th,\n.table-success tbody + tbody {\n border-color: #8fd19e;\n}\n\n.table-hover .table-success:hover {\n background-color: #b1dfbb;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #b1dfbb;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #bee5eb;\n}\n\n.table-info th,\n.table-info td,\n.table-info thead th,\n.table-info tbody + tbody {\n border-color: #86cfda;\n}\n\n.table-hover .table-info:hover {\n background-color: #abdde5;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #abdde5;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #ffeeba;\n}\n\n.table-warning th,\n.table-warning td,\n.table-warning thead th,\n.table-warning tbody + tbody {\n border-color: #ffdf7e;\n}\n\n.table-hover .table-warning:hover {\n background-color: #ffe8a1;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #ffe8a1;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f5c6cb;\n}\n\n.table-danger th,\n.table-danger td,\n.table-danger thead th,\n.table-danger tbody + tbody {\n border-color: #ed969e;\n}\n\n.table-hover .table-danger:hover {\n background-color: #f1b0b7;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #f1b0b7;\n}\n\n.table-light,\n.table-light > th,\n.table-light > td {\n background-color: #fdfdfe;\n}\n\n.table-light th,\n.table-light td,\n.table-light thead th,\n.table-light tbody + tbody {\n border-color: #fbfcfc;\n}\n\n.table-hover .table-light:hover {\n background-color: #ececf6;\n}\n\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n background-color: #ececf6;\n}\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n background-color: #c6c8ca;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th,\n.table-dark tbody + tbody {\n border-color: #95999c;\n}\n\n.table-hover .table-dark:hover {\n background-color: #b9bbbe;\n}\n\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n background-color: #b9bbbe;\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table .thead-dark th {\n color: #fff;\n background-color: #343a40;\n border-color: #454d55;\n}\n\n.table .thead-light th {\n color: #495057;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.table-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th {\n border-color: #454d55;\n}\n\n.table-dark.table-bordered {\n border: 0;\n}\n\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-dark.table-hover tbody tr:hover {\n color: #fff;\n background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-sm > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 767.98px) {\n .table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-md > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-lg > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-xl > .table-bordered {\n border: 0;\n }\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n.table-responsive > .table-bordered {\n border: 0;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n}\n\n.form-control {\n display: block;\n width: 100%;\n min-height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:focus {\n color: #495057;\n background-color: #fff;\n border-color: #8bbafe;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-control::placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: 0.375rem 0;\n margin-bottom: 0;\n line-height: 1.5;\n color: #212529;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm {\n min-height: calc(1.5em + 0.5rem + 2px);\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.form-control-lg {\n min-height: calc(1.5em + 1rem + 2px);\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.form-control-color {\n max-width: 3rem;\n padding: 0.375rem;\n}\n\n.form-control-color::-moz-color-swatch {\n border-radius: 0.25rem;\n}\n\n.form-control-color::-webkit-color-swatch {\n border-radius: 0.25rem;\n}\n\n.form-select {\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n background: #fff url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/16px 12px;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n appearance: none;\n}\n\n.form-select:focus {\n border-color: #8bbafe;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-select:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.form-select[multiple], .form-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none;\n}\n\n.form-select:disabled {\n color: #6c757d;\n background-color: #e9ecef;\n}\n\n.form-select::-ms-expand {\n display: none;\n}\n\n.form-select:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #495057;\n}\n\n.form-select-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n padding-left: 0.5rem;\n font-size: 0.875rem;\n}\n\n.form-select-lg {\n height: calc(1.5em + 1rem + 2px);\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 1rem;\n font-size: 1.25rem;\n}\n\n.form-check {\n display: block;\n min-height: 1.5rem;\n padding-left: 1.75em;\n margin-bottom: 0.125rem;\n}\n\n.form-check .form-check-input {\n float: left;\n margin-left: -1.75em;\n}\n\n.form-check-input {\n width: 1.25em;\n height: 1.25em;\n margin-top: 0.125em;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.25);\n appearance: none;\n}\n\n.form-check-input[type=\"checkbox\"] {\n border-radius: 0.25em;\n}\n\n.form-check-input[type=\"radio\"] {\n border-radius: 50%;\n}\n\n.form-check-input:active {\n filter: brightness(90%);\n}\n\n.form-check-input:focus {\n border-color: #8bbafe;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-check-input:checked {\n background-color: #0d6efd;\n background-repeat: no-repeat;\n background-position: center center;\n background-size: 1em;\n border-color: #0d6efd;\n}\n\n.form-check-input:checked[type=\"checkbox\"] {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M4 8.5L6.5 11l6-6'/%3e%3c/svg%3e\");\n}\n\n.form-check-input:checked[type=\"radio\"] {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e\");\n}\n\n.form-check-input[type=\"checkbox\"]:indeterminate {\n background-color: #0d6efd;\n background-repeat: no-repeat;\n background-position: center center;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M5 8h6'/%3e%3c/svg%3e\");\n background-size: 1em;\n border-color: #0d6efd;\n}\n\n.form-check-input[disabled] {\n pointer-events: none;\n filter: none;\n opacity: .5;\n}\n\n.form-check-input[disabled] ~ .form-check-label {\n opacity: .5;\n}\n\n.form-check-label {\n margin-bottom: 0;\n}\n\n.form-switch {\n padding-left: 2.5em;\n}\n\n.form-switch .form-check-input {\n width: 2em;\n margin-left: -2.5em;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba(0, 0, 0, 0.25)'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: left center;\n background-size: contain;\n border-radius: 2em;\n}\n\n.form-switch .form-check-input:focus {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2380bdff'/%3e%3c/svg%3e\");\n}\n\n.form-switch .form-check-input:checked {\n background-position: right center;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\");\n}\n\n.form-check-inline {\n display: inline-block;\n margin-right: 1rem;\n}\n\n.form-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin-bottom: 0;\n}\n\n.form-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin: 0;\n opacity: 0;\n}\n\n.form-file-input:focus ~ .form-file-label {\n border-color: #8bbafe;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-file-input:focus-within ~ .form-file-label {\n border-color: #8bbafe;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-file-input[disabled] ~ .form-file-label .form-file-text {\n background-color: #e9ecef;\n}\n\n.form-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n display: flex;\n height: calc(1.5em + 0.75rem + 2px);\n border-color: #ced4da;\n border-radius: 0.25rem;\n}\n\n.form-file-text {\n display: block;\n flex-grow: 1;\n padding: 0.375rem 0.75rem;\n overflow: hidden;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-overflow: ellipsis;\n white-space: nowrap;\n background-color: #fff;\n border-color: inherit;\n border-style: solid;\n border-width: 1px;\n border-top-left-radius: inherit;\n border-bottom-left-radius: inherit;\n}\n\n.form-file-button {\n display: block;\n flex-shrink: 0;\n padding: 0.375rem 0.75rem;\n margin-left: -1px;\n line-height: 1.5;\n color: #495057;\n background-color: #e9ecef;\n border-color: inherit;\n border-style: solid;\n border-width: 1px;\n border-top-right-radius: inherit;\n border-bottom-right-radius: inherit;\n}\n\n.form-range {\n width: 100%;\n height: 1.4rem;\n padding: 0;\n background-color: transparent;\n appearance: none;\n}\n\n.form-range:focus {\n outline: none;\n}\n\n.form-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-range:focus::-ms-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-range::-moz-focus-outer {\n border: 0;\n}\n\n.form-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: #0d6efd;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-range::-webkit-slider-thumb {\n transition: none;\n }\n}\n\n.form-range::-webkit-slider-thumb:active {\n background-color: #bed8fe;\n}\n\n.form-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.form-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #0d6efd;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-range::-moz-range-thumb {\n transition: none;\n }\n}\n\n.form-range::-moz-range-thumb:active {\n background-color: #bed8fe;\n}\n\n.form-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.form-range::-ms-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: 0;\n margin-right: 0.2rem;\n margin-left: 0.2rem;\n background-color: #0d6efd;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-range::-ms-thumb {\n transition: none;\n }\n}\n\n.form-range::-ms-thumb:active {\n background-color: #bed8fe;\n}\n\n.form-range::-ms-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: transparent;\n border-color: transparent;\n border-width: 0.5rem;\n}\n\n.form-range::-ms-fill-lower {\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.form-range::-ms-fill-upper {\n margin-right: 15px;\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.form-range:disabled::-webkit-slider-thumb {\n background-color: #adb5bd;\n}\n\n.form-range:disabled::-webkit-slider-runnable-track {\n cursor: default;\n}\n\n.form-range:disabled::-moz-range-thumb {\n background-color: #adb5bd;\n}\n\n.form-range:disabled::-moz-range-track {\n cursor: default;\n}\n\n.form-range:disabled::-ms-thumb {\n background-color: #adb5bd;\n}\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px;\n}\n\n.form-row > .col,\n.form-row > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px;\n}\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-plaintext {\n display: inline-block;\n }\n .form-inline .input-group,\n .form-inline .form-select {\n width: auto;\n }\n .form-inline .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n flex-shrink: 0;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n}\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n}\n\n.input-group > .form-control,\n.input-group > .form-select,\n.input-group > .form-file {\n position: relative;\n flex: 1 1 0%;\n min-width: 0;\n margin-bottom: 0;\n}\n\n.input-group > .form-control + .form-control,\n.input-group > .form-control + .form-select,\n.input-group > .form-control + .form-file,\n.input-group > .form-select + .form-control,\n.input-group > .form-select + .form-select,\n.input-group > .form-select + .form-file,\n.input-group > .form-file + .form-control,\n.input-group > .form-file + .form-select,\n.input-group > .form-file + .form-file {\n margin-left: -1px;\n}\n\n.input-group > .form-control:focus,\n.input-group > .form-select:focus,\n.input-group > .form-file .form-file-input:focus ~ .form-file-label {\n z-index: 3;\n}\n\n.input-group > .form-file .form-file-input:focus {\n z-index: 4;\n}\n\n.input-group > .form-control:not(:last-child),\n.input-group > .form-select:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-control:not(:first-child),\n.input-group > .form-select:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group > .form-file {\n display: flex;\n align-items: center;\n}\n\n.input-group > .form-file:not(:last-child) .form-file-label {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-file:not(:first-child) .form-file-label {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n}\n\n.input-group-prepend .btn,\n.input-group-append .btn {\n position: relative;\n z-index: 2;\n}\n\n.input-group-prepend .btn:focus,\n.input-group-append .btn:focus {\n z-index: 3;\n}\n\n.input-group-prepend .btn + .btn,\n.input-group-prepend .btn + .input-group-text,\n.input-group-prepend .input-group-text + .input-group-text,\n.input-group-prepend .input-group-text + .btn,\n.input-group-append .btn + .btn,\n.input-group-append .btn + .input-group-text,\n.input-group-append .input-group-text + .input-group-text,\n.input-group-append .input-group-text + .btn {\n margin-left: -1px;\n}\n\n.input-group-prepend {\n margin-right: -1px;\n}\n\n.input-group-append {\n margin-left: -1px;\n}\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-text input[type=\"radio\"],\n.input-group-text input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group-lg > .form-control {\n min-height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-select {\n height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .form-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.input-group-sm > .form-control {\n min-height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-select {\n height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .form-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.input-group-lg > .form-select,\n.input-group-sm > .form-select {\n padding-right: 1.75rem;\n}\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: #28a745;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n color: #fff;\n background-color: rgba(40, 167, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :valid ~ .valid-feedback,\n.was-validated :valid ~ .valid-tooltip,\n.is-valid ~ .valid-feedback,\n.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid {\n border-color: #28a745;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .form-select:valid, .form-select.is-valid {\n border-color: #28a745;\n padding-right: calc(0.75em + 2.3125rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/16px 12px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-select:valid:focus, .form-select.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-check-input:valid, .form-check-input.is-valid {\n border-color: #28a745;\n}\n\n.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {\n background-color: #34ce57;\n}\n\n.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #28a745;\n}\n\n.form-check-inline .form-check-input ~ .valid-feedback {\n margin-left: .5em;\n}\n\n.was-validated .form-file-input:valid ~ .form-file-label, .form-file-input.is-valid ~ .form-file-label {\n border-color: #28a745;\n}\n\n.was-validated .form-file-input:valid:focus ~ .form-file-label, .form-file-input.is-valid:focus ~ .form-file-label {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :invalid ~ .invalid-feedback,\n.was-validated :invalid ~ .invalid-tooltip,\n.is-invalid ~ .invalid-feedback,\n.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: #dc3545;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .form-select:invalid, .form-select.is-invalid {\n border-color: #dc3545;\n padding-right: calc(0.75em + 2.3125rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/16px 12px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-check-input:invalid, .form-check-input.is-invalid {\n border-color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {\n background-color: #e4606d;\n}\n\n.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dc3545;\n}\n\n.form-check-inline .form-check-input ~ .invalid-feedback {\n margin-left: .5em;\n}\n\n.was-validated .form-file-input:invalid ~ .form-file-label, .form-file-input.is-invalid ~ .form-file-label {\n border-color: #dc3545;\n}\n\n.was-validated .form-file-input:invalid:focus ~ .form-file-label, .form-file-input.is-invalid:focus ~ .form-file-label {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: center;\n vertical-align: middle;\n cursor: pointer;\n user-select: none;\n background-color: transparent;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n\n.btn:hover {\n color: #212529;\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n opacity: 0.65;\n}\n\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #025ce2;\n border-color: #0257d5;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n color: #fff;\n background-color: #025ce2;\n border-color: #0257d5;\n box-shadow: 0 0 0 0.2rem rgba(49, 132, 253, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0257d5;\n border-color: #0252c9;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(49, 132, 253, 0.5);\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #545b62;\n border-color: #4e555b;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-success {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #1e7e34;\n border-color: #1c7430;\n}\n\n.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #117a8b;\n border-color: #10707f;\n}\n\n.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-warning {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,\n.show > .btn-warning.dropdown-toggle {\n color: #212529;\n background-color: #d39e00;\n border-color: #c69500;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #bd2130;\n border-color: #b21f2d;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-light {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-light.disabled, .btn-light:disabled {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,\n.show > .btn-light.dropdown-toggle {\n color: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df;\n}\n\n.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n}\n\n.btn-dark:focus, .btn-dark.focus {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-dark.disabled, .btn-dark:disabled {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,\n.show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-outline-primary {\n color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #0d6efd;\n background-color: transparent;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.5);\n}\n\n.btn-outline-secondary {\n color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-success {\n color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-info {\n color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #17a2b8;\n background-color: transparent;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-warning {\n color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-danger {\n color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light.disabled, .btn-outline-light:disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,\n.show > .btn-outline-light.dropdown-toggle {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-dark {\n color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark.disabled, .btn-outline-dark:disabled {\n color: #343a40;\n background-color: transparent;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,\n.show > .btn-outline-dark.dropdown-toggle {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-link {\n font-weight: 400;\n color: #0d6efd;\n text-decoration: none;\n}\n\n.btn-link:hover {\n color: #024dbc;\n text-decoration: underline;\n}\n\n.btn-link:focus, .btn-link.focus {\n text-decoration: underline;\n box-shadow: none;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n pointer-events: none;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\n.fade {\n transition: opacity 0.15s linear;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\n}\n\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse:not(.show) {\n display: none;\n}\n\n.collapsing {\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n@media (min-width: 576px) {\n .dropdown-menu-sm-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-sm-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 768px) {\n .dropdown-menu-md-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-md-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 992px) {\n .dropdown-menu-lg-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-lg-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 1200px) {\n .dropdown-menu-xl-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xl-right {\n right: 0;\n left: auto;\n }\n}\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: 0.125rem;\n}\n\n.dropright .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropleft .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: 0.125rem;\n}\n\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n\n.dropleft .dropdown-toggle::after {\n display: none;\n}\n\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-menu[x-placement^=\"top\"], .dropdown-menu[x-placement^=\"right\"], .dropdown-menu[x-placement^=\"bottom\"], .dropdown-menu[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1.5rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n\n.dropdown-item:hover, .dropdown-item:focus {\n color: #16181b;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #0d6efd;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: 0.25rem 1.5rem;\n color: #212529;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 1 1 auto;\n}\n\n.btn-group > .btn:hover, .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:hover,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) {\n margin-left: -1px;\n}\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n\n.dropdown-toggle-split::after,\n.dropup .dropdown-toggle-split::after,\n.dropright .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle-split::before {\n margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: -1px;\n}\n\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group-toggle > .btn,\n.btn-group-toggle > .btn-group > .btn {\n margin-bottom: 0;\n}\n\n.btn-group-toggle > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn input[type=\"checkbox\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n}\n\n.nav-link:hover, .nav-link:focus {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #6c757d;\n pointer-events: none;\n cursor: default;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n}\n\n.nav-tabs .nav-item {\n margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6 #dee2e6 #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #0d6efd;\n}\n\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar .container,\n.navbar .container-fluid, .navbar .container-sm, .navbar .container-md, .navbar .container-lg, .navbar .container-xl {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static;\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n align-items: center;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:hover, .navbar-toggler:focus {\n text-decoration: none;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-expand {\n flex-flow: row nowrap;\n justify-content: flex-start;\n}\n\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\n flex-wrap: nowrap;\n}\n\n.navbar-expand .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.5);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-text a,\n.navbar-light .navbar-text a:hover,\n.navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.5);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-text a,\n.navbar-dark .navbar-text a:hover,\n.navbar-dark .navbar-text a:focus {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n\n.card > .list-group:first-child .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.card > .list-group:last-child .list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.card-body {\n flex: 1 1 auto;\n min-height: 1px;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-header + .list-group .list-group-item:first-child {\n border-top: 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n flex-shrink: 0;\n width: 100%;\n}\n\n.card-img,\n.card-img-top {\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img,\n.card-img-bottom {\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-deck .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-deck {\n display: flex;\n flex-flow: row wrap;\n margin-right: -15px;\n margin-left: -15px;\n }\n .card-deck .card {\n flex: 1 0 0%;\n margin-right: 15px;\n margin-bottom: 0;\n margin-left: 15px;\n }\n}\n\n.card-group > .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-group {\n display: flex;\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-top,\n .card-group > .card:not(:last-child) .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-bottom,\n .card-group > .card:not(:last-child) .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-top,\n .card-group > .card:not(:first-child) .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-bottom,\n .card-group > .card:not(:first-child) .card-footer {\n border-bottom-left-radius: 0;\n }\n}\n\n.accordion > .card {\n overflow: hidden;\n}\n\n.accordion > .card:not(:last-of-type) {\n border-bottom: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.accordion > .card:not(:first-of-type) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.accordion > .card > .card-header {\n border-radius: 0;\n margin-bottom: -1px;\n}\n\n.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: 0.5rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n color: #6c757d;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #6c757d;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n}\n\n.page-link {\n position: relative;\n display: block;\n color: #0d6efd;\n background-color: #fff;\n border: 1px solid #dee2e6;\n}\n\n.page-link:hover {\n z-index: 2;\n color: #024dbc;\n text-decoration: none;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.page-link:focus {\n z-index: 3;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.page-item:not(:first-child) .page-link {\n margin-left: -1px;\n}\n\n.page-item.active .page-link {\n z-index: 3;\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n cursor: auto;\n background-color: #fff;\n border-color: #dee2e6;\n}\n\n.page-link {\n padding: 0.375rem 0.75rem;\n}\n\n.page-item:first-child .page-link {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.5em;\n font-size: 0.75em;\n font-weight: 700;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible {\n padding-right: 4rem;\n}\n\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-primary {\n color: #073984;\n background-color: #cfe2ff;\n border-color: #bbd6fe;\n}\n\n.alert-primary .alert-link {\n color: #042454;\n}\n\n.alert-secondary {\n color: #383d41;\n background-color: #e2e3e5;\n border-color: #d6d8db;\n}\n\n.alert-secondary .alert-link {\n color: #202326;\n}\n\n.alert-success {\n color: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info .alert-link {\n color: #062c33;\n}\n\n.alert-warning {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}\n\n.alert-warning .alert-link {\n color: #533f03;\n}\n\n.alert-danger {\n color: #721c24;\n background-color: #f8d7da;\n border-color: #f5c6cb;\n}\n\n.alert-danger .alert-link {\n color: #491217;\n}\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light .alert-link {\n color: #686868;\n}\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca;\n}\n\n.alert-dark .alert-link {\n color: #040505;\n}\n\n@keyframes progress-bar-stripes {\n 0% {\n background-position-x: 1rem;\n }\n}\n\n.progress {\n display: flex;\n height: 1rem;\n overflow: hidden;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n background-color: #0d6efd;\n transition: width 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n animation: none;\n }\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n\n.list-group-item-action:hover, .list-group-item-action:focus {\n z-index: 1;\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.list-group-item + .list-group-item {\n border-top-width: 0;\n}\n\n.list-group-item + .list-group-item.active {\n margin-top: -1px;\n border-top-width: 1px;\n}\n\n.list-group-horizontal {\n flex-direction: row;\n}\n\n.list-group-horizontal .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n}\n\n.list-group-horizontal .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n}\n\n.list-group-horizontal .list-group-item.active {\n margin-top: 0;\n}\n\n.list-group-horizontal .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n}\n\n.list-group-horizontal .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n}\n\n@media (min-width: 576px) {\n .list-group-horizontal-sm {\n flex-direction: row;\n }\n .list-group-horizontal-sm .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-sm .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-sm .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-sm .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-sm .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 768px) {\n .list-group-horizontal-md {\n flex-direction: row;\n }\n .list-group-horizontal-md .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-md .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-md .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-md .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-md .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 992px) {\n .list-group-horizontal-lg {\n flex-direction: row;\n }\n .list-group-horizontal-lg .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-lg .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-lg .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-lg .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-lg .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 1200px) {\n .list-group-horizontal-xl {\n flex-direction: row;\n }\n .list-group-horizontal-xl .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xl .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xl .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xl .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-xl .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n.list-group-flush .list-group-item {\n border-right-width: 0;\n border-left-width: 0;\n border-radius: 0;\n}\n\n.list-group-flush .list-group-item:first-child {\n border-top-width: 0;\n}\n\n.list-group-flush:last-child .list-group-item:last-child {\n border-bottom-width: 0;\n}\n\n.list-group-item-primary {\n color: #073984;\n background-color: #bbd6fe;\n}\n\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #073984;\n background-color: #a2c7fe;\n}\n\n.list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #073984;\n border-color: #073984;\n}\n\n.list-group-item-secondary {\n color: #383d41;\n background-color: #d6d8db;\n}\n\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #383d41;\n background-color: #c8cbcf;\n}\n\n.list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #383d41;\n border-color: #383d41;\n}\n\n.list-group-item-success {\n color: #155724;\n background-color: #c3e6cb;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #155724;\n background-color: #b1dfbb;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #0c5460;\n background-color: #abdde5;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\n}\n\n.list-group-item-warning {\n color: #856404;\n background-color: #ffeeba;\n}\n\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #856404;\n background-color: #ffe8a1;\n}\n\n.list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #856404;\n border-color: #856404;\n}\n\n.list-group-item-danger {\n color: #721c24;\n background-color: #f5c6cb;\n}\n\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #721c24;\n background-color: #f1b0b7;\n}\n\n.list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #721c24;\n border-color: #721c24;\n}\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe;\n}\n\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #818182;\n background-color: #ececf6;\n}\n\n.list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182;\n}\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca;\n}\n\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #1b1e21;\n background-color: #b9bbbe;\n}\n\n.list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21;\n}\n\n.close {\n font-size: 1.5rem;\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:hover {\n color: #000;\n text-decoration: none;\n}\n\n.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {\n opacity: .75;\n}\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n appearance: none;\n}\n\na.close.disabled {\n pointer-events: none;\n}\n\n.toast {\n max-width: 350px;\n overflow: hidden;\n font-size: 0.875rem;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n backdrop-filter: blur(10px);\n opacity: 0;\n border-radius: 0.25rem;\n}\n\n.toast:not(:last-child) {\n margin-bottom: 0.75rem;\n}\n\n.toast.showing {\n opacity: 1;\n}\n\n.toast.show {\n display: block;\n opacity: 1;\n}\n\n.toast.hide {\n display: none;\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: 0.25rem 0.75rem;\n color: #6c757d;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n}\n\n.toast-body {\n padding: 0.75rem;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1050;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n outline: 0;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -50px);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n\n.modal.show .modal-dialog {\n transform: none;\n}\n\n.modal.modal-static .modal-dialog {\n transform: scale(1.02);\n}\n\n.modal-dialog-scrollable {\n display: flex;\n max-height: calc(100% - 1rem);\n}\n\n.modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 1rem);\n overflow: hidden;\n}\n\n.modal-dialog-scrollable .modal-header,\n.modal-dialog-scrollable .modal-footer {\n flex-shrink: 0;\n}\n\n.modal-dialog-scrollable .modal-body {\n overflow-y: auto;\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - 1rem);\n}\n\n.modal-dialog-centered::before {\n display: block;\n height: calc(100vh - 1rem);\n content: \"\";\n}\n\n.modal-dialog-centered.modal-dialog-scrollable {\n flex-direction: column;\n justify-content: center;\n height: 100%;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable .modal-content {\n max-height: none;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable::before {\n content: none;\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1040;\n width: 100vw;\n height: 100vh;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n padding: 1rem 1rem;\n border-bottom: 1px solid #dee2e6;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.modal-header .close {\n padding: 1rem 1rem;\n margin: -1rem -1rem -1rem auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 1rem;\n}\n\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: flex-end;\n padding: 0.75rem;\n border-top: 1px solid #dee2e6;\n border-bottom-right-radius: calc(0.3rem - 1px);\n border-bottom-left-radius: calc(0.3rem - 1px);\n}\n\n.modal-footer > * {\n margin: 0.25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto;\n }\n .modal-dialog-scrollable {\n max-height: calc(100% - 3.5rem);\n }\n .modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 3.5rem);\n }\n .modal-dialog-centered {\n min-height: calc(100% - 3.5rem);\n }\n .modal-dialog-centered::before {\n height: calc(100vh - 3.5rem);\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg,\n .modal-xl {\n max-width: 800px;\n }\n}\n\n@media (min-width: 1200px) {\n .modal-xl {\n max-width: 1140px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .tooltip-arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n\n.tooltip .tooltip-arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"top\"] .tooltip-arrow {\n bottom: 0;\n}\n\n.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .tooltip-arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000;\n}\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-right .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"right\"] .tooltip-arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-right .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .tooltip-arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .tooltip-arrow {\n top: 0;\n}\n\n.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .tooltip-arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000;\n}\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-left .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"left\"] .tooltip-arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-left .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .tooltip-arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .popover-arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem;\n}\n\n.popover .popover-arrow::before, .popover .popover-arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem;\n}\n\n.bs-popover-top > .popover-arrow, .bs-popover-auto[x-placement^=\"top\"] > .popover-arrow {\n bottom: calc(-0.5rem - 1px);\n}\n\n.bs-popover-top > .popover-arrow::before, .bs-popover-auto[x-placement^=\"top\"] > .popover-arrow::before {\n bottom: 0;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-top > .popover-arrow::after, .bs-popover-auto[x-placement^=\"top\"] > .popover-arrow::after {\n bottom: 1px;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: #fff;\n}\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem;\n}\n\n.bs-popover-right > .popover-arrow, .bs-popover-auto[x-placement^=\"right\"] > .popover-arrow {\n left: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-right > .popover-arrow::before, .bs-popover-auto[x-placement^=\"right\"] > .popover-arrow::before {\n left: 0;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-right > .popover-arrow::after, .bs-popover-auto[x-placement^=\"right\"] > .popover-arrow::after {\n left: 1px;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: #fff;\n}\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem;\n}\n\n.bs-popover-bottom > .popover-arrow, .bs-popover-auto[x-placement^=\"bottom\"] > .popover-arrow {\n top: calc(-0.5rem - 1px);\n}\n\n.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] > .popover-arrow::before {\n top: 0;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] > .popover-arrow::after {\n top: 1px;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: #fff;\n}\n\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem;\n}\n\n.bs-popover-left > .popover-arrow, .bs-popover-auto[x-placement^=\"left\"] > .popover-arrow {\n right: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-left > .popover-arrow::before, .bs-popover-auto[x-placement^=\"left\"] > .popover-arrow::before {\n right: 0;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-left > .popover-arrow::after, .bs-popover-auto[x-placement^=\"left\"] > .popover-arrow::after {\n right: 1px;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 0.5rem 0.75rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-inner::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n transition: transform 0.6s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n}\n\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n}\n\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n transition: opacity 0s 0.6s;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-left,\n .carousel-fade .active.carousel-item-right {\n transition: none;\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n transition: opacity 0.15s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n transition: none;\n }\n}\n\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: 0.9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: no-repeat 50% / 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #fff;\n background-clip: padding-box;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n opacity: 0.5;\n transition: opacity 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-indicators li {\n transition: none;\n }\n}\n\n.carousel-indicators .active {\n opacity: 1;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 1.25rem;\n left: 15%;\n padding-top: 1.25rem;\n padding-bottom: 1.25rem;\n color: #fff;\n text-align: center;\n}\n\n@keyframes spinner-border {\n to {\n transform: rotate(360deg);\n }\n}\n\n.spinner-border {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n border: 0.25em solid currentColor;\n border-right-color: transparent;\n border-radius: 50%;\n animation: spinner-border .75s linear infinite;\n}\n\n.spinner-border-sm {\n width: 1rem;\n height: 1rem;\n border-width: 0.2em;\n}\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n background-color: currentColor;\n border-radius: 50%;\n opacity: 0;\n animation: spinner-grow .75s linear infinite;\n}\n\n.spinner-grow-sm {\n width: 1rem;\n height: 1rem;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.link-primary {\n color: #0d6efd;\n}\n\n.link-primary:hover, .link-primary:focus {\n color: #024dbc;\n}\n\n.link-secondary {\n color: #6c757d;\n}\n\n.link-secondary:hover, .link-secondary:focus {\n color: #494f54;\n}\n\n.link-success {\n color: #28a745;\n}\n\n.link-success:hover, .link-success:focus {\n color: #19692c;\n}\n\n.link-info {\n color: #17a2b8;\n}\n\n.link-info:hover, .link-info:focus {\n color: #0f6674;\n}\n\n.link-warning {\n color: #ffc107;\n}\n\n.link-warning:hover, .link-warning:focus {\n color: #ba8b00;\n}\n\n.link-danger {\n color: #dc3545;\n}\n\n.link-danger:hover, .link-danger:focus {\n color: #a71d2a;\n}\n\n.link-light {\n color: #f8f9fa;\n}\n\n.link-light:hover, .link-light:focus {\n color: #cbd3da;\n}\n\n.link-dark {\n color: #343a40;\n}\n\n.link-dark:hover, .link-dark:focus {\n color: #121416;\n}\n\n.embed-responsive {\n position: relative;\n width: 100%;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n@supports (position: sticky) {\n .sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n @media (min-width: 576px) {\n .sticky-sm-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n }\n @media (min-width: 768px) {\n .sticky-md-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n }\n @media (min-width: 992px) {\n .sticky-lg-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n }\n @media (min-width: 1200px) {\n .sticky-xl-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n }\n}\n\n.sr-only,\n.sr-only-focusable:not(:focus) {\n position: absolute !important;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important;\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n}\n\n.stretched-link::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n content: \"\";\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: sticky !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #0d6efd !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mr-3 {\n margin-right: 1rem !important;\n}\n\n.mr-4 {\n margin-right: 1.5rem !important;\n}\n\n.mr-5 {\n margin-right: 3rem !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.ml-3 {\n margin-left: 1rem !important;\n}\n\n.ml-4 {\n margin-left: 1.5rem !important;\n}\n\n.ml-5 {\n margin-left: 3rem !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mx-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n}\n\n.mx-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n}\n\n.mx-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n}\n\n.mx-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n}\n\n.mx-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n}\n\n.my-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n}\n\n.my-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n}\n\n.my-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n}\n\n.my-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n}\n\n.my-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n}\n\n.mt-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mt-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mt-n3 {\n margin-top: -1rem !important;\n}\n\n.mt-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mt-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mr-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mr-n3 {\n margin-right: -1rem !important;\n}\n\n.mr-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mr-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.mb-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.mb-n3 {\n margin-bottom: -1rem !important;\n}\n\n.mb-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.mb-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n1 {\n margin-left: -0.25rem !important;\n}\n\n.ml-n2 {\n margin-left: -0.5rem !important;\n}\n\n.ml-n3 {\n margin-left: -1rem !important;\n}\n\n.ml-n4 {\n margin-left: -1.5rem !important;\n}\n\n.ml-n5 {\n margin-left: -3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pr-3 {\n padding-right: 1rem !important;\n}\n\n.pr-4 {\n padding-right: 1.5rem !important;\n}\n\n.pr-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.pl-3 {\n padding-left: 1rem !important;\n}\n\n.pl-4 {\n padding-left: 1.5rem !important;\n}\n\n.pl-5 {\n padding-left: 3rem !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-lighter {\n font-weight: lighter !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-weight-bolder {\n font-weight: bolder !important;\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-primary {\n color: #0d6efd !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\n.text-success {\n color: #28a745 !important;\n}\n\n.text-info {\n color: #17a2b8 !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-reset {\n color: inherit !important;\n}\n\n.lh-1 {\n line-height: 1 !important;\n}\n\n.lh-sm {\n line-height: 1.25 !important;\n}\n\n.lh-base {\n line-height: 1.5 !important;\n}\n\n.lh-lg {\n line-height: 2 !important;\n}\n\n.bg-primary {\n background-color: #0d6efd !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\n.bg-success {\n background-color: #28a745 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\n.bg-body {\n background-color: #fff !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.text-break {\n overflow-wrap: break-word !important;\n word-break: break-word !important;\n}\n\n.font-monospace {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-sm {\n border-radius: 0.2rem !important;\n}\n\n.rounded-lg {\n border-radius: 0.3rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: 50rem !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-bottom-left-radius: 0.25rem !important;\n border-top-left-radius: 0.25rem !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-0 {\n margin-right: 0 !important;\n }\n .mr-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mr-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mr-sm-3 {\n margin-right: 1rem !important;\n }\n .mr-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mr-sm-5 {\n margin-right: 3rem !important;\n }\n .mr-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-0 {\n margin-left: 0 !important;\n }\n .ml-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ml-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ml-sm-3 {\n margin-left: 1rem !important;\n }\n .ml-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ml-sm-5 {\n margin-left: 3rem !important;\n }\n .ml-sm-auto {\n margin-left: auto !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-sm-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-sm-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-sm-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-sm-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-sm-n3 {\n margin-top: -1rem !important;\n }\n .mt-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-sm-n3 {\n margin-right: -1rem !important;\n }\n .mr-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-sm-n3 {\n margin-left: -1rem !important;\n }\n .ml-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-sm-n5 {\n margin-left: -3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-0 {\n padding-right: 0 !important;\n }\n .pr-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pr-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pr-sm-3 {\n padding-right: 1rem !important;\n }\n .pr-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pr-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-0 {\n padding-left: 0 !important;\n }\n .pl-sm-1 {\n padding-left: 0.25rem !important;\n }\n .pl-sm-2 {\n padding-left: 0.5rem !important;\n }\n .pl-sm-3 {\n padding-left: 1rem !important;\n }\n .pl-sm-4 {\n padding-left: 1.5rem !important;\n }\n .pl-sm-5 {\n padding-left: 3rem !important;\n }\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n .text-sm-justify {\n text-align: justify !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .mr-md-0 {\n margin-right: 0 !important;\n }\n .mr-md-1 {\n margin-right: 0.25rem !important;\n }\n .mr-md-2 {\n margin-right: 0.5rem !important;\n }\n .mr-md-3 {\n margin-right: 1rem !important;\n }\n .mr-md-4 {\n margin-right: 1.5rem !important;\n }\n .mr-md-5 {\n margin-right: 3rem !important;\n }\n .mr-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-0 {\n margin-left: 0 !important;\n }\n .ml-md-1 {\n margin-left: 0.25rem !important;\n }\n .ml-md-2 {\n margin-left: 0.5rem !important;\n }\n .ml-md-3 {\n margin-left: 1rem !important;\n }\n .ml-md-4 {\n margin-left: 1.5rem !important;\n }\n .ml-md-5 {\n margin-left: 3rem !important;\n }\n .ml-md-auto {\n margin-left: auto !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-md-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-md-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-md-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-md-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-md-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-md-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-md-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-md-n3 {\n margin-top: -1rem !important;\n }\n .mt-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-md-n3 {\n margin-right: -1rem !important;\n }\n .mr-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-md-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-md-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-md-n3 {\n margin-left: -1rem !important;\n }\n .ml-md-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-md-n5 {\n margin-left: -3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-0 {\n padding-right: 0 !important;\n }\n .pr-md-1 {\n padding-right: 0.25rem !important;\n }\n .pr-md-2 {\n padding-right: 0.5rem !important;\n }\n .pr-md-3 {\n padding-right: 1rem !important;\n }\n .pr-md-4 {\n padding-right: 1.5rem !important;\n }\n .pr-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-0 {\n padding-left: 0 !important;\n }\n .pl-md-1 {\n padding-left: 0.25rem !important;\n }\n .pl-md-2 {\n padding-left: 0.5rem !important;\n }\n .pl-md-3 {\n padding-left: 1rem !important;\n }\n .pl-md-4 {\n padding-left: 1.5rem !important;\n }\n .pl-md-5 {\n padding-left: 3rem !important;\n }\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n .text-md-justify {\n text-align: justify !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-0 {\n margin-right: 0 !important;\n }\n .mr-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mr-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mr-lg-3 {\n margin-right: 1rem !important;\n }\n .mr-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mr-lg-5 {\n margin-right: 3rem !important;\n }\n .mr-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-0 {\n margin-left: 0 !important;\n }\n .ml-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ml-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ml-lg-3 {\n margin-left: 1rem !important;\n }\n .ml-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ml-lg-5 {\n margin-left: 3rem !important;\n }\n .ml-lg-auto {\n margin-left: auto !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-lg-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-lg-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-lg-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-lg-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-lg-n3 {\n margin-top: -1rem !important;\n }\n .mt-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-lg-n3 {\n margin-right: -1rem !important;\n }\n .mr-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-lg-n3 {\n margin-left: -1rem !important;\n }\n .ml-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-lg-n5 {\n margin-left: -3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-0 {\n padding-right: 0 !important;\n }\n .pr-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pr-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pr-lg-3 {\n padding-right: 1rem !important;\n }\n .pr-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pr-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-0 {\n padding-left: 0 !important;\n }\n .pl-lg-1 {\n padding-left: 0.25rem !important;\n }\n .pl-lg-2 {\n padding-left: 0.5rem !important;\n }\n .pl-lg-3 {\n padding-left: 1rem !important;\n }\n .pl-lg-4 {\n padding-left: 1.5rem !important;\n }\n .pl-lg-5 {\n padding-left: 3rem !important;\n }\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n .text-lg-justify {\n text-align: justify !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-0 {\n margin-right: 0 !important;\n }\n .mr-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mr-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mr-xl-3 {\n margin-right: 1rem !important;\n }\n .mr-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mr-xl-5 {\n margin-right: 3rem !important;\n }\n .mr-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-0 {\n margin-left: 0 !important;\n }\n .ml-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ml-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ml-xl-3 {\n margin-left: 1rem !important;\n }\n .ml-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ml-xl-5 {\n margin-left: 3rem !important;\n }\n .ml-xl-auto {\n margin-left: auto !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-xl-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-xl-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-xl-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-xl-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-xl-n3 {\n margin-top: -1rem !important;\n }\n .mt-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-xl-n3 {\n margin-right: -1rem !important;\n }\n .mr-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-xl-n3 {\n margin-left: -1rem !important;\n }\n .ml-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-xl-n5 {\n margin-left: -3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-0 {\n padding-right: 0 !important;\n }\n .pr-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pr-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pr-xl-3 {\n padding-right: 1rem !important;\n }\n .pr-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pr-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-0 {\n padding-left: 0 !important;\n }\n .pl-xl-1 {\n padding-left: 0.25rem !important;\n }\n .pl-xl-2 {\n padding-left: 0.5rem !important;\n }\n .pl-xl-3 {\n padding-left: 1rem !important;\n }\n .pl-xl-4 {\n padding-left: 1.5rem !important;\n }\n .pl-xl-5 {\n padding-left: 3rem !important;\n }\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n .text-xl-justify {\n text-align: justify !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */",":root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$color}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --font-family-sans-serif: #{inspect($font-family-sans-serif)};\n --font-family-monospace: #{inspect($font-family-monospace)};\n}\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n// Root\n//\n// 1. Ability to the value of the root font sizes, affecting the value of `rem`.\n// null by default, thus nothing is generated.\n\n:root {\n font-size: $font-size-root; // 1\n}\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 4. Change the default tap highlight to be completely transparent in iOS.\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: $body-text-align;\n background-color: $body-bg; // 2\n -webkit-text-size-adjust: 100%; // 3\n -webkit-tap-highlight-color: rgba($black, 0); // 4\n}\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n//\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Reset Firefox's gray color\n// 2. Set correct height and prevent the `size` attribute to make the `hr` look like an input field\n// See https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_hr_size\n\nhr {\n margin: $hr-margin-y 0;\n color: $hr-color; // 1\n background-color: currentColor;\n border: 0;\n opacity: $hr-opacity;\n}\n\nhr:not([size]) {\n height: $hr-height; // 2\n}\n\n\n// Typography\n//\n// 1. Remove top margins from headings\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n\n%heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1 {\n @extend %heading;\n @include font-size($h1-font-size);\n}\n\nh2 {\n @extend %heading;\n @include font-size($h2-font-size);\n}\n\nh3 {\n @extend %heading;\n @include font-size($h3-font-size);\n}\n\nh4 {\n @extend %heading;\n @include font-size($h4-font-size);\n}\n\nh5 {\n @extend %heading;\n @include font-size($h5-font-size);\n}\n\nh6 {\n @extend %heading;\n @include font-size($h6-font-size);\n}\n\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\n\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n text-decoration-skip-ink: none; // 4\n}\n\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\n// 1. Undo browser default\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // 1\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\n// Add the correct font weight in Chrome, Edge, and Safari\n\nb,\nstrong {\n font-weight: $font-weight-bolder;\n}\n\n\n// Add the correct font size in all browsers\n\nsmall {\n @include font-size($small-font-size);\n}\n\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n\nsub,\nsup {\n position: relative;\n @include font-size($sub-sup-font-size);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n// Links\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n\n &:hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n// Code\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\n// 1. Remove browser default top margin\n// 2. Reset browser default of `1em` to use `rem`s\n// 3. Don't allow content to break outside\n\npre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n\n kbd {\n padding: 0;\n @include font-size(1em);\n font-weight: $nested-kbd-font-weight;\n }\n}\n\n\n// Figures\n\n// Apply a consistent margin strategy (matches our type styles).\n\nfigure {\n margin: 0 0 1rem;\n}\n\n\n// Images and content\n\nimg {\n vertical-align: middle;\n}\n\n// 1. Workaround for the SVG overflow bug in IE 11 is still required.\n// See https://github.com/twbs/bootstrap/issues/26878\n\nsvg {\n overflow: hidden; // 1\n vertical-align: middle;\n}\n\n\n// Tables\n\n// Prevent double borders\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\n// Matches default `<td>` alignment by inheriting from the `<body>`, or the\n// closest parent with a set `text-align`.\n\nth {\n text-align: inherit;\n}\n\n\n// Forms\n\n// 1. Allow labels to use `margin` for spacing.\n\nlabel {\n display: inline-block; // 1\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\n\nbutton {\n // stylelint-disable-next-line property-blacklist\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\n// 1. Remove the margin in Firefox and Safari\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\n// Show the overflow in Edge\n\nbutton,\ninput {\n overflow: visible;\n}\n\n// Remove the inheritance of text transform in Firefox\n\nbutton,\nselect {\n text-transform: none;\n}\n\n// Remove the inheritance of word-wrap in Safari.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24990\n\nselect {\n word-wrap: normal;\n}\n\n// Remove the dropdown arrow in Chrome from inputs built with datalists.\n//\n// Source: https://stackoverflow.com/a/54997118\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n// 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n\n @if $enable-pointer-cursor-for-buttons {\n &:not(:disabled) {\n cursor: pointer; // 3\n }\n }\n}\n\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\n\n// Remove the default appearance of temporal inputs to avoid a Mobile Safari\n// bug where setting a custom line-height prevents text from being vertically\n// centered within the input.\n// See https://bugs.webkit.org/show_bug.cgi?id=139848\n// and https://github.com/twbs/bootstrap/issues/11266\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: textfield;\n}\n\n// 1. Remove the default vertical scrollbar in IE.\n// 2. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\ntextarea {\n overflow: auto; // 1\n resize: vertical; // 2\n}\n\n// 1. Browsers set a default `min-width: min-content;` on fieldsets,\n// unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n// So we reset that to ensure fieldsets behave more like a standard block element.\n// See https://github.com/twbs/bootstrap/issues/12359\n// and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n// 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\nfieldset {\n min-width: 0; // 1\n padding: 0; // 2\n margin: 0; // 2\n border: 0; // 2\n}\n\n\n// 1. By using `float: left`, the legend will behave like a block element\n// 2. Correct the color inheritance from `fieldset` elements in IE.\n// 3. Correct the text wrapping in Edge and IE.\n\nlegend {\n float: left; // 1\n width: 100%;\n padding: 0;\n margin-bottom: $legend-margin-bottom;\n @include font-size($legend-font-size);\n font-weight: $legend-font-weight;\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 3\n}\n\n\nmark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n// Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\nprogress {\n vertical-align: baseline;\n}\n\n\n// Fix height of inputs with a type of datetime-local, date, month, week, or time\n// See https://github.com/twbs/bootstrap/issues/18842\n\n::-webkit-datetime-edit {\n overflow: visible;\n line-height: 0;\n}\n\n\n// 1. Correct the outline style in Safari.\n// 2. This overrides the extra rounded corners on search inputs in iOS so that our\n// `.form-control` class can properly style them. Note that this cannot simply\n// be added to `.form-control` as it's not specific enough. For details, see\n// https://github.com/twbs/bootstrap/issues/11586.\n\n[type=\"search\"] {\n outline-offset: -2px; // 1\n -webkit-appearance: textfield; // 2\n}\n\n// Remove the inner padding in Chrome and Safari on macOS.\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n// Remove padding around color pickers in webkit browsers\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n// 1. Change font properties to `inherit` in Safari.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n\n::-webkit-file-upload-button {\n font: inherit; // 1\n -webkit-appearance: button; // 2\n}\n\n// Correct element displays\n\noutput {\n display: inline-block;\n}\n\n// 1. Add the correct display in all browsers\n\nsummary {\n display: list-item; // 1\n cursor: pointer;\n}\n\n// Add the correct display for template & main in IE 11\n\ntemplate {\n display: none;\n}\n\nmain {\n display: block;\n}\n\n// Always hide an element with the `hidden` HTML attribute.\n\n[hidden] {\n display: none !important;\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$grays: map-merge(\n (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n ),\n $grays\n);\n\n$blue: #0d6efd !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #d63384 !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: map-merge(\n (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n ),\n $colors\n);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$theme-colors: map-merge(\n (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n ),\n $theme-colors\n);\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n// fusv-disable\n$blue-100: tint-color($blue, 8) !default;\n$blue-200: tint-color($blue, 6) !default;\n$blue-300: tint-color($blue, 4) !default;\n$blue-400: tint-color($blue, 2) !default;\n$blue-500: $blue !default;\n$blue-600: shade-color($blue, 2) !default;\n$blue-700: shade-color($blue, 4) !default;\n$blue-800: shade-color($blue, 6) !default;\n$blue-900: shade-color($blue, 8) !default;\n\n$indigo-100: tint-color($indigo, 8) !default;\n$indigo-200: tint-color($indigo, 6) !default;\n$indigo-300: tint-color($indigo, 4) !default;\n$indigo-400: tint-color($indigo, 2) !default;\n$indigo-500: $indigo !default;\n$indigo-600: shade-color($indigo, 2) !default;\n$indigo-700: shade-color($indigo, 4) !default;\n$indigo-800: shade-color($indigo, 6) !default;\n$indigo-900: shade-color($indigo, 8) !default;\n\n$purple-100: tint-color($purple, 8) !default;\n$purple-200: tint-color($purple, 6) !default;\n$purple-300: tint-color($purple, 4) !default;\n$purple-400: tint-color($purple, 2) !default;\n$purple-500: $purple !default;\n$purple-600: shade-color($purple, 2) !default;\n$purple-700: shade-color($purple, 4) !default;\n$purple-800: shade-color($purple, 6) !default;\n$purple-900: shade-color($purple, 8) !default;\n\n$pink-100: tint-color($pink, 8) !default;\n$pink-200: tint-color($pink, 6) !default;\n$pink-300: tint-color($pink, 4) !default;\n$pink-400: tint-color($pink, 2) !default;\n$pink-500: $pink !default;\n$pink-600: shade-color($pink, 2) !default;\n$pink-700: shade-color($pink, 4) !default;\n$pink-800: shade-color($pink, 6) !default;\n$pink-900: shade-color($pink, 8) !default;\n\n$red-100: tint-color($red, 8) !default;\n$red-200: tint-color($red, 6) !default;\n$red-300: tint-color($red, 4) !default;\n$red-400: tint-color($red, 2) !default;\n$red-500: $red !default;\n$red-600: shade-color($red, 2) !default;\n$red-700: shade-color($red, 4) !default;\n$red-800: shade-color($red, 6) !default;\n$red-900: shade-color($red, 8) !default;\n\n$orange-100: tint-color($orange, 8) !default;\n$orange-200: tint-color($orange, 6) !default;\n$orange-300: tint-color($orange, 4) !default;\n$orange-400: tint-color($orange, 2) !default;\n$orange-500: $orange !default;\n$orange-600: shade-color($orange, 2) !default;\n$orange-700: shade-color($orange, 4) !default;\n$orange-800: shade-color($orange, 6) !default;\n$orange-900: shade-color($orange, 8) !default;\n\n$yellow-100: tint-color($yellow, 8) !default;\n$yellow-200: tint-color($yellow, 6) !default;\n$yellow-300: tint-color($yellow, 4) !default;\n$yellow-400: tint-color($yellow, 2) !default;\n$yellow-500: $yellow !default;\n$yellow-600: shade-color($yellow, 2) !default;\n$yellow-700: shade-color($yellow, 4) !default;\n$yellow-800: shade-color($yellow, 6) !default;\n$yellow-900: shade-color($yellow, 8) !default;\n\n$green-100: tint-color($green, 8) !default;\n$green-200: tint-color($green, 6) !default;\n$green-300: tint-color($green, 4) !default;\n$green-400: tint-color($green, 2) !default;\n$green-500: $green !default;\n$green-600: shade-color($green, 2) !default;\n$green-700: shade-color($green, 4) !default;\n$green-800: shade-color($green, 6) !default;\n$green-900: shade-color($green, 8) !default;\n\n$teal-100: tint-color($teal, 8) !default;\n$teal-200: tint-color($teal, 6) !default;\n$teal-300: tint-color($teal, 4) !default;\n$teal-400: tint-color($teal, 2) !default;\n$teal-500: $teal !default;\n$teal-600: shade-color($teal, 2) !default;\n$teal-700: shade-color($teal, 4) !default;\n$teal-800: shade-color($teal, 6) !default;\n$teal-900: shade-color($teal, 8) !default;\n\n$cyan-100: tint-color($cyan, 8) !default;\n$cyan-200: tint-color($cyan, 6) !default;\n$cyan-300: tint-color($cyan, 4) !default;\n$cyan-400: tint-color($cyan, 2) !default;\n$cyan-500: $cyan !default;\n$cyan-600: shade-color($cyan, 2) !default;\n$cyan-700: shade-color($cyan, 4) !default;\n$cyan-800: shade-color($cyan, 6) !default;\n$cyan-900: shade-color($cyan, 8) !default;\n// fusv-enable\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\",\"%3c\"),\n (\">\",\"%3e\"),\n (\"#\",\"%23\"),\n) !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-prefers-reduced-motion-media-query: true !default;\n$enable-grid-classes: true !default;\n$enable-pointer-cursor-for-buttons: true !default;\n$enable-responsive-font-sizes: false !default;\n$enable-validation-icons: true !default;\n$enable-deprecation-messages: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$spacers: map-merge(\n (\n 0: 0,\n 1: $spacer * .25,\n 2: $spacer * .5,\n 3: $spacer,\n 4: $spacer * 1.5,\n 5: $spacer * 3,\n ),\n $spacers\n);\n\n$negative-spacers: negativify-map($spacers) !default;\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n$body-text-align: null !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: $primary !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n// Darken percentage for links with `.text-*` class (e.g. `.text-success`)\n$emphasized-link-hover-darken-percentage: 15% !default;\n\n$stretched-link-pseudo-element: after !default;\n$stretched-link-z-index: 1 !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n$grid-row-columns: 6 !default;\n\n\n// Container padding\n\n$container-padding-x: $grid-gutter-width / 2 !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$rounded-pill: 50rem !default;\n\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n$box-shadow-inset: inset 0 1px 2px rgba($black, .075) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: $primary !default;\n\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n$embed-responsive-aspect-ratios: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$embed-responsive-aspect-ratios: map-merge(\n (\n \"21by9\": (\n x: 21,\n y: 9\n ),\n \"16by9\": (\n x: 16,\n y: 9\n ),\n \"4by3\": (\n x: 4,\n y: 3\n ),\n \"1by1\": (\n x: 1,\n y: 1\n )\n ),\n $embed-responsive-aspect-ratios\n);\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n// $font-size-root effects the value of `rem`, which is used for as well font sizes, paddings and margins\n// $font-size-base effects the font size of the body text\n$font-size-root: null !default;\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: $font-size-base * 1.25 !default;\n$font-size-sm: $font-size-base * .875 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n\n$line-height-base: 1.5 !default;\n$line-height-lg: 2 !default;\n$line-height-sm: 1.25 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: $spacer / 2 !default;\n$headings-font-family: null !default;\n$headings-font-style: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: null !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: .875em !default;\n\n$sub-sup-font-size: .75em !default;\n\n$text-muted: $gray-600 !default;\n\n$initialism-font-size: $small-font-size !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-small-font-size: $small-font-size !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n\n$hr-color: inherit !default;\n$hr-height: $border-width !default;\n$hr-opacity: .25 !default;\n\n$legend-margin-bottom: .5rem !default;\n$legend-font-size: 1.5rem !default;\n$legend-font-weight: null !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .5rem !default;\n$table-cell-padding-sm: .25rem !default;\n\n$table-cell-vertical-align: top !default;\n\n$table-color: $body-color !default;\n$table-bg: null !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-color: $table-color !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n$table-head-border-color: $gray-700 !default;\n\n$table-dark-color: $white !default;\n$table-dark-bg: $gray-800 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-color: $table-dark-color !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($table-dark-bg, 7.5%) !default;\n\n$table-striped-order: odd !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-level: -9 !default;\n$table-border-level: -6 !default;\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-color: $link-color !default;\n$btn-link-hover-color: $link-hover-color !default;\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$label-margin-bottom: .5rem !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n$input-disabled-border-color: null !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: $box-shadow-inset !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y / 2) !default;\n\n$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n$input-height-sm: add($input-line-height * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n$input-height-lg: add($input-line-height * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n$form-check-input-width: 1.25em !default;\n$form-check-min-height: $font-size-base * $line-height-base !default;\n$form-check-padding-left: $form-check-input-width + .5em !default;\n$form-check-margin-bottom: .125rem !default;\n$form-check-label-cursor: null !default;\n\n$form-check-input-active-filter: brightness(90%) !default;\n\n$form-check-input-bg: $body-bg !default;\n$form-check-input-border: 1px solid rgba(0, 0, 0, .25) !default;\n$form-check-input-border-radius: .25em !default;\n$form-check-radio-border-radius: 50% !default;\n$form-check-input-focus-border: $input-focus-border-color !default;\n$form-check-input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$form-check-input-checked-color: $component-active-color !default;\n$form-check-input-checked-bg-color: $component-active-bg !default;\n$form-check-input-checked-border-color: $form-check-input-checked-bg-color !default;\n$form-check-input-checked-bg-repeat: no-repeat !default;\n$form-check-input-checked-bg-position: center center !default;\n$form-check-input-checked-bg-size: 1em !default;\n$form-check-input-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-check-input-checked-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M4 8.5L6.5 11l6-6'/></svg>\") !default;\n$form-check-radio-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='2' fill='#{$form-check-input-checked-color}'/></svg>\") !default;\n\n$form-check-input-indeterminate-color: $component-active-color !default;\n$form-check-input-indeterminate-bg-color: $component-active-bg !default;\n$form-check-input-indeterminate-border-color: $form-check-input-indeterminate-bg-color !default;\n$form-check-input-indeterminate-bg-repeat: no-repeat !default;\n$form-check-input-indeterminate-bg-position: center center !default;\n$form-check-input-indeterminate-bg-size: 1em !default;\n$form-check-input-indeterminate-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-check-input-indeterminate-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M5 8h6'/></svg>\") !default;\n\n$form-switch-color: rgba(0, 0, 0, .25) !default;\n$form-switch-width: 2em !default;\n$form-switch-padding-left: $form-switch-width + .5em !default;\n$form-switch-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-color}'/></svg>\") !default;\n$form-switch-bg-size: contain !default;\n$form-switch-border-radius: $form-switch-width !default;\n$form-switch-transition: .2s ease-in-out !default;\n$form-switch-transition-property: background-position, background-color !default;\n\n$form-switch-focus-color: hsla(211, 100%, 75%, 1) !default;\n$form-switch-focus-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-focus-color}'/></svg>\") !default;\n\n$form-switch-checked-color: $component-active-color !default;\n$form-switch-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-checked-color}'/></svg>\") !default;\n$form-switch-checked-bg-position: right center !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-inline-margin-right: 1rem !default;\n\n$form-check-input-margin-x: .25rem !default;\n\n$form-grid-gutter-width: 10px !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n\n$form-select-padding-y: $input-padding-y !default;\n$form-select-padding-x: $input-padding-x !default;\n$form-select-font-family: $input-font-family !default;\n$form-select-font-size: $input-font-size !default;\n$form-select-height: $input-height !default;\n$form-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$form-select-font-weight: $input-font-weight !default;\n$form-select-line-height: $input-line-height !default;\n$form-select-color: $input-color !default;\n$form-select-disabled-color: $gray-600 !default;\n$form-select-bg: $input-bg !default;\n$form-select-disabled-bg: $gray-200 !default;\n$form-select-disabled-border-color: $input-disabled-border-color !default;\n$form-select-bg-size: 16px 12px !default; // In pixels because image dimensions\n$form-select-indicator-color: $gray-800 !default;\n$form-select-indicator: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-select-indicator-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/></svg>\") !default;\n\n$form-select-background: no-repeat right $form-select-padding-x center / $form-select-bg-size !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon)\n\n$form-select-feedback-icon-padding-right: add(1em * .75, (2 * $form-select-padding-y * .75) + $form-select-padding-x + $form-select-indicator-padding) !default;\n$form-select-feedback-icon-position: center right ($form-select-padding-x + $form-select-indicator-padding) !default;\n$form-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$form-select-border-width: $input-border-width !default;\n$form-select-border-color: $input-border-color !default;\n$form-select-border-radius: $border-radius !default;\n$form-select-box-shadow: $box-shadow-inset !default;\n\n$form-select-focus-border-color: $input-focus-border-color !default;\n$form-select-focus-width: $input-focus-width !default;\n$form-select-focus-box-shadow: 0 0 0 $form-select-focus-width $input-btn-focus-color !default;\n\n$form-select-padding-y-sm: $input-padding-y-sm !default;\n$form-select-padding-x-sm: $input-padding-x-sm !default;\n$form-select-font-size-sm: $input-font-size-sm !default;\n$form-select-height-sm: $input-height-sm !default;\n\n$form-select-padding-y-lg: $input-padding-y-lg !default;\n$form-select-padding-x-lg: $input-padding-x-lg !default;\n$form-select-font-size-lg: $input-font-size-lg !default;\n$form-select-height-lg: $input-height-lg !default;\n\n$form-range-track-width: 100% !default;\n$form-range-track-height: .5rem !default;\n$form-range-track-cursor: pointer !default;\n$form-range-track-bg: $gray-300 !default;\n$form-range-track-border-radius: 1rem !default;\n$form-range-track-box-shadow: $box-shadow-inset !default;\n\n$form-range-thumb-width: 1rem !default;\n$form-range-thumb-height: $form-range-thumb-width !default;\n$form-range-thumb-bg: $component-active-bg !default;\n$form-range-thumb-border: 0 !default;\n$form-range-thumb-border-radius: 1rem !default;\n$form-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$form-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$form-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in IE/Edge\n$form-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\n$form-range-thumb-disabled-bg: $gray-500 !default;\n$form-range-thumb-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-file-height: $input-height !default;\n$form-file-focus-border-color: $input-focus-border-color !default;\n$form-file-focus-box-shadow: $input-focus-box-shadow !default;\n$form-file-disabled-bg: $input-disabled-bg !default;\n$form-file-disabled-border-color: $input-disabled-border-color !default;\n\n$form-file-padding-y: $input-padding-y !default;\n$form-file-padding-x: $input-padding-x !default;\n$form-file-line-height: $input-line-height !default;\n$form-file-font-family: $input-font-family !default;\n$form-file-font-weight: $input-font-weight !default;\n$form-file-color: $input-color !default;\n$form-file-bg: $input-bg !default;\n$form-file-border-width: $input-border-width !default;\n$form-file-border-color: $input-border-color !default;\n$form-file-border-radius: $input-border-radius !default;\n$form-file-box-shadow: $input-box-shadow !default;\n$form-file-button-color: $form-file-color !default;\n$form-file-button-bg: $input-group-addon-bg !default;\n\n\n// Form validation\n\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: $success !default;\n$form-feedback-invalid-color: $danger !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/></svg>\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}' viewBox='0 0 12 12'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>\") !default;\n\n$form-validation-states: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-validation-states: map-merge(\n (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n ),\n ),\n $form-validation-states\n);\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n\n// Navbar\n\n$navbar-padding-y: $spacer / 2 !default;\n$navbar-padding-x: null !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-divider-margin-y: $spacer / 2 !default;\n$dropdown-box-shadow: $box-shadow !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n\n\n// Pagination\n\n$pagination-padding-y: .375rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-radius: $border-radius !default;\n$pagination-margin-left: -$pagination-border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: $grid-gutter-width / 2 !default;\n$card-deck-margin: $card-group-margin !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n// Form tooltips must come after regular tooltips\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: null !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default;\n$popover-box-shadow: $box-shadow !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Toasts\n\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .25rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba(0, 0, 0, .1) !default;\n$toast-border-radius: $border-radius !default;\n$toast-box-shadow: $box-shadow !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\n\n\n// Badges\n\n$badge-font-size: .75em !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-color: $white !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .5em !default;\n$badge-border-radius: $border-radius !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs: $box-shadow-sm !default;\n$modal-content-box-shadow-sm-up: $box-shadow !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: 1rem !default;\n$modal-header-padding-x: 1rem !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-xl: 1140px !default;\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n$modal-scale-transform: scale(1.02) !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: $box-shadow-inset !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: $primary !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n\n// List group\n\n$list-group-color: null !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: $box-shadow-sm !default;\n\n\n// Figures\n\n$figure-caption-font-size: $small-font-size !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-font-size: null !default;\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding-x: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n\n$breadcrumb-border-radius: $border-radius !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-opacity: .5 !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-active-opacity: 1 !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n$carousel-caption-padding-y: 1.25rem !default;\n$carousel-caption-spacer: 1.25rem !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'><path d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/></svg>\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'><path d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/></svg>\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n\n// Spinners\n\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-border-width: .25em !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n\n// Code\n\n$code-font-size: $small-font-size !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: null !default;\n","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated responsive font sizes\n//\n// Licensed under MIT (https://github.com/twbs/rfs/blob/master/LICENSE)\n\n// Configuration\n\n// Base font size\n$rfs-base-font-size: 1.25rem !default;\n$rfs-font-size-unit: rem !default;\n\n@if $rfs-font-size-unit != rem and $rfs-font-size-unit != px {\n @error \"`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.\";\n}\n\n// Breakpoint at where font-size starts decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n}\n\n// Resize font size based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != \"number\" or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-responsive-font-sizes to false\n$enable-responsive-font-sizes: true !default;\n\n// Cache $rfs-base-font-size unit\n$rfs-base-font-size-unit: unit($rfs-base-font-size);\n\n// Remove px-unit from $rfs-base-font-size for calculations\n@if $rfs-base-font-size-unit == \"px\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1);\n}\n@else if $rfs-base-font-size-unit == \"rem\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == \"px\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == \"rem\" or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Internal mixin that adds disable classes to the selector if needed.\n@mixin _rfs-disable-class {\n @if $rfs-class == \"disable\" {\n // Adding an extra class increases specificity, which prevents the media query to override the font size\n &,\n .disable-responsive-font-size &,\n &.disable-responsive-font-size {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n// Internal mixin that adds enable classes to the selector if needed.\n@mixin _rfs-enable-class {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n// Internal mixin used to determine which media query needs to be used\n@mixin _rfs-media-query($mq-value) {\n @if $rfs-two-dimensional {\n @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {\n @content;\n }\n }\n @else {\n @media (max-width: #{$mq-value}) {\n @content;\n }\n }\n}\n\n// Responsive font size mixin\n@mixin rfs($fs, $important: false) {\n // Cache $fs unit\n $fs-unit: if(type-of($fs) == \"number\", unit($fs), false);\n\n // Add !important suffix if needed\n $rfs-suffix: if($important, \" !important\", \"\");\n\n // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $fs-unit or $fs-unit != \"\" and $fs-unit != \"px\" and $fs-unit != \"rem\" or $fs == 0 {\n font-size: #{$fs}#{$rfs-suffix};\n }\n @else {\n // Remove unit from $fs for calculations\n @if $fs-unit == \"px\" {\n $fs: $fs / ($fs * 0 + 1);\n }\n @else if $fs-unit == \"rem\" {\n $fs: $fs / ($fs * 0 + 1 / $rfs-rem-value);\n }\n\n // Set default font size\n $rfs-static: if($rfs-font-size-unit == rem, #{$fs / $rfs-rem-value}rem, #{$fs}px);\n\n // Only add the media query if the font size is bigger than the minimum font size\n @if $fs <= $rfs-base-font-size or not $enable-responsive-font-sizes {\n font-size: #{$rfs-static}#{$rfs-suffix};\n }\n @else {\n // Calculate the minimum font size for $fs\n $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;\n\n // Calculate difference between $fs and the minimum font size\n $fs-diff: $fs - $fs-min;\n\n // Base font-size formatting\n $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);\n\n // Use `vmin` if two-dimensional is enabled\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Set the calculated font-size\n $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};\n\n // Breakpoint formatting\n $mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit});\n\n @include _rfs-disable-class {\n font-size: #{$rfs-static}#{$rfs-suffix};\n }\n\n @include _rfs-media-query($mq-value) {\n @include _rfs-enable-class {\n font-size: $rfs-fluid;\n }\n\n // Include safari iframe resize fix if needed\n min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null);\n }\n }\n }\n}\n\n// The font-size & responsive-font-size mixins use RFS to rescale the font size\n@mixin font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n\n@mixin responsive-font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n","// stylelint-disable property-blacklist\n// Single side border-radius\n\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: $radius;\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-top-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n }\n}\n\n@mixin border-top-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-right-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-left-radius($radius) {\n @if $enable-rounded {\n border-bottom-left-radius: $radius;\n }\n}\n","//\n// Headings\n//\n.h1 {\n @extend h1;\n}\n\n.h2 {\n @extend h2;\n}\n\n.h3 {\n @extend h3;\n}\n\n.h4 {\n @extend h4;\n}\n\n.h5 {\n @extend h5;\n}\n\n.h6 {\n @extend h6;\n}\n\n\n.lead {\n @include font-size($lead-font-size);\n font-weight: $lead-font-weight;\n}\n\n// Type display classes\n.display-1 {\n @include font-size($display1-size);\n font-weight: $display1-weight;\n line-height: $display-line-height;\n}\n.display-2 {\n @include font-size($display2-size);\n font-weight: $display2-weight;\n line-height: $display-line-height;\n}\n.display-3 {\n @include font-size($display3-size);\n font-weight: $display3-weight;\n line-height: $display-line-height;\n}\n.display-4 {\n @include font-size($display4-size);\n font-weight: $display4-weight;\n line-height: $display-line-height;\n}\n\n//\n// Emphasis\n//\n.small {\n @extend small;\n}\n\n.mark {\n @extend mark;\n}\n\n//\n// Lists\n//\n\n.list-unstyled {\n @include list-unstyled();\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n @include list-unstyled();\n}\n.list-inline-item {\n display: inline-block;\n\n &:not(:last-child) {\n margin-right: $list-inline-padding;\n }\n}\n\n\n//\n// Misc\n//\n\n// Builds on `abbr`\n.initialism {\n @include font-size($initialism-font-size);\n text-transform: uppercase;\n}\n\n// Blockquotes\n.blockquote {\n margin-bottom: $spacer;\n @include font-size($blockquote-font-size);\n}\n\n.blockquote-footer {\n display: block;\n @include font-size($blockquote-small-font-size);\n color: $blockquote-small-color;\n\n &::before {\n content: \"\\2014\\00A0\"; // em dash, nbsp\n }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n","// Responsive images (ensure images don't scale beyond their parents)\n//\n// This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.\n// We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n// which weren't expecting the images within themselves to be involuntarily resized.\n// See also https://github.com/twbs/bootstrap/issues/18178\n.img-fluid {\n @include img-fluid();\n}\n\n\n// Image thumbnails\n.img-thumbnail {\n padding: $thumbnail-padding;\n background-color: $thumbnail-bg;\n border: $thumbnail-border-width solid $thumbnail-border-color;\n @include border-radius($thumbnail-border-radius);\n @include box-shadow($thumbnail-box-shadow);\n\n // Keep them at most 100% wide\n @include img-fluid();\n}\n\n//\n// Figures\n//\n\n.figure {\n // Ensures the caption's text aligns with the image.\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: $spacer / 2;\n line-height: 1;\n}\n\n.figure-caption {\n @include font-size($figure-caption-font-size);\n color: $figure-caption-color;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid {\n // Part 1: Set a maximum relative to the parent\n max-width: 100%;\n // Part 2: Override the height to auto, otherwise images will be stretched\n // when setting a width and height attribute on the img element.\n height: auto;\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n @each $name, $width in $grid-breakpoints {\n @if ($container-max-width > $width or $breakpoint == $name) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n }\n }\n }\n }\n}\n\n\n// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container($padding-x: $container-padding-x) {\n width: 100%;\n padding-right: $padding-x;\n padding-left: $padding-x;\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter / 2;\n margin-left: -$gutter / 2;\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n & > * {\n flex: 0 0 100% / $count;\n max-width: 100% / $count;\n }\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","//\n// Basic Bootstrap table\n//\n\n.table {\n width: 100%;\n margin-bottom: $spacer;\n color: $table-color;\n vertical-align: $table-cell-vertical-align;\n background-color: $table-bg; // Reset for nesting within parents with `background-color`.\n\n th,\n td {\n padding: $table-cell-padding;\n border-bottom: $table-border-width solid $table-border-color;\n }\n\n tbody {\n vertical-align: inherit;\n }\n\n thead th {\n vertical-align: bottom;\n border-bottom-color: $table-head-border-color;\n }\n\n tbody + tbody {\n border-top: (2 * $table-border-width) solid $table-border-color;\n }\n}\n\n\n//\n// Condensed table w/ half padding\n//\n\n.table-sm {\n th,\n td {\n padding: $table-cell-padding-sm;\n }\n}\n\n\n// Border versions\n//\n// Add or remove borders all around the table and between all the columns.\n\n.table-bordered {\n border: $table-border-width solid $table-border-color;\n\n th,\n td {\n border: $table-border-width solid $table-border-color;\n }\n\n thead {\n th,\n td {\n border-bottom-width: 2 * $table-border-width;\n }\n }\n}\n\n.table-borderless {\n th,\n td,\n thead th,\n tbody + tbody {\n border: 0;\n }\n}\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-accent-bg;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n tbody tr {\n &:hover {\n color: $table-hover-color;\n background-color: $table-hover-bg;\n }\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n@each $color, $value in $theme-colors {\n @include table-row-variant($color, color-level($value, $table-bg-level), color-level($value, $table-border-level));\n}\n\n@include table-row-variant(active, $table-active-bg);\n\n\n// Dark styles\n//\n// Same table markup, but inverted color scheme: dark background and light text.\n\n// stylelint-disable-next-line no-duplicate-selectors\n.table {\n .thead-dark {\n th {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n border-color: $table-dark-border-color;\n }\n }\n\n .thead-light {\n th {\n color: $table-head-color;\n background-color: $table-head-bg;\n border-color: $table-border-color;\n }\n }\n}\n\n.table-dark {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n\n th,\n td,\n thead th {\n border-color: $table-dark-border-color;\n }\n\n &.table-bordered {\n border: 0;\n }\n\n &.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-dark-accent-bg;\n }\n }\n\n &.table-hover {\n tbody tr {\n &:hover {\n color: $table-dark-hover-color;\n background-color: $table-dark-hover-bg;\n }\n }\n }\n}\n\n\n// Responsive tables\n//\n// Generate series of `.table-responsive-*` classes for configuring the screen\n// size of where your table will overflow.\n\n.table-responsive {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n\n // Prevent double border on horizontal scroll due to use of `display: block;`\n > .table-bordered {\n border: 0;\n }\n }\n }\n }\n}\n","// Tables\n\n@mixin table-row-variant($state, $background, $border: null) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table-#{$state} {\n &,\n > th,\n > td {\n background-color: $background;\n }\n\n @if $border != null {\n th,\n td,\n thead th,\n tbody + tbody {\n border-color: $border;\n }\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover {\n $hover-background: darken($background, 5%);\n\n .table-#{$state} {\n &:hover {\n background-color: $hover-background;\n\n > td,\n > th {\n background-color: $hover-background;\n }\n }\n }\n }\n}\n","// Bootstrap functions\n//\n// Utility mixins and functions for evaluating source code across our variables, maps, and mixins.\n\n// Ascending\n// Used to evaluate Sass maps like our grid breakpoints.\n@mixin _assert-ascending($map, $map-name) {\n $prev-key: null;\n $prev-num: null;\n @each $key, $num in $map {\n @if $prev-num == null or unit($num) == \"%\" or unit($prev-num) == \"%\" {\n // Do nothing\n } @else if not comparable($prev-num, $num) {\n @warn \"Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n } @else if $prev-num >= $num {\n @warn \"Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n }\n $prev-key: $key;\n $prev-num: $num;\n }\n}\n\n// Starts at zero\n// Used to ensure the min-width of the lowest breakpoint starts at 0.\n@mixin _assert-starts-at-zero($map, $map-name: \"$grid-breakpoints\") {\n $values: map-values($map);\n $first-value: nth($values, 1);\n @if $first-value != 0 {\n @warn \"First breakpoint in #{$map-name} must start at 0, but starts at #{$first-value}.\";\n }\n}\n\n// Internal Bootstrap function to turn maps into its negative variant.\n// It prefixes the keys with `n` and makes the value negative.\n@function negativify-map($map) {\n $result: ();\n @each $key, $value in $map {\n @if $key != 0 {\n $result: map-merge($result, (\"n\" + $key: (-$value)));\n }\n }\n @return $result;\n}\n\n// Get multiple keys from a sass map\n@function map-get-multiple($map, $values) {\n $result: ();\n @each $key, $value in $map {\n @if (index($values, $key) != null) {\n $result: map-merge($result, ($key: $value));\n }\n }\n @return $result;\n}\n\n// Replace `$search` with `$replace` in `$string`\n// Used on our SVG icon backgrounds for custom forms.\n//\n// @author Hugo Giraudel\n// @param {String} $string - Initial string\n// @param {String} $search - Substring to replace\n// @param {String} $replace ('') - New value\n// @return {String} - Updated string\n@function str-replace($string, $search, $replace: \"\") {\n $index: str-index($string, $search);\n\n @if $index {\n @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);\n }\n\n @return $string;\n}\n\n// See https://codepen.io/kevinweber/pen/dXWoRw\n@function escape-svg($string) {\n @if str-index($string, \"data:image/svg+xml\") {\n @each $char, $encoded in $escaped-characters {\n $string: str-replace($string, $char, $encoded);\n }\n }\n\n @return $string;\n}\n\n// Color contrast\n@function color-yiq($color, $dark: $yiq-text-dark, $light: $yiq-text-light) {\n $r: red($color);\n $g: green($color);\n $b: blue($color);\n\n $yiq: (($r * 299) + ($g * 587) + ($b * 114)) / 1000;\n\n @return if($yiq >= $yiq-contrasted-threshold, $dark, $light);\n}\n\n// Request a color level\n@function color-level($color: $primary, $level: 0) {\n $color-base: if($level > 0, $black, $white);\n $level: abs($level);\n\n @return mix($color-base, $color, $level * $theme-color-interval);\n}\n\n@function tint-color($color, $level) {\n @return mix(white, $color, $level * $theme-color-interval);\n}\n\n@function shade-color($color, $level) {\n @return mix(black, $color, $level * $theme-color-interval);\n}\n\n// Return valid calc\n@function add($value1, $value2, $return-calc: true) {\n @if $value1 == null {\n @return $value2;\n }\n\n @if $value2 == null {\n @return $value1;\n }\n\n @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {\n @return $value1 + $value2;\n }\n\n @return if($return-calc == true, calc(#{$value1} + #{$value2}), #{$value1} + #{$value2});\n}\n\n@function subtract($value1, $value2, $return-calc: true) {\n @if $value1 == null and $value2 == null {\n @return null;\n }\n\n @if $value1 == null {\n @return -$value2;\n }\n\n @if $value2 == null {\n @return $value1;\n }\n\n @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {\n @return $value1 - $value2;\n }\n\n @return if($return-calc == true, calc(#{$value1} - #{$value2}), #{$value1} - #{$value2});\n}\n","//\n// Labels\n//\n\n// For use with horizontal and inline forms, when you need the label (or legend)\n// text to align with the form controls.\n.col-form-label {\n padding-top: add($input-padding-y, $input-border-width);\n padding-bottom: add($input-padding-y, $input-border-width);\n margin-bottom: 0; // Override the `<label>/<legend>` default\n @include font-size(inherit); // Override the `<legend>` default\n line-height: $input-line-height;\n}\n\n.col-form-label-lg {\n padding-top: add($input-padding-y-lg, $input-border-width);\n padding-bottom: add($input-padding-y-lg, $input-border-width);\n @include font-size($input-font-size-lg);\n}\n\n.col-form-label-sm {\n padding-top: add($input-padding-y-sm, $input-border-width);\n padding-bottom: add($input-padding-y-sm, $input-border-width);\n @include font-size($input-font-size-sm);\n}\n","//\n// Textual form controls\n//\n\n.form-control {\n display: block;\n width: 100%;\n min-height: $input-height;\n padding: $input-padding-y $input-padding-x;\n font-family: $input-font-family;\n @include font-size($input-font-size);\n font-weight: $input-font-weight;\n line-height: $input-line-height;\n color: $input-color;\n background-color: $input-bg;\n background-clip: padding-box;\n border: $input-border-width solid $input-border-color;\n\n // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.\n @include border-radius($input-border-radius, 0);\n\n @include box-shadow($input-box-shadow);\n @include transition($input-transition);\n\n // Unstyle the caret on `<select>`s in IE10+.\n &::-ms-expand {\n background-color: transparent;\n border: 0;\n }\n\n // Customize the `:focus` state to imitate native WebKit styles.\n &:focus {\n color: $input-focus-color;\n background-color: $input-focus-bg;\n border-color: $input-focus-border-color;\n outline: 0;\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $input-box-shadow, $input-focus-box-shadow;\n } @else {\n box-shadow: $input-focus-box-shadow;\n }\n }\n\n // Placeholder\n &::placeholder {\n color: $input-placeholder-color;\n // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.\n opacity: 1;\n }\n\n // Disabled and read-only inputs\n //\n // HTML5 says that controls under a fieldset > legend:first-child won't be\n // disabled if the fieldset is disabled. Due to implementation difficulty, we\n // don't honor that edge case; we style them as disabled anyway.\n &:disabled,\n &[readonly] {\n background-color: $input-disabled-bg;\n border-color: $input-disabled-border-color;\n // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n opacity: 1;\n }\n}\n\n// Readonly controls as plain text\n//\n// Apply class to a readonly input to make it appear like regular plain\n// text (without any border, background color, focus indicator)\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: $input-padding-y 0;\n margin-bottom: 0; // match inputs if this class comes on inputs with default margins\n line-height: $input-line-height;\n color: $input-plaintext-color;\n background-color: transparent;\n border: solid transparent;\n border-width: $input-border-width 0;\n\n &.form-control-sm,\n &.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n//\n// Repeated in `_input_group.scss` to avoid Sass extend issues.\n\n.form-control-sm {\n min-height: $input-height-sm;\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n @include border-radius($input-border-radius-sm);\n}\n\n.form-control-lg {\n min-height: $input-height-lg;\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n @include border-radius($input-border-radius-lg);\n}\n\n.form-control-color {\n max-width: 3rem;\n padding: $input-padding-y;\n}\n\n.form-control-color::-moz-color-swatch {\n @include border-radius($input-border-radius);\n}\n\n.form-control-color::-webkit-color-swatch {\n @include border-radius($input-border-radius);\n}\n","// stylelint-disable property-blacklist\n@mixin transition($transition...) {\n @if $enable-transitions {\n @if length($transition) == 0 {\n transition: $transition-base;\n } @else {\n transition: $transition;\n }\n }\n\n @if $enable-prefers-reduced-motion-media-query {\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n }\n}\n","// Select\n//\n// Replaces the browser default select with a custom one, mostly pulled from\n// https://primer.github.io/.\n\n.form-select {\n display: inline-block;\n width: 100%;\n height: $form-select-height;\n padding: $form-select-padding-y ($form-select-padding-x + $form-select-indicator-padding) $form-select-padding-y $form-select-padding-x;\n font-family: $form-select-font-family;\n @include font-size($form-select-font-size);\n font-weight: $form-select-font-weight;\n line-height: $form-select-line-height;\n color: $form-select-color;\n vertical-align: middle;\n background: $form-select-bg escape-svg($form-select-indicator) $form-select-background;\n border: $form-select-border-width solid $form-select-border-color;\n @include border-radius($form-select-border-radius, 0);\n @include box-shadow($form-select-box-shadow);\n appearance: none;\n\n &:focus {\n border-color: $form-select-focus-border-color;\n outline: 0;\n @if $enable-shadows {\n box-shadow: $form-select-box-shadow, $form-select-focus-box-shadow;\n } @else {\n box-shadow: $form-select-focus-box-shadow;\n }\n\n &::-ms-value {\n // For visual consistency with other platforms/browsers,\n // suppress the default white text on blue background highlight given to\n // the selected option text when the (still closed) <select> receives focus\n // in IE and (under certain conditions) Edge.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n }\n\n &[multiple],\n &[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: $form-select-padding-x;\n background-image: none;\n }\n\n &:disabled {\n color: $form-select-disabled-color;\n background-color: $form-select-disabled-bg;\n border-color: $form-select-disabled-border-color;\n }\n\n // Hides the default caret in IE11\n &::-ms-expand {\n display: none;\n }\n\n // Remove outline from select box in FF\n &:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 $form-select-color;\n }\n}\n\n.form-select-sm {\n height: $form-select-height-sm;\n padding-top: $form-select-padding-y-sm;\n padding-bottom: $form-select-padding-y-sm;\n padding-left: $form-select-padding-x-sm;\n @include font-size($form-select-font-size-sm);\n}\n\n.form-select-lg {\n height: $form-select-height-lg;\n padding-top: $form-select-padding-y-lg;\n padding-bottom: $form-select-padding-y-lg;\n padding-left: $form-select-padding-x-lg;\n @include font-size($form-select-font-size-lg);\n}\n","//\n// Check/radio\n//\n\n.form-check {\n display: block;\n min-height: $form-check-min-height;\n padding-left: $form-check-padding-left;\n margin-bottom: $form-check-margin-bottom;\n\n .form-check-input {\n float: left;\n margin-left: $form-check-padding-left * -1;\n }\n}\n\n.form-check-input {\n width: $form-check-input-width;\n height: $form-check-input-width;\n margin-top: ($line-height-base - $form-check-input-width) / 2; // line-height minus check height\n background-color: $form-check-input-bg;\n border: $form-check-input-border;\n appearance: none;\n\n &[type=\"checkbox\"] {\n @include border-radius($form-check-input-border-radius);\n }\n\n &[type=\"radio\"] {\n @include border-radius($form-check-radio-border-radius);\n }\n\n &:active {\n filter: $form-check-input-active-filter;\n }\n\n &:focus {\n border-color: $form-check-input-focus-border;\n outline: 0;\n box-shadow: $form-check-input-focus-box-shadow;\n }\n\n &:checked {\n background-color: $form-check-input-checked-bg-color;\n background-repeat: $form-check-input-checked-bg-repeat;\n background-position: $form-check-input-checked-bg-position;\n background-size: $form-check-input-checked-bg-size;\n border-color: $form-check-input-checked-border-color;\n\n &[type=\"checkbox\"] {\n @if $enable-gradients {\n background-image: escape-svg($form-check-input-checked-bg-image), linear-gradient(180deg, lighten($form-check-input-checked-bg-color, 10%), $form-check-input-checked-bg-color);\n background-size: $form-check-input-checked-bg-size, auto;\n } @else {\n background-image: escape-svg($form-check-input-checked-bg-image);\n }\n }\n\n &[type=\"radio\"] {\n @if $enable-gradients {\n background-image: escape-svg($form-check-radio-checked-bg-image), linear-gradient(180deg, lighten($form-check-input-checked-bg-color, 10%), $form-check-input-checked-bg-color);\n background-size: $form-check-input-checked-bg-size, auto;\n } @else {\n background-image: escape-svg($form-check-radio-checked-bg-image);\n }\n }\n }\n\n &[type=\"checkbox\"]:indeterminate {\n background-color: $form-check-input-indeterminate-bg-color;\n background-repeat: $form-check-input-indeterminate-bg-repeat;\n background-position: $form-check-input-indeterminate-bg-position;\n @if $enable-gradients {\n background-image: escape-svg($form-check-input-indeterminate-bg-image), linear-gradient(180deg, lighten($form-check-input-checked-bg-color, 10%), $form-check-input-checked-bg-color);\n background-size: $form-check-input-checked-bg-size, auto;\n } @else {\n background-image: escape-svg($form-check-input-indeterminate-bg-image);\n background-size: $form-check-input-indeterminate-bg-size;\n }\n border-color: $form-check-input-indeterminate-border-color;\n }\n\n // Use disabled attribute instead of :disabled pseudo-class\n // Workaround for: https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/11295231\n &[disabled] {\n pointer-events: none;\n filter: none;\n opacity: .5;\n\n ~ .form-check-label {\n opacity: .5;\n }\n }\n}\n\n.form-check-label {\n margin-bottom: 0;\n cursor: $form-check-label-cursor;\n}\n\n//\n// Switch\n//\n\n.form-switch {\n padding-left: $form-switch-padding-left;\n\n .form-check-input {\n width: $form-switch-width;\n margin-left: $form-switch-padding-left * -1;\n background-image: escape-svg($form-switch-bg-image);\n background-repeat: no-repeat;\n background-position: left center;\n background-size: $form-switch-bg-size; // Get a 1px separation\n @include border-radius($form-switch-border-radius);\n // Todo: Figure out how to tackle these, with or without mixin?\n // transition: $form-switch-transition;\n // transition-property: $form-switch-transition-property;\n\n &:focus {\n background-image: escape-svg($form-switch-focus-bg-image);\n }\n\n &:checked {\n background-position: $form-switch-checked-bg-position;\n\n @if $enable-gradients {\n background-image: escape-svg($form-switch-checked-bg-image), linear-gradient(180deg, $form-check-input-checked-bg-color, lighten($form-check-input-checked-bg-color, 10%));\n background-size: $form-switch-bg-size, auto;\n } @else {\n background-image: escape-svg($form-switch-checked-bg-image);\n }\n }\n }\n}\n\n.form-check-inline {\n display: inline-block;\n margin-right: $form-check-inline-margin-right;\n}\n",".form-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: $form-file-height;\n margin-bottom: 0;\n}\n\n.form-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: $form-file-height;\n margin: 0;\n opacity: 0;\n\n // Separate rules for :focus and :focus-within as IE doesn't support the latter, and\n // thus ignores the entire ruleset. See https://github.com/twbs/bootstrap/pull/29036.\n &:focus ~ .form-file-label {\n border-color: $form-file-focus-border-color;\n box-shadow: $form-file-focus-box-shadow;\n }\n\n &:focus-within ~ .form-file-label {\n border-color: $form-file-focus-border-color;\n box-shadow: $form-file-focus-box-shadow;\n }\n\n // Use disabled attribute instead of :disabled pseudo-class\n // Workaround for: https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/11295231\n &[disabled] ~ .form-file-label .form-file-text {\n background-color: $form-file-disabled-bg;\n border-color: $form-file-disabled-border-color;\n }\n}\n\n.form-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n display: flex;\n height: $form-file-height;\n border-color: $form-file-border-color;\n @include border-radius($form-file-border-radius);\n @include box-shadow($form-file-box-shadow);\n}\n\n.form-file-text {\n display: block;\n flex-grow: 1;\n padding: $form-file-padding-y $form-file-padding-x;\n overflow: hidden;\n font-family: $form-file-font-family;\n font-weight: $form-file-font-weight;\n line-height: $form-file-line-height;\n color: $form-file-color;\n text-overflow: ellipsis;\n white-space: nowrap;\n background-color: $form-file-bg;\n border-color: inherit;\n border-style: solid;\n border-width: $form-file-border-width;\n @include border-left-radius(inherit);\n}\n\n.form-file-button {\n display: block;\n flex-shrink: 0;\n padding: $form-file-padding-y $form-file-padding-x;\n margin-left: -$form-file-border-width;\n line-height: $form-file-line-height;\n color: $form-file-button-color;\n @include gradient-bg($form-file-button-bg);\n border-color: inherit;\n border-style: solid;\n border-width: $form-file-border-width;\n @include border-right-radius(inherit);\n}\n","// Gradients\n\n@mixin gradient-bg($color, $foreground: null) {\n @if $enable-gradients {\n @if $foreground {\n background-color: $color;\n background-image: $foreground, linear-gradient(180deg, mix($body-bg, $color, 15%), $color);\n background-repeat: no-repeat;\n background-size: 1em, auto;\n } @else {\n background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x;\n }\n } @else {\n background-color: $color;\n }\n}\n\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n background-repeat: repeat-x;\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n background-repeat: repeat-x;\n}\n\n@mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) {\n background-image: linear-gradient($deg, $start-color, $end-color);\n background-repeat: repeat-x;\n}\n@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) {\n background-image: radial-gradient(circle, $inner-color, $outer-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {\n background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n","// Range\n//\n// Style range inputs the same across browsers. Vendor-specific rules for pseudo\n// elements cannot be mixed. As such, there are no shared styles for focus or\n// active states on prefixed selectors.\n\n.form-range {\n width: 100%;\n height: add($form-range-thumb-height, $form-range-thumb-focus-box-shadow-width * 2);\n padding: 0; // Need to reset padding\n background-color: transparent;\n appearance: none;\n\n &:focus {\n outline: none;\n\n // Pseudo-elements must be split across multiple rulesets to have an effect.\n // No box-shadow() mixin for focus accessibility.\n &::-webkit-slider-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }\n &::-moz-range-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }\n &::-ms-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }\n }\n\n &::-moz-focus-outer {\n border: 0;\n }\n\n &::-webkit-slider-thumb {\n width: $form-range-thumb-width;\n height: $form-range-thumb-height;\n margin-top: ($form-range-track-height - $form-range-thumb-height) / 2; // Webkit specific\n @include gradient-bg($form-range-thumb-bg);\n border: $form-range-thumb-border;\n @include border-radius($form-range-thumb-border-radius);\n @include box-shadow($form-range-thumb-box-shadow);\n @include transition($form-range-thumb-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($form-range-thumb-active-bg);\n }\n }\n\n &::-webkit-slider-runnable-track {\n width: $form-range-track-width;\n height: $form-range-track-height;\n color: transparent; // Why?\n cursor: $form-range-track-cursor;\n background-color: $form-range-track-bg;\n border-color: transparent;\n @include border-radius($form-range-track-border-radius);\n @include box-shadow($form-range-track-box-shadow);\n }\n\n &::-moz-range-thumb {\n width: $form-range-thumb-width;\n height: $form-range-thumb-height;\n @include gradient-bg($form-range-thumb-bg);\n border: $form-range-thumb-border;\n @include border-radius($form-range-thumb-border-radius);\n @include box-shadow($form-range-thumb-box-shadow);\n @include transition($form-range-thumb-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($form-range-thumb-active-bg);\n }\n }\n\n &::-moz-range-track {\n width: $form-range-track-width;\n height: $form-range-track-height;\n color: transparent;\n cursor: $form-range-track-cursor;\n background-color: $form-range-track-bg;\n border-color: transparent; // Firefox specific?\n @include border-radius($form-range-track-border-radius);\n @include box-shadow($form-range-track-box-shadow);\n }\n\n &::-ms-thumb {\n width: $form-range-thumb-width;\n height: $form-range-thumb-height;\n margin-top: 0; // Edge specific\n margin-right: $form-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.\n margin-left: $form-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.\n @include gradient-bg($form-range-thumb-bg);\n border: $form-range-thumb-border;\n @include border-radius($form-range-thumb-border-radius);\n @include box-shadow($form-range-thumb-box-shadow);\n @include transition($form-range-thumb-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($form-range-thumb-active-bg);\n }\n }\n\n &::-ms-track {\n width: $form-range-track-width;\n height: $form-range-track-height;\n color: transparent;\n cursor: $form-range-track-cursor;\n background-color: transparent;\n border-color: transparent;\n border-width: $form-range-thumb-height / 2;\n @include box-shadow($form-range-track-box-shadow);\n }\n\n &::-ms-fill-lower {\n background-color: $form-range-track-bg;\n @include border-radius($form-range-track-border-radius);\n }\n\n &::-ms-fill-upper {\n margin-right: 15px; // arbitrary?\n background-color: $form-range-track-bg;\n @include border-radius($form-range-track-border-radius);\n }\n\n &:disabled {\n &::-webkit-slider-thumb {\n background-color: $form-range-thumb-disabled-bg;\n }\n\n &::-webkit-slider-runnable-track {\n cursor: default;\n }\n\n &::-moz-range-thumb {\n background-color: $form-range-thumb-disabled-bg;\n }\n\n &::-moz-range-track {\n cursor: default;\n }\n\n &::-ms-thumb {\n background-color: $form-range-thumb-disabled-bg;\n }\n }\n}\n","// Form grid\n//\n// Special replacement for our grid system's `.row` for tighter form layouts.\n\n@if $enable-grid-classes {\n .form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$form-grid-gutter-width / 2;\n margin-left: -$form-grid-gutter-width / 2;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: $form-grid-gutter-width / 2;\n padding-left: $form-grid-gutter-width / 2;\n }\n }\n}\n\n// Inline forms\n//\n// Make forms appear inline(-block) by adding the `.form-inline` class. Inline\n// forms begin stacked on extra small (mobile) devices and then go inline when\n// viewports reach <768px.\n//\n// Requires wrapping inputs and labels with `.form-group` for proper display of\n// default HTML form controls and our custom form controls (e.g., input groups).\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center; // Prevent shorter elements from growing to same height as others (e.g., small buttons growing to normal sized button height)\n\n // Because we use flex, the initial sizing of checkboxes is collapsed and\n // doesn't occupy the full-width (which is what we want for xs grid tier),\n // so we force that here.\n .form-check {\n width: 100%;\n }\n\n // Kick in the inline\n @include media-breakpoint-up(sm) {\n label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n\n // Inline-block all the things for \"inline\"\n .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n\n // Allow folks to *not* use `.form-group`\n .form-control {\n display: inline-block;\n width: auto; // Prevent labels from stacking above inputs in `.form-group`\n vertical-align: middle;\n }\n\n // Make static controls behave like regular ones\n .form-control-plaintext {\n display: inline-block;\n }\n\n .input-group,\n .form-select {\n width: auto;\n }\n\n // Remove default margin on radios/checkboxes that were used for stacking, and\n // then undo the floating of radios and checkboxes to match.\n .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-check-input {\n position: relative;\n flex-shrink: 0;\n margin-top: 0;\n margin-right: $form-check-input-margin-x;\n margin-left: 0;\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap; // For form validation feedback\n align-items: stretch;\n width: 100%;\n\n > .form-control,\n > .form-select,\n > .form-file {\n position: relative; // For focus state's z-index\n flex: 1 1 0%;\n min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size\n margin-bottom: 0;\n\n + .form-control,\n + .form-select,\n + .form-file {\n margin-left: -$input-border-width;\n }\n }\n\n // Bring the \"active\" form control to the top of surrounding elements\n > .form-control:focus,\n > .form-select:focus,\n > .form-file .form-file-input:focus ~ .form-file-label {\n z-index: 3;\n }\n\n // Bring the custom file input above the label\n > .form-file .form-file-input:focus {\n z-index: 4;\n }\n\n > .form-control,\n > .form-select {\n &:not(:last-child) { @include border-right-radius(0); }\n &:not(:first-child) { @include border-left-radius(0); }\n }\n\n // Custom file inputs have more complex markup, thus requiring different\n // border-radius overrides.\n > .form-file {\n display: flex;\n align-items: center;\n\n &:not(:last-child) .form-file-label { @include border-right-radius(0); }\n &:not(:first-child) .form-file-label { @include border-left-radius(0); }\n }\n}\n\n\n// Prepend and append\n//\n// While it requires one extra layer of HTML for each, dedicated prepend and\n// append elements allow us to 1) be less clever, 2) simplify our selectors, and\n// 3) support HTML5 form validation.\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n\n // Ensure buttons are always above inputs for more visually pleasing borders.\n // This isn't needed for `.input-group-text` since it shares the same border-color\n // as our inputs.\n .btn {\n position: relative;\n z-index: 2;\n\n &:focus {\n z-index: 3;\n }\n }\n\n .btn + .btn,\n .btn + .input-group-text,\n .input-group-text + .input-group-text,\n .input-group-text + .btn {\n margin-left: -$input-border-width;\n }\n}\n\n.input-group-prepend { margin-right: -$input-border-width; }\n.input-group-append { margin-left: -$input-border-width; }\n\n\n// Textual addons\n//\n// Serves as a catch-all element for any text or radio/checkbox input you wish\n// to prepend or append to an input.\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: $input-padding-y $input-padding-x;\n margin-bottom: 0; // Allow use of <label> elements by overriding our default margin-bottom\n @include font-size($input-font-size); // Match inputs\n font-weight: $font-weight-normal;\n line-height: $input-line-height;\n color: $input-group-addon-color;\n text-align: center;\n white-space: nowrap;\n background-color: $input-group-addon-bg;\n border: $input-border-width solid $input-group-addon-border-color;\n @include border-radius($input-border-radius);\n\n // Nuke default margins from checkboxes and radios to vertically center within.\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n margin-top: 0;\n }\n}\n\n\n// Sizing\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control {\n min-height: $input-height-lg;\n}\n\n.input-group-lg > .form-select {\n height: $input-height-lg;\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .form-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n @include border-radius($input-border-radius-lg);\n}\n\n.input-group-sm > .form-control {\n min-height: $input-height-sm;\n}\n\n.input-group-sm > .form-select {\n height: $input-height-sm;\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .form-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n @include border-radius($input-border-radius-sm);\n}\n\n.input-group-lg > .form-select,\n.input-group-sm > .form-select {\n padding-right: $form-select-padding-x + $form-select-indicator-padding;\n}\n\n\n// Prepend and append rounded corners\n//\n// These rulesets must come after the sizing ones to properly override sm and lg\n// border-radius values when extending. They're more specific than we'd like\n// with the `.input-group >` part, but without it, we cannot override the sizing.\n\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n @include border-right-radius(0);\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n @include border-left-radius(0);\n}\n","// Form control focus state\n//\n// Generate a customized focus state and for any input with the specified color,\n// which defaults to the `$input-focus-border-color` variable.\n//\n// We highly encourage you to not customize the default value, but instead use\n// this to tweak colors on an as-needed basis. This aesthetic change is based on\n// WebKit's default styles, but applicable to a wider range of browsers. Its\n// usability and accessibility should be taken into account with any change.\n//\n// Example usage: change the default blue border and shadow to white for better\n// contrast against a dark gray background.\n@mixin form-control-focus($ignore-warning: false) {\n &:focus {\n color: $input-focus-color;\n background-color: $input-focus-bg;\n border-color: $input-focus-border-color;\n outline: 0;\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $input-box-shadow, $input-focus-box-shadow;\n } @else {\n box-shadow: $input-focus-box-shadow;\n }\n }\n @include deprecate(\"The `form-control-focus()` mixin\", \"v4.3.2\", \"v5\", $ignore-warning);\n}\n\n// This mixin uses an `if()` technique to be compatible with Dart Sass\n// See https://github.com/sass/sass/issues/1873#issuecomment-152293725 for more details\n@mixin form-validation-state-selector($state) {\n @if ($state == \"valid\" or $state == \"invalid\") {\n .was-validated #{if(&, \"&\", \"\")}:#{$state},\n #{if(&, \"&\", \"\")}.is-#{$state} {\n @content;\n }\n } @else {\n #{if(&, \"&\", \"\")}.is-#{$state} {\n @content;\n }\n }\n}\n\n@mixin form-validation-state($state, $color, $icon) {\n .#{$state}-feedback {\n display: none;\n width: 100%;\n margin-top: $form-feedback-margin-top;\n @include font-size($form-feedback-font-size);\n color: $color;\n }\n\n .#{$state}-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%; // Contain to parent when possible\n padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x;\n margin-top: .1rem;\n @include font-size($form-feedback-tooltip-font-size);\n line-height: $form-feedback-tooltip-line-height;\n color: color-yiq($color);\n background-color: rgba($color, $form-feedback-tooltip-opacity);\n @include border-radius($form-feedback-tooltip-border-radius);\n }\n\n @include form-validation-state-selector($state) {\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n\n .form-control {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-image: escape-svg($icon);\n background-repeat: no-repeat;\n background-position: right $input-height-inner-quarter center;\n background-size: $input-height-inner-half $input-height-inner-half;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n\n // stylelint-disable-next-line selector-no-qualifying-type\n textarea.form-control {\n @include form-validation-state-selector($state) {\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-position: top $input-height-inner-quarter right $input-height-inner-quarter;\n }\n }\n }\n\n .form-select {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $form-select-feedback-icon-padding-right;\n background: escape-svg($form-select-indicator) $form-select-background, escape-svg($icon) $form-select-bg no-repeat $form-select-feedback-icon-position / $form-select-feedback-icon-size;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n\n .form-check-input {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n &:checked {\n @include gradient-bg(lighten($color, 10%), escape-svg($form-check-input-checked-bg-image));\n }\n\n &:focus {\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n\n ~ .form-check-label {\n color: $color;\n }\n }\n }\n .form-check-inline .form-check-input {\n ~ .#{$state}-feedback {\n margin-left: .5em;\n }\n }\n\n // custom file\n .form-file-input {\n @include form-validation-state-selector($state) {\n ~ .form-file-label {\n border-color: $color;\n }\n\n &:focus {\n ~ .form-file-label {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.btn {\n display: inline-block;\n font-family: $btn-font-family;\n font-weight: $btn-font-weight;\n line-height: $btn-line-height;\n color: $body-color;\n text-align: center;\n white-space: $btn-white-space;\n vertical-align: middle;\n cursor: if($enable-pointer-cursor-for-buttons, pointer, null);\n user-select: none;\n background-color: transparent;\n border: $btn-border-width solid transparent;\n @include button-size($btn-padding-y, $btn-padding-x, $btn-font-size, $btn-border-radius);\n @include transition($btn-transition);\n\n &:hover {\n color: $body-color;\n text-decoration: none;\n }\n\n &:focus,\n &.focus {\n outline: 0;\n box-shadow: $btn-focus-box-shadow;\n }\n\n // Disabled comes first so active can properly restyle\n &.disabled,\n &:disabled {\n opacity: $btn-disabled-opacity;\n @include box-shadow(none);\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active {\n @include box-shadow($btn-active-box-shadow);\n\n &:focus {\n @include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow);\n }\n }\n}\n\n// Future-proof disabling of clicks on `<a>` elements\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n\n//\n// Alternate buttons\n//\n\n@each $color, $value in $theme-colors {\n .btn-#{$color} {\n @include button-variant($value, $value);\n }\n}\n\n@each $color, $value in $theme-colors {\n .btn-outline-#{$color} {\n @include button-outline-variant($value);\n }\n}\n\n\n//\n// Link buttons\n//\n\n// Make a button look and behave like a link\n.btn-link {\n font-weight: $font-weight-normal;\n color: $btn-link-color;\n text-decoration: $link-decoration;\n\n &:hover {\n color: $btn-link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n\n &:focus,\n &.focus {\n text-decoration: $link-hover-decoration;\n box-shadow: none;\n }\n\n &:disabled,\n &.disabled {\n color: $btn-link-disabled-color;\n pointer-events: none;\n }\n\n // No need for an active state here\n}\n\n\n//\n// Button Sizes\n//\n\n.btn-lg {\n @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-border-radius-lg);\n}\n\n.btn-sm {\n @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-border-radius-sm);\n}\n\n\n//\n// Block button\n//\n\n.btn-block {\n display: block;\n width: 100%;\n\n // Vertically space out multiple block buttons\n + .btn-block {\n margin-top: $btn-block-spacing-y;\n }\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n@mixin button-variant(\n $background,\n $border,\n $color: color-yiq($background),\n $hover-background: darken($background, 7.5%),\n $hover-border: darken($border, 10%),\n $hover-color: color-yiq($hover-background),\n $active-background: darken($background, 10%),\n $active-border: darken($border, 12.5%),\n $active-color: color-yiq($active-background)\n) {\n color: $color;\n @include gradient-bg($background);\n border-color: $border;\n @include box-shadow($btn-box-shadow);\n\n &:hover {\n color: $hover-color;\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n }\n\n &:focus,\n &.focus {\n color: $hover-color;\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $btn-box-shadow, 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5);\n }\n }\n\n // Disabled comes first so active can properly restyle\n &.disabled,\n &:disabled {\n color: $color;\n background-color: $background;\n border-color: $border;\n // Remove CSS gradients if they're enabled\n @if $enable-gradients {\n background-image: none;\n }\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: $active-color;\n background-color: $active-background;\n @if $enable-gradients {\n background-image: none; // Remove the gradient for the pressed/active state\n }\n border-color: $active-border;\n\n &:focus {\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows and $btn-active-box-shadow != none {\n box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5);\n }\n }\n }\n}\n\n@mixin button-outline-variant(\n $color,\n $color-hover: color-yiq($color),\n $active-background: $color,\n $active-border: $color,\n $active-color: color-yiq($active-background)\n) {\n color: $color;\n border-color: $color;\n\n &:hover {\n color: $color-hover;\n background-color: $active-background;\n border-color: $active-border;\n }\n\n &:focus,\n &.focus {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n\n &.disabled,\n &:disabled {\n color: $color;\n background-color: transparent;\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: $active-color;\n background-color: $active-background;\n border-color: $active-border;\n\n &:focus {\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows and $btn-active-box-shadow != none {\n box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n }\n }\n}\n\n// Button sizes\n@mixin button-size($padding-y, $padding-x, $font-size, $border-radius) {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n // Manually declare to provide an override to the browser default\n @include border-radius($border-radius, 0);\n}\n",".fade {\n @include transition($transition-fade);\n\n &:not(.show) {\n opacity: 0;\n }\n}\n\n.collapse {\n &:not(.show) {\n display: none;\n }\n}\n\n.collapsing {\n height: 0;\n overflow: hidden;\n @include transition($transition-collapse);\n}\n","// The dropdown wrapper (`<div>`)\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n\n // Generate the caret automatically\n @include caret();\n}\n\n// The dropdown menu\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: $zindex-dropdown;\n display: none; // none by default, but block on \"open\" of the menu\n min-width: $dropdown-min-width;\n padding: $dropdown-padding-y 0;\n margin: $dropdown-spacer 0 0; // override default ul\n @include font-size($dropdown-font-size);\n color: $dropdown-color;\n text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n list-style: none;\n background-color: $dropdown-bg;\n background-clip: padding-box;\n border: $dropdown-border-width solid $dropdown-border-color;\n @include border-radius($dropdown-border-radius);\n @include box-shadow($dropdown-box-shadow);\n}\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .dropdown-menu#{$infix}-left {\n right: auto;\n left: 0;\n }\n\n .dropdown-menu#{$infix}-right {\n right: 0;\n left: auto;\n }\n }\n}\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n// Just add .dropup after the standard .dropdown class and you're set.\n.dropup {\n .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(up);\n }\n}\n\n.dropright {\n .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(right);\n &::after {\n vertical-align: 0;\n }\n }\n}\n\n.dropleft {\n .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(left);\n &::before {\n vertical-align: 0;\n }\n }\n}\n\n// When enabled Popper.js, reset basic dropdown position\n// stylelint-disable-next-line no-duplicate-selectors\n.dropdown-menu {\n &[x-placement^=\"top\"],\n &[x-placement^=\"right\"],\n &[x-placement^=\"bottom\"],\n &[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n }\n}\n\n// Dividers (basically an `<hr>`) within the dropdown\n.dropdown-divider {\n height: 0;\n margin: $dropdown-divider-margin-y 0;\n overflow: hidden;\n border-top: 1px solid $dropdown-divider-bg;\n}\n\n// Links, buttons, and more within the dropdown menu\n//\n// `<button>`-specific styles are denoted with `// For <button>s`\n.dropdown-item {\n display: block;\n width: 100%; // For `<button>`s\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n clear: both;\n font-weight: $font-weight-normal;\n color: $dropdown-link-color;\n text-align: inherit; // For `<button>`s\n white-space: nowrap; // prevent links from randomly breaking onto new lines\n background-color: transparent; // For `<button>`s\n border: 0; // For `<button>`s\n\n // Prevent dropdown overflow if there's no padding\n // See https://github.com/twbs/bootstrap/pull/27703\n @if $dropdown-padding-y == 0 {\n &:first-child {\n @include border-top-radius($dropdown-inner-border-radius);\n }\n\n &:last-child {\n @include border-bottom-radius($dropdown-inner-border-radius);\n }\n }\n\n &:hover,\n &:focus {\n color: $dropdown-link-hover-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-hover-bg);\n }\n\n &.active,\n &:active {\n color: $dropdown-link-active-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-active-bg);\n }\n\n &.disabled,\n &:disabled {\n color: $dropdown-link-disabled-color;\n pointer-events: none;\n background-color: transparent;\n // Remove CSS gradients if they're enabled\n @if $enable-gradients {\n background-image: none;\n }\n }\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n// Dropdown section headers\n.dropdown-header {\n display: block;\n padding: $dropdown-padding-y $dropdown-item-padding-x;\n margin-bottom: 0; // for use with heading elements\n @include font-size($font-size-sm);\n color: $dropdown-header-color;\n white-space: nowrap; // as with > li > a\n}\n\n// Dropdown text\n.dropdown-item-text {\n display: block;\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n color: $dropdown-link-color;\n}\n","@mixin caret-down {\n border-top: $caret-width solid;\n border-right: $caret-width solid transparent;\n border-bottom: 0;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-up {\n border-top: 0;\n border-right: $caret-width solid transparent;\n border-bottom: $caret-width solid;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-right {\n border-top: $caret-width solid transparent;\n border-right: 0;\n border-bottom: $caret-width solid transparent;\n border-left: $caret-width solid;\n}\n\n@mixin caret-left {\n border-top: $caret-width solid transparent;\n border-right: $caret-width solid;\n border-bottom: $caret-width solid transparent;\n}\n\n@mixin caret($direction: down) {\n @if $enable-caret {\n &::after {\n display: inline-block;\n margin-left: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @if $direction == down {\n @include caret-down();\n } @else if $direction == up {\n @include caret-up();\n } @else if $direction == right {\n @include caret-right();\n }\n }\n\n @if $direction == left {\n &::after {\n display: none;\n }\n\n &::before {\n display: inline-block;\n margin-right: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @include caret-left();\n }\n }\n\n &:empty::after {\n margin-left: 0;\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle; // match .btn alignment given font-size hack above\n\n > .btn {\n position: relative;\n flex: 1 1 auto;\n\n // Bring the hover, focused, and \"active\" buttons to the front to overlay\n // the borders properly\n &:hover,\n &:focus,\n &:active,\n &.active {\n z-index: 1;\n }\n }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n\n .input-group {\n width: auto;\n }\n}\n\n.btn-group {\n // Prevent double borders when buttons are next to each other\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-left: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-right-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-left-radius(0);\n }\n}\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-sm > .btn { @extend .btn-sm; }\n.btn-group-lg > .btn { @extend .btn-lg; }\n\n\n//\n// Split button dropdowns\n//\n\n.dropdown-toggle-split {\n padding-right: $btn-padding-x * .75;\n padding-left: $btn-padding-x * .75;\n\n &::after,\n .dropup &::after,\n .dropright &::after {\n margin-left: 0;\n }\n\n .dropleft &::before {\n margin-right: 0;\n }\n}\n\n.btn-sm + .dropdown-toggle-split {\n padding-right: $btn-padding-x-sm * .75;\n padding-left: $btn-padding-x-sm * .75;\n}\n\n.btn-lg + .dropdown-toggle-split {\n padding-right: $btn-padding-x-lg * .75;\n padding-left: $btn-padding-x-lg * .75;\n}\n\n\n// The clickable button for toggling the menu\n// Set the same inset shadow as the :active state\n.btn-group.show .dropdown-toggle {\n @include box-shadow($btn-active-box-shadow);\n\n // Show no shadow for `.btn-link` since it has no other button styles.\n &.btn-link {\n @include box-shadow(none);\n }\n}\n\n\n//\n// Vertical button groups\n//\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n\n > .btn,\n > .btn-group {\n width: 100%;\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-top: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-bottom-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-top-radius(0);\n }\n}\n\n\n// Checkbox and radio options\n//\n// In order to support the browser's form validation feedback, powered by the\n// `required` attribute, we have to \"hide\" the inputs via `clip`. We cannot use\n// `display: none;` or `visibility: hidden;` as that also hides the popover.\n// Simply visually hiding the inputs via `opacity` would leave them clickable in\n// certain cases which is prevented by using `clip` and `pointer-events`.\n// This way, we ensure a DOM element is visible to position the popover from.\n//\n// See https://github.com/twbs/bootstrap/pull/12794 and\n// https://github.com/twbs/bootstrap/pull/14559 for more information.\n\n.btn-group-toggle {\n > .btn,\n > .btn-group > .btn {\n margin-bottom: 0; // Override default `<label>` value\n\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n }\n }\n}\n","// Base class\n//\n// Kickstart any navigation component with a set of style resets. Works with\n// `<nav>`s, `<ul>`s or `<ol>`s.\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: $nav-link-padding-y $nav-link-padding-x;\n\n &:hover,\n &:focus {\n text-decoration: none;\n }\n\n // Disabled state lightens text\n &.disabled {\n color: $nav-link-disabled-color;\n pointer-events: none;\n cursor: default;\n }\n}\n\n//\n// Tabs\n//\n\n.nav-tabs {\n border-bottom: $nav-tabs-border-width solid $nav-tabs-border-color;\n\n .nav-item {\n margin-bottom: -$nav-tabs-border-width;\n }\n\n .nav-link {\n border: $nav-tabs-border-width solid transparent;\n @include border-top-radius($nav-tabs-border-radius);\n\n &:hover,\n &:focus {\n border-color: $nav-tabs-link-hover-border-color;\n }\n\n &.disabled {\n color: $nav-link-disabled-color;\n background-color: transparent;\n border-color: transparent;\n }\n }\n\n .nav-link.active,\n .nav-item.show .nav-link {\n color: $nav-tabs-link-active-color;\n background-color: $nav-tabs-link-active-bg;\n border-color: $nav-tabs-link-active-border-color;\n }\n\n .dropdown-menu {\n // Make dropdown border overlap tab border\n margin-top: -$nav-tabs-border-width;\n // Remove the top rounded corners here since there is a hard edge above the menu\n @include border-top-radius(0);\n }\n}\n\n\n//\n// Pills\n//\n\n.nav-pills {\n .nav-link {\n @include border-radius($nav-pills-border-radius);\n }\n\n .nav-link.active,\n .show > .nav-link {\n color: $nav-pills-link-active-color;\n background-color: $nav-pills-link-active-bg;\n }\n}\n\n\n//\n// Justified variants\n//\n\n.nav-fill {\n .nav-item {\n flex: 1 1 auto;\n text-align: center;\n }\n}\n\n.nav-justified {\n .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n }\n}\n\n\n// Tabbable tabs\n//\n// Hide tabbable panes to start, show them when `.active`\n\n.tab-content {\n > .tab-pane {\n display: none;\n }\n > .active {\n display: block;\n }\n}\n","// Contents\n//\n// Navbar\n// Navbar brand\n// Navbar nav\n// Navbar text\n// Responsive navbar\n// Navbar position\n// Navbar themes\n\n\n// Navbar\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap; // allow us to do the line break for collapsing content\n align-items: center;\n justify-content: space-between; // space out brand from logo\n padding-top: $navbar-padding-y;\n padding-right: $navbar-padding-x; // default: null\n padding-bottom: $navbar-padding-y;\n padding-left: $navbar-padding-x; // default: null\n\n // Because flex properties aren't inherited, we need to redeclare these first\n // few properties so that content nested within behave properly.\n %container-flex-properties {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n }\n\n .container,\n .container-fluid {\n @extend %container-flex-properties;\n }\n\n @each $breakpoint, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($breakpoint, $container-max-widths)} {\n @extend %container-flex-properties;\n }\n }\n}\n\n\n// Navbar brand\n//\n// Used for brand, project, or site names.\n\n.navbar-brand {\n display: inline-block;\n padding-top: $navbar-brand-padding-y;\n padding-bottom: $navbar-brand-padding-y;\n margin-right: $navbar-padding-x;\n @include font-size($navbar-brand-font-size);\n line-height: inherit;\n white-space: nowrap;\n\n &:hover,\n &:focus {\n text-decoration: none;\n }\n}\n\n\n// Navbar nav\n//\n// Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`).\n\n.navbar-nav {\n display: flex;\n flex-direction: column; // cannot use `inherit` to get the `.navbar`s value\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n\n .nav-link {\n padding-right: 0;\n padding-left: 0;\n }\n\n .dropdown-menu {\n position: static;\n }\n}\n\n\n// Navbar text\n//\n//\n\n.navbar-text {\n display: inline-block;\n padding-top: $nav-link-padding-y;\n padding-bottom: $nav-link-padding-y;\n}\n\n\n// Responsive navbar\n//\n// Custom styles for responsive collapsing and toggling of navbar contents.\n// Powered by the collapse Bootstrap JavaScript plugin.\n\n// When collapsed, prevent the toggleable navbar contents from appearing in\n// the default flexbox row orientation. Requires the use of `flex-wrap: wrap`\n// on the `.navbar` parent.\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n // For always expanded or extra full navbars, ensure content aligns itself\n // properly vertically. Can be easily overridden with flex utilities.\n align-items: center;\n}\n\n// Button for toggling the navbar when in its collapsed state\n.navbar-toggler {\n padding: $navbar-toggler-padding-y $navbar-toggler-padding-x;\n @include font-size($navbar-toggler-font-size);\n line-height: 1;\n background-color: transparent; // remove default button style\n border: $border-width solid transparent; // remove default button style\n @include border-radius($navbar-toggler-border-radius);\n\n &:hover,\n &:focus {\n text-decoration: none;\n }\n}\n\n// Keep as a separate element so folks can easily override it with another icon\n// or image file as needed.\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n// Generate series of `.navbar-expand-*` responsive classes for configuring\n// where your navbar collapses.\n.navbar-expand {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-up($next) {\n flex-flow: row nowrap;\n justify-content: flex-start;\n\n .navbar-nav {\n flex-direction: row;\n\n .dropdown-menu {\n position: absolute;\n }\n\n .nav-link {\n padding-right: $navbar-nav-link-padding-x;\n padding-left: $navbar-nav-link-padding-x;\n }\n }\n\n // For nesting containers, have to redeclare for alignment purposes\n %container-nesting-#{$breakpoint} {\n flex-wrap: nowrap;\n }\n\n > .container,\n > .container-fluid {\n @extend %container-nesting-#{$breakpoint};\n }\n\n @each $size, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($size, $container-max-widths)} {\n @extend %container-nesting-#{$breakpoint};\n }\n }\n\n .navbar-collapse {\n display: flex !important; // stylelint-disable-line declaration-no-important\n\n // Changes flex-bases to auto because of an IE10 bug\n flex-basis: auto;\n }\n\n .navbar-toggler {\n display: none;\n }\n }\n }\n }\n}\n\n\n// Navbar themes\n//\n// Styles for switching between navbars with light or dark background.\n\n// Dark links against a light background\n.navbar-light {\n .navbar-brand {\n color: $navbar-light-brand-color;\n\n &:hover,\n &:focus {\n color: $navbar-light-brand-hover-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-light-color;\n\n &:hover,\n &:focus {\n color: $navbar-light-hover-color;\n }\n\n &.disabled {\n color: $navbar-light-disabled-color;\n }\n }\n\n .show > .nav-link,\n .active > .nav-link,\n .nav-link.show,\n .nav-link.active {\n color: $navbar-light-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-light-color;\n border-color: $navbar-light-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: escape-svg($navbar-light-toggler-icon-bg);\n }\n\n .navbar-text {\n color: $navbar-light-color;\n\n a,\n a:hover,\n a:focus {\n color: $navbar-light-active-color;\n }\n }\n}\n\n// White links against a dark background\n.navbar-dark {\n .navbar-brand {\n color: $navbar-dark-brand-color;\n\n &:hover,\n &:focus {\n color: $navbar-dark-brand-hover-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-dark-color;\n\n &:hover,\n &:focus {\n color: $navbar-dark-hover-color;\n }\n\n &.disabled {\n color: $navbar-dark-disabled-color;\n }\n }\n\n .show > .nav-link,\n .active > .nav-link,\n .nav-link.show,\n .nav-link.active {\n color: $navbar-dark-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-dark-color;\n border-color: $navbar-dark-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: escape-svg($navbar-dark-toggler-icon-bg);\n }\n\n .navbar-text {\n color: $navbar-dark-color;\n a,\n a:hover,\n a:focus {\n color: $navbar-dark-active-color;\n }\n }\n}\n","//\n// Base styles\n//\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106\n height: $card-height;\n word-wrap: break-word;\n background-color: $card-bg;\n background-clip: border-box;\n border: $card-border-width solid $card-border-color;\n @include border-radius($card-border-radius);\n\n > hr {\n margin-right: 0;\n margin-left: 0;\n }\n\n > .list-group:first-child {\n .list-group-item:first-child {\n @include border-top-radius($card-border-radius);\n }\n }\n\n > .list-group:last-child {\n .list-group-item:last-child {\n @include border-bottom-radius($card-border-radius);\n }\n }\n}\n\n.card-body {\n // Enable `flex-grow: 1` for decks and groups so that card blocks take up\n // as much space as possible, ensuring footers are aligned to the bottom.\n flex: 1 1 auto;\n // Workaround for the image size bug in IE\n // See: https://github.com/twbs/bootstrap/pull/28855\n min-height: 1px;\n padding: $card-spacer-x;\n color: $card-color;\n}\n\n.card-title {\n margin-bottom: $card-spacer-y;\n}\n\n.card-subtitle {\n margin-top: -$card-spacer-y / 2;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link {\n &:hover {\n text-decoration: none;\n }\n\n + .card-link {\n margin-left: $card-spacer-x;\n }\n}\n\n//\n// Optional textual caps\n//\n\n.card-header {\n padding: $card-spacer-y $card-spacer-x;\n margin-bottom: 0; // Removes the default margin-bottom of <hN>\n color: $card-cap-color;\n background-color: $card-cap-bg;\n border-bottom: $card-border-width solid $card-border-color;\n\n &:first-child {\n @include border-radius($card-inner-border-radius $card-inner-border-radius 0 0);\n }\n\n + .list-group {\n .list-group-item:first-child {\n border-top: 0;\n }\n }\n}\n\n.card-footer {\n padding: $card-spacer-y $card-spacer-x;\n background-color: $card-cap-bg;\n border-top: $card-border-width solid $card-border-color;\n\n &:last-child {\n @include border-radius(0 0 $card-inner-border-radius $card-inner-border-radius);\n }\n}\n\n\n//\n// Header navs\n//\n\n.card-header-tabs {\n margin-right: -$card-spacer-x / 2;\n margin-bottom: -$card-spacer-y;\n margin-left: -$card-spacer-x / 2;\n border-bottom: 0;\n\n @if $nav-tabs-link-active-bg != $card-bg {\n .nav-link.active {\n background-color: $card-bg;\n border-bottom-color: $card-bg;\n }\n }\n}\n\n.card-header-pills {\n margin-right: -$card-spacer-x / 2;\n margin-left: -$card-spacer-x / 2;\n}\n\n// Card image\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: $card-img-overlay-padding;\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n flex-shrink: 0; // For IE: https://github.com/twbs/bootstrap/issues/29396\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n}\n\n.card-img,\n.card-img-top {\n @include border-top-radius($card-inner-border-radius);\n}\n\n.card-img,\n.card-img-bottom {\n @include border-bottom-radius($card-inner-border-radius);\n}\n\n\n// Card deck\n\n.card-deck {\n .card {\n margin-bottom: $card-deck-margin;\n }\n\n @include media-breakpoint-up(sm) {\n display: flex;\n flex-flow: row wrap;\n margin-right: -$card-deck-margin;\n margin-left: -$card-deck-margin;\n\n .card {\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n flex: 1 0 0%;\n margin-right: $card-deck-margin;\n margin-bottom: 0; // Override the default\n margin-left: $card-deck-margin;\n }\n }\n}\n\n\n//\n// Card groups\n//\n\n.card-group {\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n margin-bottom: $card-group-margin;\n }\n\n @include media-breakpoint-up(sm) {\n display: flex;\n flex-flow: row wrap;\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n flex: 1 0 0%;\n margin-bottom: 0;\n\n + .card {\n margin-left: 0;\n border-left: 0;\n }\n\n // Handle rounded corners\n @if $enable-rounded {\n &:not(:last-child) {\n @include border-right-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-blacklist\n border-top-right-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-blacklist\n border-bottom-right-radius: 0;\n }\n }\n\n &:not(:first-child) {\n @include border-left-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-blacklist\n border-top-left-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-blacklist\n border-bottom-left-radius: 0;\n }\n }\n }\n }\n }\n}\n\n\n//\n// Accordion\n//\n\n.accordion {\n > .card {\n overflow: hidden;\n\n &:not(:last-of-type) {\n border-bottom: 0;\n @include border-bottom-radius(0);\n }\n\n &:not(:first-of-type) {\n @include border-top-radius(0);\n }\n\n > .card-header {\n @include border-radius(0);\n margin-bottom: -$card-border-width;\n }\n }\n}\n",".breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: $breadcrumb-padding-y $breadcrumb-padding-x;\n margin-bottom: $breadcrumb-margin-bottom;\n @include font-size($breadcrumb-font-size);\n list-style: none;\n background-color: $breadcrumb-bg;\n @include border-radius($breadcrumb-border-radius);\n}\n\n.breadcrumb-item {\n // The separator between breadcrumbs (by default, a forward-slash: \"/\")\n + .breadcrumb-item {\n padding-left: $breadcrumb-item-padding-x;\n\n &::before {\n display: inline-block; // Suppress underlining of the separator in modern browsers\n padding-right: $breadcrumb-item-padding-x;\n color: $breadcrumb-divider-color;\n content: escape-svg($breadcrumb-divider);\n }\n }\n\n // IE9-11 hack to properly handle hyperlink underlines for breadcrumbs built\n // without `<ul>`s. The `::before` pseudo-element generates an element\n // *within* the .breadcrumb-item and thereby inherits the `text-decoration`.\n //\n // To trick IE into suppressing the underline, we give the pseudo-element an\n // underline and then immediately remove it.\n + .breadcrumb-item:hover::before {\n text-decoration: underline;\n }\n // stylelint-disable-next-line no-duplicate-selectors\n + .breadcrumb-item:hover::before {\n text-decoration: none;\n }\n\n &.active {\n color: $breadcrumb-active-color;\n }\n}\n",".pagination {\n display: flex;\n @include list-unstyled();\n}\n\n.page-link {\n position: relative;\n display: block;\n color: $pagination-color;\n background-color: $pagination-bg;\n border: $pagination-border-width solid $pagination-border-color;\n\n &:hover {\n z-index: 2;\n color: $pagination-hover-color;\n text-decoration: none;\n background-color: $pagination-hover-bg;\n border-color: $pagination-hover-border-color;\n }\n\n &:focus {\n z-index: 3;\n outline: $pagination-focus-outline;\n box-shadow: $pagination-focus-box-shadow;\n }\n}\n\n.page-item {\n &:not(:first-child) .page-link {\n margin-left: $pagination-margin-left;\n }\n\n &.active .page-link {\n z-index: 3;\n color: $pagination-active-color;\n background-color: $pagination-active-bg;\n border-color: $pagination-active-border-color;\n }\n\n &.disabled .page-link {\n color: $pagination-disabled-color;\n pointer-events: none;\n // Opinionated: remove the \"hand\" cursor set previously for .page-link\n cursor: auto;\n background-color: $pagination-disabled-bg;\n border-color: $pagination-disabled-border-color;\n }\n}\n\n\n//\n// Sizing\n//\n@include pagination-size($pagination-padding-y, $pagination-padding-x, null, $pagination-border-radius);\n\n.pagination-lg {\n @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $border-radius-lg);\n}\n\n.pagination-sm {\n @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $border-radius-sm);\n}\n","// Pagination\n\n@mixin pagination-size($padding-y, $padding-x, $font-size, $border-radius) {\n .page-link {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n }\n\n .page-item {\n @if $pagination-margin-left == (-$pagination-border-width) {\n &:first-child {\n .page-link {\n @include border-left-radius($border-radius);\n }\n }\n\n &:last-child {\n .page-link {\n @include border-right-radius($border-radius);\n }\n }\n } @else {\n //Add border-radius to all pageLinks in case they have left margin\n .page-link {\n @include border-radius($border-radius);\n }\n }\n }\n}\n","// Base class\n//\n// Requires one of the contextual, color modifier classes for `color` and\n// `background-color`.\n\n.badge {\n display: inline-block;\n padding: $badge-padding-y $badge-padding-x;\n @include font-size($badge-font-size);\n font-weight: $badge-font-weight;\n line-height: 1;\n color: $badge-color;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n @include border-radius($badge-border-radius);\n\n // Empty badges collapse automatically\n &:empty {\n display: none;\n }\n}\n\n// Quick fix for badges in buttons\n.btn .badge {\n position: relative;\n top: -1px;\n}\n","//\n// Base styles\n//\n\n.alert {\n position: relative;\n padding: $alert-padding-y $alert-padding-x;\n margin-bottom: $alert-margin-bottom;\n border: $alert-border-width solid transparent;\n @include border-radius($alert-border-radius);\n}\n\n// Headings for larger alerts\n.alert-heading {\n // Specified to prevent conflicts of changing $headings-color\n color: inherit;\n}\n\n// Provide class for links that match alerts\n.alert-link {\n font-weight: $alert-link-font-weight;\n}\n\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissible {\n padding-right: $close-font-size + $alert-padding-x * 2;\n\n // Adjust close link position\n .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: $alert-padding-y $alert-padding-x;\n color: inherit;\n }\n}\n\n\n// Alternate styles\n//\n// Generate contextual modifier classes for colorizing the alert.\n\n@each $color, $value in $theme-colors {\n .alert-#{$color} {\n @include alert-variant(color-level($value, $alert-bg-level), color-level($value, $alert-border-level), color-level($value, $alert-color-level));\n }\n}\n","@mixin alert-variant($background, $border, $color) {\n color: $color;\n @include gradient-bg($background);\n border-color: $border;\n\n .alert-link {\n color: darken($color, 10%);\n }\n}\n","// Disable animation if transitions are disabled\n@if $enable-transitions {\n @keyframes progress-bar-stripes {\n 0% { background-position-x: $progress-height; }\n }\n}\n\n.progress {\n display: flex;\n height: $progress-height;\n overflow: hidden; // force rounded corners by cropping it\n @include font-size($progress-font-size);\n background-color: $progress-bg;\n @include border-radius($progress-border-radius);\n @include box-shadow($progress-box-shadow);\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: $progress-bar-color;\n text-align: center;\n white-space: nowrap;\n background-color: $progress-bar-bg;\n @include transition($progress-bar-transition);\n}\n\n.progress-bar-striped {\n @include gradient-striped();\n background-size: $progress-height $progress-height;\n}\n\n@if $enable-transitions {\n .progress-bar-animated {\n animation: progress-bar-stripes $progress-bar-animation-timing;\n\n @if $enable-prefers-reduced-motion-media-query {\n @media (prefers-reduced-motion: reduce) {\n animation: none;\n }\n }\n }\n}\n","// Base class\n//\n// Easily usable on <ul>, <ol>, or <div>.\n\n.list-group {\n display: flex;\n flex-direction: column;\n\n // No need to set list-style: none; since .list-group-item is block level\n padding-left: 0; // reset padding because ul and ol\n margin-bottom: 0;\n}\n\n\n// Interactive list items\n//\n// Use anchor or button elements instead of `li`s or `div`s to create interactive\n// list items. Includes an extra `.active` modifier class for selected items.\n\n.list-group-item-action {\n width: 100%; // For `<button>`s (anchors become 100% by default though)\n color: $list-group-action-color;\n text-align: inherit; // For `<button>`s (anchors inherit)\n\n // Hover state\n &:hover,\n &:focus {\n z-index: 1; // Place hover/focus items above their siblings for proper border styling\n color: $list-group-action-hover-color;\n text-decoration: none;\n background-color: $list-group-hover-bg;\n }\n\n &:active {\n color: $list-group-action-active-color;\n background-color: $list-group-action-active-bg;\n }\n}\n\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n position: relative;\n display: block;\n padding: $list-group-item-padding-y $list-group-item-padding-x;\n margin-bottom: 0; // for <label> variations\n color: $list-group-color;\n background-color: $list-group-bg;\n border: $list-group-border-width solid $list-group-border-color;\n\n &:first-child {\n @include border-top-radius($list-group-border-radius);\n }\n\n &:last-child {\n @include border-bottom-radius($list-group-border-radius);\n }\n\n &.disabled,\n &:disabled {\n color: $list-group-disabled-color;\n pointer-events: none;\n background-color: $list-group-disabled-bg;\n }\n\n // Include both here for `<a>`s and `<button>`s\n &.active {\n z-index: 2; // Place active items above their siblings for proper border styling\n color: $list-group-active-color;\n background-color: $list-group-active-bg;\n border-color: $list-group-active-border-color;\n }\n\n & + & {\n border-top-width: 0;\n\n &.active {\n margin-top: -$list-group-border-width;\n border-top-width: $list-group-border-width;\n }\n }\n}\n\n\n// Horizontal\n//\n// Change the layout of list group items from vertical (default) to horizontal.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .list-group-horizontal#{$infix} {\n flex-direction: row;\n\n .list-group-item {\n &:first-child {\n @include border-bottom-left-radius($list-group-border-radius);\n @include border-top-right-radius(0);\n }\n\n &:last-child {\n @include border-top-right-radius($list-group-border-radius);\n @include border-bottom-left-radius(0);\n }\n\n &.active {\n margin-top: 0;\n }\n\n & + .list-group-item {\n border-top-width: $list-group-border-width;\n border-left-width: 0;\n\n &.active {\n margin-left: -$list-group-border-width;\n border-left-width: $list-group-border-width;\n }\n }\n }\n }\n }\n}\n\n\n// Flush list items\n//\n// Remove borders and border-radius to keep list group items edge-to-edge. Most\n// useful within other components (e.g., cards).\n\n.list-group-flush {\n .list-group-item {\n border-right-width: 0;\n border-left-width: 0;\n @include border-radius(0);\n\n &:first-child {\n border-top-width: 0;\n }\n }\n\n &:last-child {\n .list-group-item:last-child {\n border-bottom-width: 0;\n }\n }\n}\n\n\n// Contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n@each $color, $value in $theme-colors {\n @include list-group-item-variant($color, color-level($value, -9), color-level($value, 6));\n}\n","// List Groups\n\n@mixin list-group-item-variant($state, $background, $color) {\n .list-group-item-#{$state} {\n color: $color;\n background-color: $background;\n\n &.list-group-item-action {\n &:hover,\n &:focus {\n color: $color;\n background-color: darken($background, 5%);\n }\n\n &.active {\n color: $white;\n background-color: $color;\n border-color: $color;\n }\n }\n }\n}\n",".close {\n @include font-size($close-font-size);\n font-weight: $close-font-weight;\n line-height: 1;\n color: $close-color;\n text-shadow: $close-text-shadow;\n opacity: .5;\n\n // Override <a>'s hover style\n &:hover {\n color: $close-color;\n text-decoration: none;\n }\n\n &:not(:disabled):not(.disabled) {\n &:hover,\n &:focus {\n opacity: .75;\n }\n }\n}\n\n// Additional properties for button version\n// iOS requires the button element instead of an anchor tag.\n// If you want the anchor version, it requires `href=\"#\"`.\n// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n// stylelint-disable-next-line selector-no-qualifying-type\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n appearance: none;\n}\n\n// Future-proof disabling of clicks on `<a>` elements\n\n// stylelint-disable-next-line selector-no-qualifying-type\na.close.disabled {\n pointer-events: none;\n}\n",".toast {\n max-width: $toast-max-width;\n overflow: hidden; // cheap rounded corners on nested items\n @include font-size($toast-font-size);\n color: $toast-color;\n background-color: $toast-background-color;\n background-clip: padding-box;\n border: $toast-border-width solid $toast-border-color;\n box-shadow: $toast-box-shadow;\n backdrop-filter: blur(10px);\n opacity: 0;\n @include border-radius($toast-border-radius);\n\n &:not(:last-child) {\n margin-bottom: $toast-padding-x;\n }\n\n &.showing {\n opacity: 1;\n }\n\n &.show {\n display: block;\n opacity: 1;\n }\n\n &.hide {\n display: none;\n }\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: $toast-padding-y $toast-padding-x;\n color: $toast-header-color;\n background-color: $toast-header-background-color;\n background-clip: padding-box;\n border-bottom: $toast-border-width solid $toast-header-border-color;\n}\n\n.toast-body {\n padding: $toast-padding-x; // apply to both vertical and horizontal\n}\n","// .modal-open - body class for killing the scroll\n// .modal - container to scroll within\n// .modal-dialog - positioning shell for the actual modal\n// .modal-content - actual modal w/ bg and corners and stuff\n\n\n.modal-open {\n // Kill the scroll on the body\n overflow: hidden;\n\n .modal {\n overflow-x: hidden;\n overflow-y: auto;\n }\n}\n\n// Container that the modal scrolls within\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n // Prevent Chrome on Windows from adding a focus outline. For details, see\n // https://github.com/twbs/bootstrap/pull/10951.\n outline: 0;\n // We deliberately don't use `-webkit-overflow-scrolling: touch;` due to a\n // gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342\n // See also https://github.com/twbs/bootstrap/issues/17695\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n position: relative;\n width: auto;\n margin: $modal-dialog-margin;\n // allow clicks to pass through for custom click handling to close modal\n pointer-events: none;\n\n // When fading in the modal, animate it to slide down\n .modal.fade & {\n @include transition($modal-transition);\n transform: $modal-fade-transform;\n }\n .modal.show & {\n transform: $modal-show-transform;\n }\n\n // When trying to close, animate focus to scale\n .modal.modal-static & {\n transform: $modal-scale-transform;\n }\n}\n\n.modal-dialog-scrollable {\n display: flex; // IE10/11\n max-height: subtract(100%, $modal-dialog-margin * 2);\n\n .modal-content {\n max-height: subtract(100vh, $modal-dialog-margin * 2); // IE10/11\n overflow: hidden;\n }\n\n .modal-header,\n .modal-footer {\n flex-shrink: 0;\n }\n\n .modal-body {\n overflow-y: auto;\n }\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: subtract(100%, $modal-dialog-margin * 2);\n\n // Ensure `modal-dialog-centered` extends the full height of the view (IE10/11)\n &::before {\n display: block; // IE10\n height: subtract(100vh, $modal-dialog-margin * 2);\n content: \"\";\n }\n\n // Ensure `.modal-body` shows scrollbar (IE10/11)\n &.modal-dialog-scrollable {\n flex-direction: column;\n justify-content: center;\n height: 100%;\n\n .modal-content {\n max-height: none;\n }\n\n &::before {\n content: none;\n }\n }\n}\n\n// Actual modal\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%; // Ensure `.modal-content` extends the full width of the parent `.modal-dialog`\n // counteract the pointer-events: none; in the .modal-dialog\n color: $modal-content-color;\n pointer-events: auto;\n background-color: $modal-content-bg;\n background-clip: padding-box;\n border: $modal-content-border-width solid $modal-content-border-color;\n @include border-radius($modal-content-border-radius);\n @include box-shadow($modal-content-box-shadow-xs);\n // Remove focus outline from opened modal\n outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal-backdrop;\n width: 100vw;\n height: 100vh;\n background-color: $modal-backdrop-bg;\n\n // Fade for backdrop\n &.fade { opacity: 0; }\n &.show { opacity: $modal-backdrop-opacity; }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n display: flex;\n align-items: flex-start; // so the close btn always stays on the upper right corner\n justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends\n padding: $modal-header-padding;\n border-bottom: $modal-header-border-width solid $modal-header-border-color;\n @include border-top-radius($modal-content-inner-border-radius);\n\n .close {\n padding: $modal-header-padding;\n // auto on the left force icon to the right even when there is no .modal-title\n margin: (-$modal-header-padding-y) (-$modal-header-padding-x) (-$modal-header-padding-y) auto;\n }\n}\n\n// Title text within header\n.modal-title {\n margin-bottom: 0;\n line-height: $modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n position: relative;\n // Enable `flex-grow: 1` so that the body take up as much space as possible\n // when there should be a fixed height on `.modal-dialog`.\n flex: 1 1 auto;\n padding: $modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center; // vertically center\n justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items\n padding: $modal-inner-padding - $modal-footer-margin-between / 2;\n border-top: $modal-footer-border-width solid $modal-footer-border-color;\n @include border-bottom-radius($modal-content-inner-border-radius);\n\n // Place margin between footer elements\n // This solution is far from ideal because of the universal selector usage,\n // but is needed to fix https://github.com/twbs/bootstrap/issues/24800\n > * {\n margin: $modal-footer-margin-between / 2;\n }\n}\n\n// Measure scrollbar width for padding body during modal show/hide\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n// Scale up the modal\n@include media-breakpoint-up(sm) {\n // Automatically set modal's width for larger viewports\n .modal-dialog {\n max-width: $modal-md;\n margin: $modal-dialog-margin-y-sm-up auto;\n }\n\n .modal-dialog-scrollable {\n max-height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);\n\n .modal-content {\n max-height: subtract(100vh, $modal-dialog-margin-y-sm-up * 2);\n }\n }\n\n .modal-dialog-centered {\n min-height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);\n\n &::before {\n height: subtract(100vh, $modal-dialog-margin-y-sm-up * 2);\n }\n }\n\n .modal-content {\n @include box-shadow($modal-content-box-shadow-sm-up);\n }\n\n .modal-sm { max-width: $modal-sm; }\n}\n\n@include media-breakpoint-up(lg) {\n .modal-lg,\n .modal-xl {\n max-width: $modal-lg;\n }\n}\n\n@include media-breakpoint-up(xl) {\n .modal-xl { max-width: $modal-xl; }\n}\n","// Base class\n.tooltip {\n position: absolute;\n z-index: $zindex-tooltip;\n display: block;\n margin: $tooltip-margin;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($tooltip-font-size);\n // Allow breaking very long words so they don't overflow the tooltip's bounds\n word-wrap: break-word;\n opacity: 0;\n\n &.show { opacity: $tooltip-opacity; }\n\n .tooltip-arrow {\n position: absolute;\n display: block;\n width: $tooltip-arrow-width;\n height: $tooltip-arrow-height;\n\n &::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-tooltip-top {\n padding: $tooltip-arrow-height 0;\n\n .tooltip-arrow {\n bottom: 0;\n\n &::before {\n top: 0;\n border-width: $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-top-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-right {\n padding: 0 $tooltip-arrow-height;\n\n .tooltip-arrow {\n left: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n right: 0;\n border-width: ($tooltip-arrow-width / 2) $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-right-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-bottom {\n padding: $tooltip-arrow-height 0;\n\n .tooltip-arrow {\n top: 0;\n\n &::before {\n bottom: 0;\n border-width: 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-bottom-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-left {\n padding: 0 $tooltip-arrow-height;\n\n .tooltip-arrow {\n right: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n left: 0;\n border-width: ($tooltip-arrow-width / 2) 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-left-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-tooltip-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-tooltip-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-tooltip-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-tooltip-left;\n }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n max-width: $tooltip-max-width;\n padding: $tooltip-padding-y $tooltip-padding-x;\n color: $tooltip-color;\n text-align: center;\n background-color: $tooltip-bg;\n @include border-radius($tooltip-border-radius);\n}\n","@mixin reset-text {\n font-family: $font-family-base;\n // We deliberately do NOT reset font-size or word-wrap.\n font-style: normal;\n font-weight: $font-weight-normal;\n line-height: $line-height-base;\n text-align: left; // Fallback for where `start` is not supported\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n}\n",".popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: $zindex-popover;\n display: block;\n max-width: $popover-max-width;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($popover-font-size);\n // Allow breaking very long words so they don't overflow the popover's bounds\n word-wrap: break-word;\n background-color: $popover-bg;\n background-clip: padding-box;\n border: $popover-border-width solid $popover-border-color;\n @include border-radius($popover-border-radius);\n @include box-shadow($popover-box-shadow);\n\n .popover-arrow {\n position: absolute;\n display: block;\n width: $popover-arrow-width;\n height: $popover-arrow-height;\n margin: 0 $popover-border-radius;\n\n &::before,\n &::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-popover-top {\n margin-bottom: $popover-arrow-height;\n\n > .popover-arrow {\n bottom: subtract(-$popover-arrow-height, $popover-border-width);\n\n &::before {\n bottom: 0;\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-top-color: $popover-arrow-outer-color;\n }\n\n &::after {\n bottom: $popover-border-width;\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-top-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-right {\n margin-left: $popover-arrow-height;\n\n > .popover-arrow {\n left: subtract(-$popover-arrow-height, $popover-border-width);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners\n\n &::before {\n left: 0;\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-right-color: $popover-arrow-outer-color;\n }\n\n &::after {\n left: $popover-border-width;\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-right-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-bottom {\n margin-top: $popover-arrow-height;\n\n > .popover-arrow {\n top: subtract(-$popover-arrow-height, $popover-border-width);\n\n &::before {\n top: 0;\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\n border-bottom-color: $popover-arrow-outer-color;\n }\n\n &::after {\n top: $popover-border-width;\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\n border-bottom-color: $popover-arrow-color;\n }\n }\n\n // This will remove the popover-header's border just below the arrow\n .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: $popover-arrow-width;\n margin-left: -$popover-arrow-width / 2;\n content: \"\";\n border-bottom: $popover-border-width solid $popover-header-bg;\n }\n}\n\n.bs-popover-left {\n margin-right: $popover-arrow-height;\n\n > .popover-arrow {\n right: subtract(-$popover-arrow-height, $popover-border-width);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners\n\n &::before {\n right: 0;\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\n border-left-color: $popover-arrow-outer-color;\n }\n\n &::after {\n right: $popover-border-width;\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\n border-left-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-popover-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-popover-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-popover-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-popover-left;\n }\n}\n\n\n// Offset the popover to account for the popover arrow\n.popover-header {\n padding: $popover-header-padding-y $popover-header-padding-x;\n margin-bottom: 0; // Reset the default from Reboot\n @include font-size($font-size-base);\n color: $popover-header-color;\n background-color: $popover-header-bg;\n border-bottom: $popover-border-width solid darken($popover-header-bg, 5%);\n @include border-top-radius($popover-inner-border-radius);\n\n &:empty {\n display: none;\n }\n}\n\n.popover-body {\n padding: $popover-body-padding-y $popover-body-padding-x;\n color: $popover-body-color;\n}\n","// Notes on the classes:\n//\n// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically)\n// even when their scroll action started on a carousel, but for compatibility (with Firefox)\n// we're preventing all actions instead\n// 2. The .carousel-item-left and .carousel-item-right is used to indicate where\n// the active slide is heading.\n// 3. .active.carousel-item is the current slide.\n// 4. .active.carousel-item-left and .active.carousel-item-right is the current\n// slide in its in-transition state. Only one of these occurs at a time.\n// 5. .carousel-item-next.carousel-item-left and .carousel-item-prev.carousel-item-right\n// is the upcoming slide in transition.\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n @include clearfix();\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n @include transition($carousel-transition);\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n\n//\n// Alternate transitions\n//\n\n.carousel-fade {\n .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n }\n\n .carousel-item.active,\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n }\n\n .active.carousel-item-left,\n .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n @include transition(opacity 0s $carousel-transition-duration);\n }\n}\n\n\n//\n// Left/right controls for nav\n//\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n // Use flex for alignment (1-3)\n display: flex; // 1. allow flex styles\n align-items: center; // 2. vertically center contents\n justify-content: center; // 3. horizontally center contents\n width: $carousel-control-width;\n color: $carousel-control-color;\n text-align: center;\n opacity: $carousel-control-opacity;\n @include transition($carousel-control-transition);\n\n // Hover/focus state\n &:hover,\n &:focus {\n color: $carousel-control-color;\n text-decoration: none;\n outline: 0;\n opacity: $carousel-control-hover-opacity;\n }\n}\n.carousel-control-prev {\n left: 0;\n @if $enable-gradients {\n background-image: linear-gradient(90deg, rgba($black, .25), rgba($black, .001));\n }\n}\n.carousel-control-next {\n right: 0;\n @if $enable-gradients {\n background-image: linear-gradient(270deg, rgba($black, .25), rgba($black, .001));\n }\n}\n\n// Icons for within\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: $carousel-control-icon-width;\n height: $carousel-control-icon-width;\n background: no-repeat 50% / 100% 100%;\n}\n.carousel-control-prev-icon {\n background-image: escape-svg($carousel-control-prev-icon-bg);\n}\n.carousel-control-next-icon {\n background-image: escape-svg($carousel-control-next-icon-bg);\n}\n\n\n// Optional indicator pips\n//\n// Add an ordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n display: flex;\n justify-content: center;\n padding-left: 0; // override <ol> default\n // Use the .carousel-control's width as margin so we don't overlay those\n margin-right: $carousel-control-width;\n margin-left: $carousel-control-width;\n list-style: none;\n\n li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: $carousel-indicator-width;\n height: $carousel-indicator-height;\n margin-right: $carousel-indicator-spacer;\n margin-left: $carousel-indicator-spacer;\n text-indent: -999px;\n cursor: pointer;\n background-color: $carousel-indicator-active-bg;\n background-clip: padding-box;\n // Use transparent borders to increase the hit area by 10px on top and bottom.\n border-top: $carousel-indicator-hit-area-height solid transparent;\n border-bottom: $carousel-indicator-hit-area-height solid transparent;\n opacity: $carousel-indicator-opacity;\n @include transition($carousel-indicator-transition);\n }\n\n .active {\n opacity: $carousel-indicator-active-opacity;\n }\n}\n\n\n// Optional captions\n//\n//\n\n.carousel-caption {\n position: absolute;\n right: (100% - $carousel-caption-width) / 2;\n bottom: $carousel-caption-spacer;\n left: (100% - $carousel-caption-width) / 2;\n padding-top: $carousel-caption-padding-y;\n padding-bottom: $carousel-caption-padding-y;\n color: $carousel-caption-color;\n text-align: center;\n}\n","@mixin clearfix() {\n &::after {\n display: block;\n clear: both;\n content: \"\";\n }\n}\n","//\n// Rotating border\n//\n\n@keyframes spinner-border {\n to { transform: rotate(360deg); }\n}\n\n.spinner-border {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: text-bottom;\n border: $spinner-border-width solid currentColor;\n border-right-color: transparent;\n // stylelint-disable-next-line property-blacklist\n border-radius: 50%;\n animation: spinner-border .75s linear infinite;\n}\n\n.spinner-border-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n border-width: $spinner-border-width-sm;\n}\n\n//\n// Growing circle\n//\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: text-bottom;\n background-color: currentColor;\n // stylelint-disable-next-line property-blacklist\n border-radius: 50%;\n opacity: 0;\n animation: spinner-grow .75s linear infinite;\n}\n\n.spinner-grow-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n}\n","@each $color, $value in $theme-colors {\n .link-#{$color} {\n color: $value;\n\n @if $emphasized-link-hover-darken-percentage != 0 {\n &:hover,\n &:focus {\n color: darken($value, $emphasized-link-hover-darken-percentage);\n }\n }\n }\n}\n","// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n position: relative;\n width: 100%;\n\n &::before {\n display: block;\n content: \"\";\n }\n\n .embed-responsive-item,\n iframe,\n embed,\n object,\n video {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n }\n}\n\n@each $key, $ratio in $embed-responsive-aspect-ratios {\n .embed-responsive-#{$key} {\n &::before {\n padding-top: percentage(map-get($ratio, y) / map-get($ratio, x));\n }\n }\n}\n","// Shorthand\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n// Responsive sticky top\n@supports (position: sticky) {\n @each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .sticky#{$infix}-top {\n position: sticky;\n top: 0;\n z-index: $zindex-sticky;\n }\n }\n }\n}\n","//\n// Screenreaders\n//\n\n.sr-only,\n.sr-only-focusable:not(:focus) {\n @include sr-only();\n}\n","// stylelint-disable declaration-no-important\n\n// Only display content to screen readers\n//\n// See: https://a11yproject.com/posts/how-to-hide-content/\n// See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin sr-only {\n position: absolute !important;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important; // Fix for https://github.com/twbs/bootstrap/issues/25686\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n}\n\n// Use to only display content when it's focused.\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n\n@mixin sr-only-focusable {\n &:not(:focus) {\n @include sr-only();\n }\n}\n","//\n// Stretched link\n//\n\n.stretched-link {\n &::#{$stretched-link-pseudo-element} {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $stretched-link-z-index;\n content: \"\";\n }\n}\n","//\n// Text truncation\n//\n\n.text-truncate {\n @include text-truncate();\n}\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (eg. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n // stylelint-disable-next-line declaration-no-important\n #{$property}: $value !important;\n }\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file
+{"version":3,"sources":["../../scss/bootstrap.scss","bootstrap.css","../../scss/_root.scss","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/vendor/_rfs.scss","../../scss/mixins/_border-radius.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/_containers.scss","../../scss/mixins/_container.scss","../../scss/mixins/_breakpoints.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/_functions.scss","../../scss/forms/_labels.scss","../../scss/forms/_form-control.scss","../../scss/mixins/_transition.scss","../../scss/forms/_form-select.scss","../../scss/forms/_form-check.scss","../../scss/forms/_form-file.scss","../../scss/mixins/_gradients.scss","../../scss/forms/_form-range.scss","../../scss/forms/_input-group.scss","../../scss/mixins/_forms.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/_button-group.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_close.scss","../../scss/_toasts.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/mixins/_clearfix.scss","../../scss/_spinners.scss","../../scss/helpers/_colored-links.scss","../../scss/helpers/_embed.scss","../../scss/helpers/_position.scss","../../scss/helpers/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/helpers/_stretched-link.scss","../../scss/helpers/_text-truncation.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"AAAA;;;;;ECKE;ACLF;EAGI,eAAc;EAAd,iBAAc;EAAd,iBAAc;EAAd,eAAc;EAAd,cAAc;EAAd,iBAAc;EAAd,iBAAc;EAAd,gBAAc;EAAd,eAAc;EAAd,eAAc;EAAd,aAAc;EAAd,eAAc;EAAd,oBAAc;EAId,kBAAc;EAAd,oBAAc;EAAd,kBAAc;EAAd,eAAc;EAAd,kBAAc;EAAd,iBAAc;EAAd,gBAAc;EAAd,eAAc;EAKhB,+MAAyB;EACzB,6GAAwB;ADiB1B;;AEfA;;;EAGE,sBAAsB;AFkBxB;;AEGA;EACE,SAAS;EACT,kMCsUiN;EC3H7M,eAvE+B;EFlInC,gBCkV+B;EDjV/B,gBCuV+B;EDtV/B,cC7BgB;ED+BhB,sBCxCa;EDyCb,8BAA8B;EAC9B,6CChCa;AH+Bf;;AAEA;EEaE,qBAAqB;AFXvB;;AEqBA;EACE,cAAsB;EACtB,cCqWmC;EDpWnC,8BAA8B;EAC9B,SAAS;EACT,aCoW+B;AHtXjC;;AEqBA;EACE,WC4O+B;AH9PjC;;AE4BA;EACE,aAAa;EACb,qBCgTuC;ED7SvC,gBCgT+B;ED/S/B,gBCgT+B;AH3UjC;;AE+BA;EEkJQ,iCAf6B;AJ9JrC;;AIWI;EFgBJ;IEyJQ,iBAlF6B;EJ7FnC;AACF;;AE0BA;EE6IQ,iCAf6B;AJpJrC;;AICI;EFqBJ;IEoJQ,eAlF6B;EJnFnC;AACF;;AEqBA;EEwIQ,+BAf6B;AJ1IrC;;AITI;EF0BJ;IE+IQ,kBAlF6B;EJzEnC;AACF;;AEgBA;EEmIQ,iCAf6B;AJhIrC;;AInBI;EF+BJ;IE0IQ,iBAlF6B;EJ/DnC;AACF;;AEWA;EE0HM,kBAvE+B;AJ1DrC;;AEYA;EEqHM,eAvE+B;AJtDrC;;AEmBA;EACE,aAAa;EACb,mBC6H8B;AH7IhC;;AE2BA;;EAEE,0BAA0B;EAC1B,yCAAiC;EAAjC,iCAAiC;EACjC,YAAY;EACZ,sCAA8B;EAA9B,8BAA8B;AFxBhC;;AE8BA;EACE,mBAAmB;EACnB,kBAAkB;EAClB,oBAAoB;AF3BtB;;AEiCA;;EAEE,kBAAkB;AF9BpB;;AEiCA;;;EAGE,aAAa;EACb,mBAAmB;AF9BrB;;AEiCA;;;;EAIE,gBAAgB;AF9BlB;;AEiCA;EACE,gBC+L+B;AH7NjC;;AEmCA;EACE,oBAAoB;EACpB,cAAc;AFhChB;;AEsCA;EACE,gBAAgB;AFnClB;;AE2CA;;EAEE,mBCwKkC;AHhNpC;;AEgDA;EEqBM,kBAvE+B;AJMrC;;AEmDA;EACE,cCiNgC;EDhNhC,yBCwNmC;AHxQrC;;AEyDA;;EAEE,kBAAkB;EECd,iBAvE+B;EFwEnC,cAAc;EACd,wBAAwB;AFtD1B;;AEyDA;EAAM,cAAc;AFrDpB;;AEsDA;EAAM,UAAU;AFlDhB;;AEuDA;EACE,cC/Ne;EDgOf,0BCLiD;AH/CnD;;AEkDA;EAKI,cCP8D;AH5ClE;;AE6DA;EAGI,cAAc;EACd,qBAAqB;AF5DzB;;AEmEA;;;;EAIE,iGCmFgH;EC5H5G,cAvE+B;AJiDrC;;AEuEA;EACE,cAAc;EACd,aAAa;EACb,mBAAmB;EACnB,cAAc;EErDV,kBAvE+B;AJyDrC;;AE+DA;EEjDM,kBAvE+B;EFmIjC,cAAc;EACd,kBAAkB;AFrEtB;;AEyEA;EEjEM,kBAvE+B;EF0InC,cCnRe;EDoRf,qBAAqB;AFtEvB;;AEyEE;EACE,cAAc;AFtElB;;AE0EA;EACE,sBC63BuC;EC18BnC,kBAvE+B;EFsJnC,WC5Ta;ED6Tb,yBCpTgB;EEEd,qBFiT+B;AHrEnC;;AEkEA;EAQI,UAAU;EEpFR,cAvE+B;EF6JjC,gBCoD6B;AH1HjC;;AE+EA;EACE,gBAAgB;AF5ElB;;AEkFA;;EAEE,sBAAsB;AF/ExB;;AEuFA;EACE,oBAAoB;EACpB,yBAAyB;AFpF3B;;AEuFA;EACE,mBC6FiC;ED5FjC,sBC4FiC;ED3FjC,cC/VgB;EDgWhB,gBAAgB;AFpFlB;;AE0FA;EACE,mBAAmB;EACnB,gCAAgC;AFvFlC;;AE+FA;EACE,qBAAqB;EACrB,qBCgL2C;AH5Q7C;;AEkGA;EAEE,gBAAgB;AFhGlB;;AEuGA;EACE,mBAAmB;EACnB,0CAA0C;AFpG5C;;AEyGA;;;;;EAKE,SAAS;EACT,oBAAoB;EEvKhB,kBAvE+B;EFgPnC,oBAAoB;AFtGtB;;AE2GA;;EAEE,iBAAiB;AFxGnB;;AE6GA;;EAEE,oBAAoB;AF1GtB;;AEgHA;EACE,iBAAiB;AF7GnB;;AAEA;EEkHE,aAAa;AFhHf;;AEwHA;;;;EAIE,0BAA0B;AFrH5B;;AEiHA;;;;EAQM,eAAe;AFlHrB;;AEyHA;EACE,UAAU;EACV,kBAAkB;AFtHpB;;AE+HA;;;;EAIE,6BAA6B;AF5H/B;;AEiIA;EACE,gBAAgB;AF9HlB;;AEwIA;EACE,YAAY;EACZ,UAAU;EACV,SAAS;EACT,SAAS;AFrIX;;AE8IA;EACE,WAAW;EACX,WAAW;EACX,UAAU;EACV,qBC5EiC;EC5L3B,iCAf6B;EF0RnC,oBAAoB;EACpB,mBAAmB;AF5IrB;;AIlSI;EFsaJ;IE7PQ,iBAlF6B;EJgNnC;AACF;;AE8HA;EAWI,WAAW;AFrIf;;AE4IA;;;;;;;EAOE,UAAU;AFzIZ;;AE4IA;EACE,YAAY;AFzId;;AAEA;EEiJE,oBAAoB;EACpB,6BAA6B;AF/I/B;;AEoJA;EACE,wBAAwB;AFjJ1B;;AEsJA;EACE,UAAU;AFnJZ;;AEyJA;EACE,aAAa;EACb,0BAA0B;AFtJ5B;;AE2JA;EACE,qBAAqB;AFxJvB;;AEgKA;EACE,kBAAkB;EAClB,eAAe;AF7JjB;;AEqKA;EACE,wBAAwB;AFlK1B;;AAEA;EEyKE,wBAAwB;AFvK1B;;AMvZA;EFwNM,kBAvE+B;EE/InC,gBHmY+B;AHuBjC;;AMtZA;EFsNQ,iCAf6B;EErMnC,gBHsX+B;EGrX/B,gBH6W+B;AH4CjC;;AIxWI;EEpDJ;IF6NQ,eAlF6B;EJsRnC;AACF;;AM7ZA;EFiNQ,iCAf6B;EEhMnC,gBHkX+B;EGjX/B,gBHwW+B;AHwDjC;;AIpXI;EE/CJ;IFwNQ,iBAlF6B;EJkSnC;AACF;;AMpaA;EF4MQ,iCAf6B;EE3LnC,gBH8W+B;EG7W/B,gBHmW+B;AHoEjC;;AIhYI;EE1CJ;IFmNQ,iBAlF6B;EJ8SnC;AACF;;AM3aA;EFuMQ,iCAf6B;EEtLnC,gBH0W+B;EGzW/B,gBH8V+B;AHgFjC;;AI5YI;EErCJ;IF8MQ,iBAlF6B;EJ0TnC;AACF;;AMlaA;EClEE,eAAe;EACf,gBAAgB;APwelB;;AMlaA;ECvEE,eAAe;EACf,gBAAgB;AP6elB;;AMpaA;EACE,qBAAqB;ANuavB;;AMxaA;EAII,oBH4W+B;AH4DnC;;AM9ZA;EFwJM,kBAvE+B;EE/EnC,yBAAyB;ANia3B;;AM7ZA;EACE,mBH+HW;ECkBP,kBAvE+B;AJuVrC;;AM7ZA;EACE,cAAc;EF4IV,kBAvE+B;EEnEnC,cH7FgB;AH6flB;;AMnaA;EAMI,qBAAqB;ANiazB;;AQvgBA;ECIE,eAAe;EAGf,YAAY;ATqgBd;;AQtgBA;EACE,gBLulCwC;EKtlCxC,sBLRa;EKSb,yBLNgB;EEQd,sBF+SgC;EMtTlC,eAAe;EAGf,YAAY;AT8gBd;;AQhgBA;EAEE,qBAAqB;ARkgBvB;;AQ/fA;EACE,qBAA0B;EAC1B,cAAc;ARkgBhB;;AQ/fA;EJ8MM,kBAvE+B;EIrInC,cL3BgB;AH6hBlB;;AUpiBE;ECHA,WAAW;EACX,mBRmTwB;EQlTxB,kBRkTwB;EQjTxB,kBAAkB;EAClB,iBAAiB;AX2iBnB;;AYnfI;EFzDF;ICSI,gBRmRK;EHqRT;AACF;;AYzfI;EFzDF;ICSI,gBRoRK;EH0RT;AACF;;AY/fI;EFzDF;ICSI,gBRqRK;EH+RT;AACF;;AYrgBI;EFzDF;ICSI,iBRsRM;EHoSV;AACF;;AU9jBE;ECTA,WAAW;EACX,mBRmTwB;EQlTxB,kBRkTwB;EQjTxB,kBAAkB;EAClB,iBAAiB;AX2kBnB;;AYnhBI;EFxCE;IACE,gBP0QG;EHqTT;AACF;;AYzhBI;EFxCE;IACE,gBP2QG;EH0TT;AACF;;AY/hBI;EFxCE;IACE,gBP4QG;EH+TT;AACF;;AYriBI;EFxCE;IACE,iBP6QI;EHoUV;AACF;;AarmBE;ECAA,aAAa;EACb,eAAe;EACf,sBAA0B;EAC1B,qBAAyB;AdymB3B;;Aa5mBE;ECYA,cAAc;EACd,WAAW;EACX,eAAe;EACf,sBAA0B;EAC1B,qBAAyB;AdomB3B;;AahmBQ;;EAEE,eVyMJ;EUxMI,cVwMJ;AH2ZN;;AatmBQ;;EAMI,gBVqMN;EUpMM,eVoMN;AHiaN;;AajmBQ;;EAEE,aV8LJ;AHsaN;;AatmBQ;;EAKI,aV2LN;AH2aN;;AatnBQ;;EAEE,uBAAyB;EACzB,sBAAwB;AbynBlC;;Aa5nBQ;;EAMI,uBAAyB;EACzB,sBAAwB;Ab2nBpC;;AavnBQ;;EAEE,oBV+LQ;AH2blB;;Aa5nBQ;;EAKI,mBV4LM;AHgclB;;Aa5oBQ;;EAEE,sBAAyB;EACzB,qBAAwB;Ab+oBlC;;AalpBQ;;EAMI,sBAAyB;EACzB,qBAAwB;AbipBpC;;Aa7oBQ;;EAEE,mBVgMO;AHgdjB;;AalpBQ;;EAKI,kBV6LK;AHqdjB;;AalqBQ;;EAEE,qBAAyB;EACzB,oBAAwB;AbqqBlC;;AaxqBQ;;EAMI,qBAAyB;EACzB,oBAAwB;AbuqBpC;;AanqBQ;;EAEE,iBV4LG;AH0eb;;AaxqBQ;;EAKI,gBVyLC;AH+eb;;AaxrBQ;;EAEE,sBAAyB;EACzB,qBAAwB;Ab2rBlC;;Aa9rBQ;;EAMI,sBAAyB;EACzB,qBAAwB;Ab6rBpC;;AazrBQ;;EAEE,mBVkMQ;AH0flB;;Aa9rBQ;;EAKI,kBV+LM;AH+flB;;Aa9sBQ;;EAEE,qBAAyB;EACzB,oBAAwB;AbitBlC;;AaptBQ;;EAMI,qBAAyB;EACzB,oBAAwB;AbmtBpC;;Aa/sBQ;;EAEE,iBVmMM;AH+gBhB;;AaptBQ;;EAKI,gBVgMI;AHohBhB;;AY9rBI;ECtCI;;IAEE,eVyMJ;IUxMI,cVwMJ;EHgiBJ;Ea3uBM;;IAMI,gBVqMN;IUpMM,eVoMN;EHqiBJ;EaruBM;;IAEE,aV8LJ;EHyiBJ;EazuBM;;IAKI,aV2LN;EH6iBJ;EaxvBM;;IAEE,uBAAyB;IACzB,sBAAwB;Eb0vBhC;Ea7vBM;;IAMI,uBAAyB;IACzB,sBAAwB;Eb2vBlC;EavvBM;;IAEE,oBV+LQ;EH0jBhB;Ea3vBM;;IAKI,mBV4LM;EH8jBhB;Ea1wBM;;IAEE,sBAAyB;IACzB,qBAAwB;Eb4wBhC;Ea/wBM;;IAMI,sBAAyB;IACzB,qBAAwB;Eb6wBlC;EazwBM;;IAEE,mBVgMO;EH2kBf;Ea7wBM;;IAKI,kBV6LK;EH+kBf;Ea5xBM;;IAEE,qBAAyB;IACzB,oBAAwB;Eb8xBhC;EajyBM;;IAMI,qBAAyB;IACzB,oBAAwB;Eb+xBlC;Ea3xBM;;IAEE,iBV4LG;EHimBX;Ea/xBM;;IAKI,gBVyLC;EHqmBX;Ea9yBM;;IAEE,sBAAyB;IACzB,qBAAwB;EbgzBhC;EanzBM;;IAMI,sBAAyB;IACzB,qBAAwB;EbizBlC;Ea7yBM;;IAEE,mBVkMQ;EH6mBhB;EajzBM;;IAKI,kBV+LM;EHinBhB;Eah0BM;;IAEE,qBAAyB;IACzB,oBAAwB;Ebk0BhC;Ear0BM;;IAMI,qBAAyB;IACzB,oBAAwB;Ebm0BlC;Ea/zBM;;IAEE,iBVmMM;EH8nBd;Ean0BM;;IAKI,gBVgMI;EHkoBd;AACF;;AY7yBI;ECtCI;;IAEE,eVyMJ;IUxMI,cVwMJ;EH+oBJ;Ea11BM;;IAMI,gBVqMN;IUpMM,eVoMN;EHopBJ;Eap1BM;;IAEE,aV8LJ;EHwpBJ;Eax1BM;;IAKI,aV2LN;EH4pBJ;Eav2BM;;IAEE,uBAAyB;IACzB,sBAAwB;Eby2BhC;Ea52BM;;IAMI,uBAAyB;IACzB,sBAAwB;Eb02BlC;Eat2BM;;IAEE,oBV+LQ;EHyqBhB;Ea12BM;;IAKI,mBV4LM;EH6qBhB;Eaz3BM;;IAEE,sBAAyB;IACzB,qBAAwB;Eb23BhC;Ea93BM;;IAMI,sBAAyB;IACzB,qBAAwB;Eb43BlC;Eax3BM;;IAEE,mBVgMO;EH0rBf;Ea53BM;;IAKI,kBV6LK;EH8rBf;Ea34BM;;IAEE,qBAAyB;IACzB,oBAAwB;Eb64BhC;Eah5BM;;IAMI,qBAAyB;IACzB,oBAAwB;Eb84BlC;Ea14BM;;IAEE,iBV4LG;EHgtBX;Ea94BM;;IAKI,gBVyLC;EHotBX;Ea75BM;;IAEE,sBAAyB;IACzB,qBAAwB;Eb+5BhC;Eal6BM;;IAMI,sBAAyB;IACzB,qBAAwB;Ebg6BlC;Ea55BM;;IAEE,mBVkMQ;EH4tBhB;Eah6BM;;IAKI,kBV+LM;EHguBhB;Ea/6BM;;IAEE,qBAAyB;IACzB,oBAAwB;Ebi7BhC;Eap7BM;;IAMI,qBAAyB;IACzB,oBAAwB;Ebk7BlC;Ea96BM;;IAEE,iBVmMM;EH6uBd;Eal7BM;;IAKI,gBVgMI;EHivBd;AACF;;AY55BI;ECtCI;;IAEE,eVyMJ;IUxMI,cVwMJ;EH8vBJ;Eaz8BM;;IAMI,gBVqMN;IUpMM,eVoMN;EHmwBJ;Ean8BM;;IAEE,aV8LJ;EHuwBJ;Eav8BM;;IAKI,aV2LN;EH2wBJ;Eat9BM;;IAEE,uBAAyB;IACzB,sBAAwB;Ebw9BhC;Ea39BM;;IAMI,uBAAyB;IACzB,sBAAwB;Eby9BlC;Ear9BM;;IAEE,oBV+LQ;EHwxBhB;Eaz9BM;;IAKI,mBV4LM;EH4xBhB;Eax+BM;;IAEE,sBAAyB;IACzB,qBAAwB;Eb0+BhC;Ea7+BM;;IAMI,sBAAyB;IACzB,qBAAwB;Eb2+BlC;Eav+BM;;IAEE,mBVgMO;EHyyBf;Ea3+BM;;IAKI,kBV6LK;EH6yBf;Ea1/BM;;IAEE,qBAAyB;IACzB,oBAAwB;Eb4/BhC;Ea//BM;;IAMI,qBAAyB;IACzB,oBAAwB;Eb6/BlC;Eaz/BM;;IAEE,iBV4LG;EH+zBX;Ea7/BM;;IAKI,gBVyLC;EHm0BX;Ea5gCM;;IAEE,sBAAyB;IACzB,qBAAwB;Eb8gChC;EajhCM;;IAMI,sBAAyB;IACzB,qBAAwB;Eb+gClC;Ea3gCM;;IAEE,mBVkMQ;EH20BhB;Ea/gCM;;IAKI,kBV+LM;EH+0BhB;Ea9hCM;;IAEE,qBAAyB;IACzB,oBAAwB;EbgiChC;EaniCM;;IAMI,qBAAyB;IACzB,oBAAwB;EbiiClC;Ea7hCM;;IAEE,iBVmMM;EH41Bd;EajiCM;;IAKI,gBVgMI;EHg2Bd;AACF;;AY3gCI;ECtCI;;IAEE,eVyMJ;IUxMI,cVwMJ;EH62BJ;EaxjCM;;IAMI,gBVqMN;IUpMM,eVoMN;EHk3BJ;EaljCM;;IAEE,aV8LJ;EHs3BJ;EatjCM;;IAKI,aV2LN;EH03BJ;EarkCM;;IAEE,uBAAyB;IACzB,sBAAwB;EbukChC;Ea1kCM;;IAMI,uBAAyB;IACzB,sBAAwB;EbwkClC;EapkCM;;IAEE,oBV+LQ;EHu4BhB;EaxkCM;;IAKI,mBV4LM;EH24BhB;EavlCM;;IAEE,sBAAyB;IACzB,qBAAwB;EbylChC;Ea5lCM;;IAMI,sBAAyB;IACzB,qBAAwB;Eb0lClC;EatlCM;;IAEE,mBVgMO;EHw5Bf;Ea1lCM;;IAKI,kBV6LK;EH45Bf;EazmCM;;IAEE,qBAAyB;IACzB,oBAAwB;E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CX,mBZ4NW;EY3NX,cZSgB;EYRhB,mBZkc+B;AHu3CjC;;Ae7zDA;;EASI,eZ0b+B;EYzb/B,gCZJc;AH6zDlB;;Aen0DA;EAcI,uBAAuB;AfyzD3B;;Aev0DA;EAkBI,sBAAsB;EACtB,4BZTc;AHk0DlB;;Ae50DA;EAuBI,6BZjBc;AH00DlB;;AehzDA;EAAe,iBAAiB;AfozDhC;;Ae7yDA;;EAGI,gBZ0ZgC;AHq5CpC;;AetyDA;EACE,yBZ9CgB;AHu1DlB;;Ae1yDA;;EAKI,yBZlDc;AH41DlB;;Ae/yDA;;EAWM,wBAA4C;AfyyDlD;;AepyDA;;;;EAKI,SAAS;AfsyDb;;Ae9xDA;EAEI,qCZrEW;AHq2Df;;AevxDA;EAGM,cZlFY;EYmFZ,sCZlFS;AH02Df;;AgBt3DE;;;EAII,yBC6H4D;AjB2vDlE;;AgB53DE;;;;EAYM,qBCqH0D;AjBkwDlE;;AgBh3DE;EAKM,yBAJsC;AhBm3D9C;;AgBp3DE;;EASQ,yBARoC;AhBw3D9C;;AgB54DE;;;EAII,yBC6H4D;AjBixDlE;;AgBl5DE;;;;EAYM,qBCqH0D;AjBwxDlE;;AgBt4DE;EAKM,yBAJsC;AhBy4D9C;;AgB14DE;;EASQ,yBARoC;AhB84D9C;;AgBl6DE;;;EAII,yBC6H4D;AjBuyDlE;;AgBx6DE;;;;EAYM,qBCqH0D;AjB8yDlE;;AgB55DE;EAKM,yBAJsC;AhB+5D9C;;AgBh6DE;;EASQ,yBARoC;AhBo6D9C;;AgBx7DE;;;EAII,yBC6H4D;AjB6zDlE;;AgB97DE;;;;EAYM,qBCqH0D;AjBo0DlE;;AgBl7DE;EAKM,yBAJsC;AhBq7D9C;;AgBt7DE;;EASQ,yBARoC;AhB07D9C;;AgB98DE;;;EAII,yBC6H4D;AjBm1DlE;;AgBp9DE;;;;EAYM,qBCqH0D;AjB01DlE;;AgBx8DE;EAKM,yBAJsC;AhB28D9C;;AgB58DE;;EASQ,yBARoC;AhBg9D9C;;AgBp+DE;;;EAII,yBC6H4D;AjBy2DlE;;AgB1+DE;;;;EAYM,qBCqH0D;AjBg3DlE;;AgB99DE;EAKM,yBAJsC;AhBi+D9C;;AgBl+DE;;EASQ,yBARoC;AhBs+D9C;;AgB1/DE;;;EAII,yBC6H4D;AjB+3DlE;;AgBhgEE;;;;EAYM,qBCqH0D;AjBs4DlE;;AgBp/DE;EAKM,yBAJsC;AhBu/D9C;;AgBx/DE;;EASQ,yBARoC;AhB4/D9C;;AgBhhEE;;;EAII,yBC6H4D;AjBq5DlE;;AgBthEE;;;;EAYM,qBCqH0D;AjB45DlE;;AgB1gEE;EAKM,yBAJsC;AhB6gE9C;;AgB9gEE;;EASQ,yBARoC;AhBkhE9C;;AgBtiEE;;;EAII,sCbQS;AHgiEf;;AgBzhEE;EAKM,sCAJsC;AhB4hE9C;;AgB7hEE;;EASQ,sCARoC;AhBiiE9C;;Aeh8DA;EAGM,WZtHS;EYuHT,yBZ/GY;EYgHZ,qBZgWqD;AHimD3D;;Aet8DA;EAWM,cZvHY;EYwHZ,yBZ7HY;EY8HZ,qBZ7HY;AH4jElB;;Ae17DA;EACE,WZtIa;EYuIb,yBZ/HgB;AH4jElB;;Ae/7DA;;;EAOI,qBZ4UuD;AHknD3D;;Aer8DA;EAWI,SAAS;Af87Db;;Aez8DA;EAgBM,2CZrJS;AHklEf;;Ae78DA;EAuBQ,WZ5JO;EY6JP,4CZ7JO;AHulEf;;AYlhEI;EGyGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;Ef46DvC;Eej7DG;IASK,SAAS;Ef26DjB;AACF;;AY9hEI;EGyGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;Efw7DvC;Ee77DG;IASK,SAAS;Efu7DjB;AACF;;AY1iEI;EGyGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;Efo8DvC;Eez8DG;IASK,SAAS;Efm8DjB;AACF;;AYtjEI;EGyGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;Efg9DvC;Eer9DG;IASK,SAAS;Ef+8DjB;AACF;;Ae99DA;EAOQ,cAAc;EACd,WAAW;EACX,gBAAgB;EAChB,iCAAiC;Af29DzC;;Aer+DA;EAcU,SAAS;Af29DnB;;AkBnpEA;EACE,iCDwJ8D;ECvJ9D,oCDuJ8D;ECtJ9D,gBAAgB;Ed2OZ,kBAvE+B;EclKnC,gBfwX+B;AH8xDjC;;AkBnpEA;EACE,+BDgJ8D;EC/I9D,kCD+I8D;EbqF1D,kBAvE+B;AJ0/DrC;;AkBnpEA;EACE,gCD0I8D;ECzI9D,mCDyI8D;EbqF1D,mBAvE+B;AJggErC;;AmBzqEA;EACE,cAAc;EACd,WAAW;EACX,uCFwJ8D;EEvJ9D,yBhBsekC;EC1P9B,eAvE+B;EelKnC,gBhBkX+B;EgBjX/B,gBhBuX+B;EgBtX/B,chBCgB;EgBAhB,sBhBPa;EgBQb,4BAA4B;EAC5B,yBhBLgB;EEOd,sBF+SgC;EiB3T9B,wEjB0lB4F;AH6lDlG;;AoBnrEM;EDNN;ICOQ,gBAAgB;EpBurEtB;AACF;;AmB/rEA;EAsBI,chBZc;EgBad,sBhBpBW;EgBqBX,qBhBkjBsE;EgBjjBtE,UAAU;EAKR,iDhBDW;AH0qEjB;;AmBvsEA;EAoCI,chB3Bc;EgB6Bd,UAAU;AnBsqEd;;AmB5sEA;EAoCI,chB3Bc;EgB6Bd,UAAU;AnBsqEd;;AmB5sEA;EAoCI,chB3Bc;EgB6Bd,UAAU;AnBsqEd;;AmB5sEA;EAoCI,chB3Bc;EgB6Bd,UAAU;AnBsqEd;;AmB5sEA;EAgDI,yBhB3Cc;EgB8Cd,UAAU;AnB8pEd;;AmBrpEA;EACE,cAAc;EACd,WAAW;EACX,mBAA2B;EAC3B,gBAAgB;EAChB,gBhB8T+B;EgB7T/B,chBtDgB;EgBuDhB,6BAA6B;EAC7B,yBAAyB;EACzB,mBAAmC;AnBwpErC;;AmBjqEA;EAaI,gBAAgB;EAChB,eAAe;AnBwpEnB;;AmB7oEA;EACE,sCFqE8D;EEpE9D,uBhB8ZiC;ECrQ7B,mBAvE+B;EC3JjC,qBFiT+B;AH06DnC;;AmB7oEA;EACE,oCF8D8D;EE7D9D,oBhB2ZgC;ECzQ5B,kBAvE+B;EC3JjC,qBFgT+B;AHk7DnC;;AmB7oEA;EACE,eAAe;EACf,iBhBoYmC;AH4wDrC;;AmB7oEA;Ed1FI,sBF+SgC;AH47DpC;;AmB7oEA;Ed9FI,sBF+SgC;AHg8DpC;;AqB5vEA;EACE,cAAc;EACd,WAAW;EACX,mCJuJ8D;EItJ9D,0ClBqekC;EC1P9B,eAvE+B;EiBjKnC,gBlBiX+B;EkBhX/B,gBlBsX+B;EkBrX/B,clBAgB;EkBChB,sBAAsB;EACtB,sBlBTa;EkBUb,iPJ8DgF;EI7DhF,4BAA4B;EAC5B,yClBupBqE;EkBtpBrE,0BlBupB2C;EkBtpB3C,yBlBVgB;EEOd,sBF+SgC;EkBzSlC,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;ArB6vElB;;AqBhxEA;EAsBI,qBlBmjBsE;EkBljBtE,UAAU;EAIR,iDlBCW;AH0vEjB;;AqBtxEA;EAoCM,clB3BY;EkB4BZ,sBlBnCS;AHyxEf;;AqB3xEA;EA2CI,YAAY;EACZ,sBlB6bgC;EkB5bhC,sBAAsB;ArBovE1B;;AqBjyEA;EAiDI,clBzCc;EkB0Cd,yBlB9Cc;AHkyElB;;AqBtyEA;EAwDI,kBAAkB;EAClB,0BlBhDc;AHkyElB;;AqB9uEA;EACE,kCJ4F8D;EI3F9D,oBlBobkC;EkBnblC,uBlBmbkC;EkBlblC,oBlBmbiC;ECrQ7B,mBAvE+B;AJ2oErC;;AqB9uEA;EACE,gCJoF8D;EInF9D,mBlBgbiC;EkB/ajC,sBlB+aiC;EkB9ajC,kBlB+agC;ECzQ5B,kBAvE+B;AJmpErC;;AsB5zEA;EACE,cAAc;EACd,kBnB8lB2E;EmB7lB3E,oBnB8lBsE;EmB7lBtE,uBnB8lB+C;AHiuDjD;;AsBn0EA;EAOI,WAAW;EACX,oBAA0C;AtBg0E9C;;AsB5zEA;EACE,anBklB8C;EmBjlB9C,cnBilB8C;EmBhlB9C,mBAA6D;EAC7D,mBAAmB;EACnB,sBnBda;EmBeb,qCnBulBoE;EmBtlBpE,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;EAChB,iCAAmB;EAAnB,mBAAmB;AtB+zErB;;AsBv0EA;EjBEI,qBF4lB2C;AH6uD/C;;AsB30EA;EjBEI,kBF6lByC;AHgvD7C;;AsB/0EA;EAmBI,+BnBukBqD;EmBvkBrD,uBnBukBqD;AHyvDzD;;AsBn1EA;EAuBI,qBnBuiBsE;EmBtiBtE,UAAU;EACV,iDnBRa;AHw0EjB;;AsBz1EA;EA6BI,yBnBZa;EmBab,4BnBwkB+C;EmBvkB/C,kCnBwkBmD;EmBvkBnD,oBnBwkByC;EmBvkBzC,qBnBhBa;AHg1EjB;;AsBj2EA;EAwCQ,mPLuB0E;AjBsyElF;;AsBr2EA;EAiDQ,uJLc0E;AjB0yElF;;AsBz2EA;EAuDI,yBnBtCa;EmBuCb,4BnBujBqD;EmBtjBrD,kCnBujByD;EmBljBvD,wOLC4E;EKA5E,oBnBkjB6C;EmBhjB/C,qBnBhDa;AHi2EjB;;AsBl3EA;EAqEI,oBAAoB;EACpB,oBAAY;EAAZ,YAAY;EACZ,WAAW;AtBizEf;;AsBx3EA;EA+EM,WAAW;AtB6yEjB;;AsBxyEA;EACE,gBAAgB;AtB2yElB;;AsBlyEA;EACE,mBnBuhByD;AH8wD3D;;AsBtyEA;EAII,UnBmhBiC;EmBlhBjC,mBAA2C;EAC3C,wKLrC8E;EKsC9E,4BAA4B;EAC5B,gCAAgC;EAChC,wBnBihBqC;EEtnBrC,kBFmnBiC;EmB5gBjC,iCAAmB;EAAnB,mBAAmB;AtBsyEvB;;AsBjzEA;EAiBM,0JLhD4E;AjBo1ElF;;AsBrzEA;EAqBM,iCnB+gBwC;EmBzgBtC,uJL1D0E;AjBy1ElF;;AsBzxEA;EACE,qBAAqB;EACrB,kBnBqgB0C;AHuxD5C;;AuB76EA;EACE,kBAAkB;EAClB,mCN6J8D;AjBmxEhE;;AuB76EA;EACE,kBAAkB;EAClB,UAAU;EACV,WAAW;EACX,YAAY;EACZ,SAAS;EACT,UAAU;AvBg7EZ;;AuBt7EA;EASI,qBpBgkBsE;EoB/jBtE,iDpBkBa;AH+5EjB;;AuB37EA;;EAiBI,yBpBbc;AH47ElB;;AuB16EA;EACE,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,OAAO;EACP,UAAU;EACV,aAAa;EACb,YAAY;EACZ,qBpBxBgB;EEOd,sBF+SgC;AHgpEpC;;AuBz6EA;EACE,cAAc;EACd,YAAY;EACZ,yBpBmckC;EoBlclC,gBAAgB;EAEhB,gBpB+U+B;EoB9U/B,gBpBoV+B;EoBnV/B,cpBlCgB;EoBmChB,uBAAuB;EACvB,mBAAmB;EACnB,sBpB5Ca;EoB6Cb,qBAAqB;EACrB,mBAAmB;EACnB,iBpBwQ+B;EE9Q7B,+BkBOiC;ElBNjC,kCkBMiC;AvB46ErC;;AuBz6EA;EACE,cAAc;EACd,cAAc;EACd,yBpBibkC;EoBhblC,iBpBgQ+B;EoB/P/B,gBpBoU+B;EoBnU/B,cpBlDgB;EqBJd,yBrBDc;EoByDhB,qBAAqB;EACrB,mBAAmB;EACnB,iBpB0P+B;EE5R7B,gCkBmCkC;ElBlClC,mCkBkCkC;AvB66EtC;;AuB16EA;EACE,kCNsF8D;EbqF1D,mBAvE+B;AJ00ErC;;AuB/6EA;;EAMI,uBpB2a+B;AHmgEnC;;AuB16EA;EACE,gCN4E8D;EbqF1D,kBAvE+B;AJo1ErC;;AuB/6EA;;EAMI,oBpBqa8B;AHygElC;;AyBhgFA;EACE,WAAW;EACX,cRoJ2B;EQnJ3B,UAAU;EACV,6BAA6B;EAC7B,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;AzBmgFlB;;AyBxgFA;EAQI,aAAa;AzBogFjB;;AyB5gFA;EAY8B,iEtBeb;AHq/EjB;;AyBhhFA;EAa8B,iEtBcb;AHy/EjB;;AyBphFA;EAc8B,iEtBab;AH6/EjB;;AyBxhFA;EAkBI,SAAS;AzB0gFb;;AyB5hFA;EAsBI,WtBirB2C;EsBhrB3C,YtBgrB2C;EsB/qB3C,oBAAqE;EDpBrE,yBrBuBa;EsBDb,StBgrBwC;EE9rBxC,mBF+rB2C;EiB3sBzC,oHjBitBkI;EiBjtBlI,4GjBitBkI;EsBnrBpI,wBAAgB;EAAhB,gBAAgB;AzBygFpB;;AoBniFM;EKJN;ILKQ,wBAAgB;IAAhB,gBAAgB;EpBuiFtB;AACF;;AyB7iFA;EDII,yBrB2sByE;AHk2D7E;;AyBjjFA;EAsCI,WtB0pBkC;EsBzpBlC,ctB0pBmC;EsBzpBnC,kBAAkB;EAClB,etBypBqC;EsBxpBrC,yBtBtCc;EsBuCd,yBAAyB;EpB/BzB,mBFwrBkC;AHu3DtC;;AyB3jFA;EAiDI,WtBspB2C;EsBrpB3C,YtBqpB2C;EqBnsB3C,yBrBuBa;EsByBb,StBspBwC;EE9rBxC,mBF+rB2C;EiB3sBzC,iHjBitBkI;EiBjtBlI,4GjBitBkI;EsBzpBpI,qBAAgB;EAAhB,gBAAgB;AzB6gFpB;;AoBjkFM;EKJN;ILKQ,qBAAgB;IAAhB,gBAAgB;EpBqkFtB;AACF;;AyB3kFA;EDII,yBrB2sByE;AHg4D7E;;AyB/kFA;EAgEI,WtBgoBkC;EsB/nBlC,ctBgoBmC;EsB/nBnC,kBAAkB;EAClB,etB+nBqC;EsB9nBrC,yBtBhEc;EsBiEd,yBAAyB;EpBzDzB,mBFwrBkC;AHq5DtC;;AyBzlFA;EA2EI,WtB4nB2C;EsB3nB3C,YtB2nB2C;EsB1nB3C,aAAa;EACb,oBtB+ZiC;EsB9ZjC,mBtB8ZiC;EqBzejC,yBrBuBa;EsBsDb,StBynBwC;EE9rBxC,mBF+rB2C;EiB3sBzC,gHjBitBkI;EiBjtBlI,4GjBitBkI;EsB5nBpI,gBAAgB;AzBihFpB;;AoBlmFM;EKJN;ILKQ,oBAAgB;IAAhB,gBAAgB;EpBsmFtB;AACF;;AyB5mFA;EDII,yBrB2sByE;AHi6D7E;;AyBhnFA;EA6FI,WtBmmBkC;EsBlmBlC,ctBmmBmC;EsBlmBnC,kBAAkB;EAClB,etBkmBqC;EsBjmBrC,6BAA6B;EAC7B,yBAAyB;EACzB,oBAA0C;AzBuhF9C;;AyB1nFA;EAwGI,yBtBpGc;EEQd,mBFwrBkC;AH27DtC;;AyB/nFA;EA6GI,kBAAkB;EAClB,yBtB1Gc;EEQd,mBFwrBkC;AHi8DtC;;AyBroFA;EAmHI,oBAAoB;AzBshFxB;;AyBzoFA;EAsHM,yBtBhHY;AHuoFlB;;AyB7oFA;EA0HM,yBtBpHY;AH2oFlB;;AyBjpFA;EA8HM,yBtBxHY;AH+oFlB;;A0BvpFA;EACE,kBAAkB;EAClB,aAAa;EACb,eAAe;EACf,oBAAoB;EACpB,WAAW;A1B0pFb;;A0B/pFA;;;EAUI,kBAAkB;EAClB,cAAc;EACd,SAAS;EACT,YAAY;A1B2pFhB;;A0BxqFA;;;EAoBI,UAAU;A1B0pFd;;A0B9qFA;EA0BM,UAAU;A1BwpFhB;;A0BlrFA;ErB8BI,0BqBAgC;ErBChC,6BqBDgC;A1BypFpC;;A0BvrFA;ErB4CI,yBqBV+B;ErBW/B,4BqBX+B;A1B0pFnC;;A0B5rFA;EA0CI,kBAAkB;EAClB,UAAU;A1BspFd;;A0BjsFA;EA8CM,UAAU;A1BupFhB;;A0B5oFA;EACE,aAAa;EACb,mBAAmB;EACnB,yBvB8akC;EuB7alC,gBAAgB;EtBmLZ,eAvE+B;EsB1GnC,gBvB0T+B;EuBzT/B,gBvB+T+B;EuB9T/B,cvBvDgB;EuBwDhB,kBAAkB;EAClB,mBAAmB;EACnB,yBvB/DgB;EuBgEhB,yBvB9DgB;EEOd,sBF+SgC;AHw5EpC;;A0BtoFA;EACE,oCT2E8D;AjB8jFhE;;A0BtoFA;EACE,gCTuE8D;AjBkkFhE;;A0BtoFA;;;;EAIE,oBvB8ZgC;ECzQ5B,kBAvE+B;EC3JjC,qBFgT+B;AHw6EnC;;A0BtoFA;EACE,sCT0D8D;AjB+kFhE;;A0BtoFA;EACE,kCTsD8D;AjBmlFhE;;A0BtoFA;;;;EAIE,uBvByYiC;ECrQ7B,mBAvE+B;EC3JjC,qBFiT+B;AHw7EnC;;A0BtoFA;;EAEE,sBAAsE;A1ByoFxE;;A0B9nFA;;ErBhGI,0BqBmG8B;ErBlG9B,6BqBkG8B;A1BioFlC;;A0BpoFA;EAOI,iBvBqL6B;EE9Q7B,yBqB0F6B;ErBzF7B,4BqByF6B;A1BkoFjC;;A2B5vFE;EACE,aAAa;EACb,WAAW;EACX,mBxBioB0C;EChaxC,kBAvE+B;EuBxJjC,cxBmBa;AH4uFjB;;A2B5vFE;EACE,kBAAkB;EAClB,SAAS;EACT,UAAU;EACV,aAAa;EACb,eAAe;EACf,uBxB45BqC;EwB35BrC,iBAAiB;EvBqNf,mBAvE+B;EuB3IjC,WxB3BW;EwB4BX,wCxBKa;EEtBb,sBF+SgC;AHi+EpC;;A2B9xFI;;;;EAsCE,cAAc;A3B+vFpB;;A2BryFI;EA4CE,qBxBRW;EwBWT,oCV4GwD;EU3GxD,4PV2B0E;EU1B1E,4BAA4B;EAC5B,2DAA6D;EAC7D,gEVwGwD;AjBmpFhE;;A2B9yFI;EAuDI,qBxBnBS;EwBoBT,gDxBpBS;AH+wFjB;;A2BnzFI;EAiEI,oCV0FwD;EUzFxD,kFVyFwD;AjB6pFhE;;A2BxzFI;EAyEE,qBxBrCW;EwBwCT,uCV+EwD;EU9ExD,6dVF0E;EUG1E,+DxB8lBwG;EwB7lBxG,2EV4EwD;AjBqqFhE;;A2Bh0FI;EAmFI,qBxB/CS;EwBgDT,gDxBhDS;AHiyFjB;;A2Br0FI;EA2FE,qBxBvDW;AHqyFjB;;A2Bz0FI;EHMA,yBGwF6C;A3B+uFjD;;A2B70FI;EAkGI,gDxB9DS;AH6yFjB;;A2Bj1FI;EAsGI,cxBlES;AHizFjB;;A2B3uFE;EAEI,iBAAiB;A3B6uFvB;;A2Bz1FI;EAoHI,qBxBhFS;AHyzFjB;;A2B71FI;EAyHM,qBxBrFO;EwBsFP,gDxBtFO;AH8zFjB;;A2Bt1FE;EACE,aAAa;EACb,WAAW;EACX,mBxBioB0C;EChaxC,kBAvE+B;EuBxJjC,cxBgBa;AHy0FjB;;A2Bt1FE;EACE,kBAAkB;EAClB,SAAS;EACT,UAAU;EACV,aAAa;EACb,eAAe;EACf,uBxB45BqC;EwB35BrC,iBAAiB;EvBqNf,mBAvE+B;EuB3IjC,WxB3BW;EwB4BX,wCxBEa;EEnBb,sBF+SgC;AH2jFpC;;A2Bx3FI;;;;EAsCE,cAAc;A3By1FpB;;A2B/3FI;EA4CE,qBxBXW;EwBcT,oCV4GwD;EU3GxD,4UV2B0E;EU1B1E,4BAA4B;EAC5B,2DAA6D;EAC7D,gEVwGwD;AjB6uFhE;;A2Bx4FI;EAuDI,qBxBtBS;EwBuBT,gDxBvBS;AH42FjB;;A2B74FI;EAiEI,oCV0FwD;EUzFxD,kFVyFwD;AjBuvFhE;;A2Bl5FI;EAyEE,qBxBxCW;EwB2CT,uCV+EwD;EU9ExD,6iBVF0E;EUG1E,+DxB8lBwG;EwB7lBxG,2EV4EwD;AjB+vFhE;;A2B15FI;EAmFI,qBxBlDS;EwBmDT,gDxBnDS;AH83FjB;;A2B/5FI;EA2FE,qBxB1DW;AHk4FjB;;A2Bn6FI;EHMA,yBGwF6C;A3By0FjD;;A2Bv6FI;EAkGI,gDxBjES;AH04FjB;;A2B36FI;EAsGI,cxBrES;AH84FjB;;A2Br0FE;EAEI,iBAAiB;A3Bu0FvB;;A2Bn7FI;EAoHI,qBxBnFS;AHs5FjB;;A2Bv7FI;EAyHM,qBxBxFO;EwByFP,gDxBzFO;AH25FjB;;A4B57FA;EACE,qBAAqB;EAErB,gBzBsX+B;EyBrX/B,gBzB2X+B;EyB1X/B,czBOgB;EyBNhB,kBAAkB;EAClB,qBAAwD;EAExD,sBAAsB;EACtB,eAAsD;EACtD,yBAAiB;EAAjB,sBAAiB;EAAjB,qBAAiB;EAAjB,iBAAiB;EACjB,6BAA6B;EAC7B,6BAA2C;ECmG3C,yB1B0XkC;EC1P9B,eAvE+B;EC3JjC,sBF+SgC;EiB3T9B,qIjBoiB6I;AHw6EnJ;;AoBx8FM;EQNN;IROQ,gBAAgB;EpB48FtB;AACF;;A4Bp9FA;EAkBI,czBNc;AH48FlB;;A4Bx9FA;EAwBI,UAAU;EACV,iDzBIa;AHg8FjB;;A4B79FA;;EAwCI,oBAAoB;EACpB,azB+e6B;AH28EjC;;A4B/6FE;ECxCA,W1BTa;EqBGX,yBrBuBa;E0Bff,qB1Bee;AH48FjB;;A6Bx9FE;EACE,W1BfW;EqBGX,yBKD0C;EAe1C,qBAdiC;A7By+FrC;;A6Bx9FE;EAEE,W1BtBW;EqBGX,yBKD0C;EAsB1C,qBArBiC;EA0B/B,gDAAiE;A7Bs9FvE;;A6Bl9FE;;EAGE,W1BpCW;E0BqCX,yBAhC0C;EAmC1C,qBAlCoC;A7Bo/FxC;;A6Bh9FI;;EAKI,gDAAiE;A7Bg9FzE;;A6B38FE;EAEE,W1BtDW;E0BuDX,yB1B7Ba;E0BgCb,qB1BhCa;AH2+FjB;;A4Bp9FE;ECxCA,W1BTa;EqBGX,yBrBGc;E0BKhB,qB1BLgB;AHqgGlB;;A6B7/FE;EACE,W1BfW;EqBGX,yBKD0C;EAe1C,qBAdiC;A7B8gGrC;;A6B7/FE;EAEE,W1BtBW;EqBGX,yBKD0C;EAsB1C,qBArBiC;EA0B/B,iDAAiE;A7B2/FvE;;A6Bv/FE;;EAGE,W1BpCW;E0BqCX,yBAhC0C;EAmC1C,qBAlCoC;A7ByhGxC;;A6Br/FI;;EAKI,iDAAiE;A7Bq/FzE;;A6Bh/FE;EAEE,W1BtDW;E0BuDX,yB1BjDc;E0BoDd,qB1BpDc;AHoiGlB;;A4Bz/FE;ECxCA,W1BTa;EqBGX,yBrB8Ba;E0BtBf,qB1BsBe;AH+gGjB;;A6BliGE;EACE,W1BfW;EqBGX,yBKD0C;EAe1C,qBAdiC;A7BmjGrC;;A6BliGE;EAEE,W1BtBW;EqBGX,yBKD0C;EAsB1C,qBArBiC;EA0B/B,+CAAiE;A7BgiGvE;;A6B5hGE;;EAGE,W1BpCW;E0BqCX,yBAhC0C;EAmC1C,qBAlCoC;A7B8jGxC;;A6B1hGI;;EAKI,+CAAiE;A7B0hGzE;;A6BrhGE;EAEE,W1BtDW;E0BuDX,yB1BtBa;E0ByBb,qB1BzBa;AH8iGjB;;A4B9hGE;ECxCA,W1BTa;EqBGX,yBrBgCa;E0BxBf,qB1BwBe;AHkjGjB;;A6BvkGE;EACE,W1BfW;EqBGX,yBKD0C;EAe1C,qBAdiC;A7BwlGrC;;A6BvkGE;EAEE,W1BtBW;EqBGX,yBKD0C;EAsB1C,qBArBiC;EA0B/B,gDAAiE;A7BqkGvE;;A6BjkGE;;EAGE,W1BpCW;E0BqCX,yBAhC0C;EAmC1C,qBAlCoC;A7BmmGxC;;A6B/jGI;;EAKI,gDAAiE;A7B+jGzE;;A6B1jGE;EAEE,W1BtDW;E0BuDX,yB1BpBa;E0BuBb,qB1BvBa;AHilGjB;;A4BnkGE;ECxCA,c1BAgB;EqBNd,yBrB6Ba;E0BrBf,qB1BqBe;AH0lGjB;;A6B5mGE;EACE,c1BNc;EqBNd,yBKD0C;EAe1C,qBAdiC;A7B6nGrC;;A6B5mGE;EAEE,c1Bbc;EqBNd,yBKD0C;EAsB1C,qBArBiC;EA0B/B,gDAAiE;A7B0mGvE;;A6BtmGE;;EAGE,c1B3Bc;E0B4Bd,yBAhC0C;EAmC1C,qBAlCoC;A7BwoGxC;;A6BpmGI;;EAKI,gDAAiE;A7BomGzE;;A6B/lGE;EAEE,c1B7Cc;E0B8Cd,yB1BvBa;E0B0Bb,qB1B1Ba;AHynGjB;;A4BxmGE;ECxCA,W1BTa;EqBGX,yBrB2Ba;E0BnBf,qB1BmBe;AHioGjB;;A6BjpGE;EACE,W1BfW;EqBGX,yBKD0C;EAe1C,qBAdiC;A7BkqGrC;;A6BjpGE;EAEE,W1BtBW;EqBGX,yBKD0C;EAsB1C,qBArBiC;EA0B/B,+CAAiE;A7B+oGvE;;A6B3oGE;;EAGE,W1BpCW;E0BqCX,yBAhC0C;EAmC1C,qBAlCoC;A7B6qGxC;;A6BzoGI;;EAKI,+CAAiE;A7ByoGzE;;A6BpoGE;EAEE,W1BtDW;E0BuDX,yB1BzBa;E0B4Bb,qB1B5Ba;AHgqGjB;;A4B7oGE;ECxCA,c1BAgB;EqBNd,yBrBFc;E0BUhB,qB1BVgB;AHmsGlB;;A6BtrGE;EACE,c1BNc;EqBNd,yBKD0C;EAe1C,qBAdiC;A7BusGrC;;A6BtrGE;EAEE,c1Bbc;EqBNd,yBKD0C;EAsB1C,qBArBiC;EA0B/B,iDAAiE;A7BorGvE;;A6BhrGE;;EAGE,c1B3Bc;E0B4Bd,yBAhC0C;EAmC1C,qBAlCoC;A7BktGxC;;A6B9qGI;;EAKI,iDAAiE;A7B8qGzE;;A6BzqGE;EAEE,c1B7Cc;E0B8Cd,yB1BtDc;E0ByDd,qB1BzDc;AHkuGlB;;A4BlrGE;ECxCA,W1BTa;EqBGX,yBrBKc;E0BGhB,qB1BHgB;AHiuGlB;;A6B3tGE;EACE,W1BfW;EqBGX,yBKD0C;EAe1C,qBAdiC;A7B4uGrC;;A6B3tGE;EAEE,W1BtBW;EqBGX,yBKD0C;EAsB1C,qBArBiC;EA0B/B,8CAAiE;A7BytGvE;;A6BrtGE;;EAGE,W1BpCW;E0BqCX,yBAhC0C;EAmC1C,qBAlCoC;A7BuvGxC;;A6BntGI;;EAKI,8CAAiE;A7BmtGzE;;A6B9sGE;EAEE,W1BtDW;E0BuDX,yB1B/Cc;E0BkDd,qB1BlDc;AHgwGlB;;A4BjtGE;ECcA,c1B3Ce;E0B4Cf,qB1B5Ce;AHmvGjB;;A6BrsGE;EACE,W1BzEW;E0B0EX,yB1BhDa;E0BiDb,qB1BjDa;AHyvGjB;;A6BrsGE;EAEE,gD1BtDa;AH6vGjB;;A6BpsGE;EAGE,W1BtFW;E0BuFX,yB1B7Da;E0B8Db,qB1B9Da;AHmwGjB;;A6BnsGI;EAKI,gD1BrES;AHuwGjB;;A6B7rGE;EAEE,c1B5Ea;E0B6Eb,6BAA6B;A7B+rGjC;;A4B/uGE;ECcA,c1B/DgB;E0BgEhB,qB1BhEgB;AHqyGlB;;A6BnuGE;EACE,W1BzEW;E0B0EX,yB1BpEc;E0BqEd,qB1BrEc;AH2yGlB;;A6BnuGE;EAEE,iD1B1Ec;AH+yGlB;;A6BluGE;EAGE,W1BtFW;E0BuFX,yB1BjFc;E0BkFd,qB1BlFc;AHqzGlB;;A6BjuGI;EAKI,iD1BzFU;AHyzGlB;;A6B3tGE;EAEE,c1BhGc;E0BiGd,6BAA6B;A7B6tGjC;;A4B7wGE;ECcA,c1BpCe;E0BqCf,qB1BrCe;AHwyGjB;;A6BjwGE;EACE,W1BzEW;E0B0EX,yB1BzCa;E0B0Cb,qB1B1Ca;AH8yGjB;;A6BjwGE;EAEE,+C1B/Ca;AHkzGjB;;A6BhwGE;EAGE,W1BtFW;E0BuFX,yB1BtDa;E0BuDb,qB1BvDa;AHwzGjB;;A6B/vGI;EAKI,+C1B9DS;AH4zGjB;;A6BzvGE;EAEE,c1BrEa;E0BsEb,6BAA6B;A7B2vGjC;;A4B3yGE;ECcA,c1BlCe;E0BmCf,qB1BnCe;AHo0GjB;;A6B/xGE;EACE,W1BzEW;E0B0EX,yB1BvCa;E0BwCb,qB1BxCa;AH00GjB;;A6B/xGE;EAEE,gD1B7Ca;AH80GjB;;A6B9xGE;EAGE,W1BtFW;E0BuFX,yB1BpDa;E0BqDb,qB1BrDa;AHo1GjB;;A6B7xGI;EAKI,gD1B5DS;AHw1GjB;;A6BvxGE;EAEE,c1BnEa;E0BoEb,6BAA6B;A7ByxGjC;;A4Bz0GE;ECcA,c1BrCe;E0BsCf,qB1BtCe;AHq2GjB;;A6B7zGE;EACE,c1BhEc;E0BiEd,yB1B1Ca;E0B2Cb,qB1B3Ca;AH22GjB;;A6B7zGE;EAEE,+C1BhDa;AH+2GjB;;A6B5zGE;EAGE,c1B7Ec;E0B8Ed,yB1BvDa;E0BwDb,qB1BxDa;AHq3GjB;;A6B3zGI;EAKI,+C1B/DS;AHy3GjB;;A6BrzGE;EAEE,c1BtEa;E0BuEb,6BAA6B;A7BuzGjC;;A4Bv2GE;ECcA,c1BvCe;E0BwCf,qB1BxCe;AHq4GjB;;A6B31GE;EACE,W1BzEW;E0B0EX,yB1B5Ca;E0B6Cb,qB1B7Ca;AH24GjB;;A6B31GE;EAEE,+C1BlDa;AH+4GjB;;A6B11GE;EAGE,W1BtFW;E0BuFX,yB1BzDa;E0B0Db,qB1B1Da;AHq5GjB;;A6Bz1GI;EAKI,+C1BjES;AHy5GjB;;A6Bn1GE;EAEE,c1BxEa;E0ByEb,6BAA6B;A7Bq1GjC;;A4Br4GE;ECcA,c1BpEgB;E0BqEhB,qB1BrEgB;AHg8GlB;;A6Bz3GE;EACE,c1BhEc;E0BiEd,yB1BzEc;E0B0Ed,qB1B1Ec;AHs8GlB;;A6Bz3GE;EAEE,iD1B/Ec;AH08GlB;;A6Bx3GE;EAGE,c1B7Ec;E0B8Ed,yB1BtFc;E0BuFd,qB1BvFc;AHg9GlB;;A6Bv3GI;EAKI,iD1B9FU;AHo9GlB;;A6Bj3GE;EAEE,c1BrGc;E0BsGd,6BAA6B;A7Bm3GjC;;A4Bn6GE;ECcA,c1B7DgB;E0B8DhB,qB1B9DgB;AHu9GlB;;A6Bv5GE;EACE,W1BzEW;E0B0EX,yB1BlEc;E0BmEd,qB1BnEc;AH69GlB;;A6Bv5GE;EAEE,8C1BxEc;AHi+GlB;;A6Bt5GE;EAGE,W1BtFW;E0BuFX,yB1B/Ec;E0BgFd,qB1BhFc;AHu+GlB;;A6Br5GI;EAKI,8C1BvFU;AH2+GlB;;A6B/4GE;EAEE,c1B9Fc;E0B+Fd,6BAA6B;A7Bi5GjC;;A4Bt7GA;EACE,gBzBmT+B;EyBlT/B,czB1Ce;EyB2Cf,0BzBgLiD;AHywGnD;;A4B57GA;EAMI,czB8K8D;AH4wGlE;;A4Bh8GA;EAiBI,czB7Ec;AHggHlB;;A4Bx6GA;ECeE,oB1ByYgC;ECzQ5B,kBAvE+B;EC3JjC,qBFgT+B;AHitGnC;;A4B16GA;ECWE,uB1BqYiC;ECrQ7B,mBAvE+B;EC3JjC,qBFiT+B;AHstGnC;;A4Bv6GA;EACE,cAAc;EACd,WAAW;A5B06Gb;;A4B56GA;EAMI,kBzB2a+B;AH+/FnC;;A8BliHA;EVMM,gCjB8U2C;AHktGjD;;AoB5hHM;EUVN;IVWQ,gBAAgB;EpBgiHtB;AACF;;A8B5iHA;EAII,UAAU;A9B4iHd;;A8BxiHA;EAEI,aAAa;A9B0iHjB;;A8BtiHA;EACE,SAAS;EACT,gBAAgB;EVVZ,6BjB+UwC;AHquG9C;;AoBhjHM;EUIN;IVHQ,gBAAgB;EpBojHtB;AACF;;A+B/jHA;;;;EAIE,kBAAkB;A/BkkHpB;;A0Bp8GqB;EK1HnB,mBAAmB;A/BkkHrB;;AgC9iHI;EACE,qBAAqB;EACrB,oB7BkT0C;E6BjT1C,uB7BgT0C;E6B/S1C,WAAW;EAhCf,uBAA8B;EAC9B,qCAA4C;EAC5C,gBAAgB;EAChB,oCAA2C;AhCklH7C;;AgC7hHI;EACE,cAAc;AhCgiHpB;;A0Bv9G2C;EKlHzC,kBAAkB;EAClB,SAAS;EACT,OAAO;EACP,a5BgwBsC;E4B/vBtC,aAAa;EACb,gB5Bu0BuC;E4Bt0BvC,iBAA8B;EAC9B,oBAA4B;E3B4NxB,eAvE+B;E2BnJnC,c5BVgB;E4BWhB,gBAAgB;EAChB,gBAAgB;EAChB,sB5BtBa;E4BuBb,4BAA4B;EAC5B,qC5Bda;EECX,sBF+SgC;AH4yG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EACtB,uBAAuB;EACvB,uBAAuB;AjCuxHzB;;AiC1xHA;;EAOI,WAAW;AjCwxHf;;AiC/xHA;;EAYI,gB9BsM6B;AHklHjC;;AiCpyHA;;E5BnEI,6B4BqF+B;E5BpF/B,4B4BoF+B;AjCwxHnC;;AiC1yHA;;E5BjFI,yB4BwG4B;E5BvG5B,0B4BuG4B;AjCyxHhC;;AiCxwHA;;EAGI,gBAAgB;AjC0wHpB;;AiC7wHA;;;;EAOM,kBAAkB;EAClB,sBAAsB;EACtB,oBAAoB;AjC6wH1B;;AkCr6HA;EACE,aAAa;EACb,eAAe;EACf,eAAe;EACf,gBAAgB;EAChB,gBAAgB;AlCw6HlB;;AkCr6HA;EACE,cAAc;EACd,oB/BixBsC;E+BhxBtC,qBAAwD;AlCw6H1D;;AkC36HA;EAYI,c/BZc;E+Bad,oBAAoB;EACpB,eAAe;AlCm6HnB;;AkC35HA;EACE,gC/B1BgB;AHw7HlB;;AkC/5HA;EAII,mB/BuR6B;E+BtR7B,6BAAgD;E7BbhD,+BFsSgC;EErShC,gCFqSgC;AHwoHpC;;AkCt6HA;EAUM,qC/BnCY;AHm8HlB;;AkC16HA;EAcM,c/BpCY;E+BqCZ,6BAA6B;EAC7B,yBAAyB;AlCg6H/B;;AkCh7HA;;EAsBI,c/B3Cc;E+B4Cd,sB/BnDW;E+BoDX,kC/BpDW;AHm9Hf;;AkCv7HA;EA6BI,gB/B8P6B;EEnS7B,yB6BuC4B;E7BtC5B,0B6BsC4B;AlC85HhC;;AkCr5HA;E7BzDI,sBF+SgC;AHmqHpC;;AkCz5HA;;EAOI,W/B3EW;E+B4EX,yB/BlDa;AHy8HjB;;AkC94HA;EAEI,cAAc;EACd,kBAAkB;AlCg5HtB;;AkC54HA;EAEI,aAAa;EACb,YAAY;EACZ,kBAAkB;AlC84HtB;;AkCr4HA;EAEI,aAAa;AlCu4HjB;;AkCz4HA;EAKI,cAAc;AlCw4HlB;;AmC7+HA;EACE,kBAAkB;EAClB,aAAa;EACb,eAAe;EACf,mBAAmB;EACnB,8BAA8B;EAC9B,mBhC4xB6C;EgC1xB7C,sBhC0xB6C;AHqtG/C;;AmCv/HA;;EAeI,aAAa;EACb,kBAAkB;EAClB,mBAAmB;EACnB,8BAA8B;AnC6+HlC;;AmCz9HA;EACE,sBhCowB+E;EgCnwB/E,yBhCmwB+E;EgClwB/E,kBhCmwBsC;ECxkBlC,kBAvE+B;E+BlHnC,mBAAmB;AnC49HrB;;AmCj+HA;EASI,qBAAqB;AnC49HzB;;AmCn9HA;EACE,aAAa;EACb,sBAAsB;EACtB,eAAe;EACf,gBAAgB;EAChB,gBAAgB;AnCs9HlB;;AmC39HA;EAQI,gBAAgB;EAChB,eAAe;AnCu9HnB;;AmCh+HA;EAaI,gBAAgB;AnCu9HpB;;AmC98HA;EACE,mBhCgsBuC;EgC/rBvC,sBhC+rBuC;AHkxGzC;;AmCr8HA;EAGE,mBAAmB;EACnB,WAAW;AnCs8Hb;;AmCl8HA;EACE,wBhC0sBwC;EC3kBpC,kBAvE+B;E+BtDnC,cAAc;EACd,6BAA6B;EAC7B,6BAAuC;E9BvGrC,sBF+SgC;EiB3T9B,wCjB6zByD;AH6vG/D;;AoBtjIM;Ee0GN;IfzGQ,gBAAgB;EpB0jItB;AACF;;AmCl9HA;EAUI,qBAAqB;AnC48HzB;;AmCt9HA;EAcI,qBAAqB;EACrB,UAAU;EACV,wBhC+WiC;AH6lHrC;;AmCt8HA;EACE,qBAAqB;EACrB,YAAY;EACZ,aAAa;EACb,sBAAsB;EACtB,4BAA4B;EAC5B,2BAA2B;EAC3B,qBAAqB;AnCy8HvB;;AY3hII;EuB4FA;IAEI,iBAAiB;IACjB,2BAA2B;EnCk8HjC;EmCr8HG;IAMK,mBAAmB;EnCk8H3B;EmCx8HG;IASO,kBAAkB;EnCk8H5B;EmC38HG;IAaO,qBhC6oB6B;IgC5oB7B,oBhC4oB6B;EHqzGvC;EmC/8HG;IAmBK,wBAAwB;EnC+7HhC;EmCl9HG;IAuBK,aAAa;EnC87HrB;AACF;;AYljII;EuB4FA;IAEI,iBAAiB;IACjB,2BAA2B;EnCy9HjC;EmC59HG;IAMK,mBAAmB;EnCy9H3B;EmC/9HG;IASO,kBAAkB;EnCy9H5B;EmCl+HG;IAaO,qBhC6oB6B;IgC5oB7B,oBhC4oB6B;EH40GvC;EmCt+HG;IAmBK,wBAAwB;EnCs9HhC;EmCz+HG;IAuBK,aAAa;EnCq9HrB;AACF;;AYzkII;EuB4FA;IAEI,iBAAiB;IACjB,2BAA2B;EnCg/HjC;EmCn/HG;IAMK,mBAAmB;EnCg/H3B;EmCt/HG;IASO,kBAAkB;EnCg/H5B;EmCz/HG;IAaO,qBhC6oB6B;IgC5oB7B,oBhC4oB6B;EHm2GvC;EmC7/HG;IAmBK,wBAAwB;EnC6+HhC;EmChgIG;IAuBK,aAAa;EnC4+HrB;AACF;;AYhmII;EuB4FA;IAEI,iBAAiB;IACjB,2BAA2B;EnCugIjC;EmC1gIG;IAMK,mBAAmB;EnCugI3B;EmC7gIG;IASO,kBAAkB;EnCugI5B;EmChhIG;IAaO,qBhC6oB6B;IgC5oB7B,oBhC4oB6B;EH03GvC;EmCphIG;IAmBK,wBAAwB;EnCogIhC;EmCvhIG;IAuBK,aAAa;EnCmgIrB;AACF;;AmChiIA;EAOQ,iBAAiB;EACjB,2BAA2B;AnC6hInC;;AmCriIA;EAWU,mBAAmB;AnC8hI7B;;AmCziIA;EAcY,kBAAkB;AnC+hI9B;;AmC7iIA;EAkBY,qBhC6oB6B;EgC5oB7B,oBhC4oB6B;AHm5GzC;;AmCljIA;EAwBU,wBAAwB;AnC8hIlC;;AmCtjIA;EA4BU,aAAa;AnC8hIvB;;AmCjhIA;EAEI,yBhChLW;AHmsIf;;AmCrhIA;EAMM,yBhCpLS;AHusIf;;AmCzhIA;EAYM,0BhC1LS;AH2sIf;;AmC7hIA;EAgBQ,yBhC9LO;AH+sIf;;AmCjiIA;EAoBQ,yBhClMO;AHmtIf;;AmCriIA;;;;EA4BM,yBhC1MS;AH0tIf;;AmC5iIA;EAiCI,0BhC/MW;EgCgNX,gChChNW;AH+tIf;;AmCjjIA;EAsCI,6PlBtJ8E;AjBqqIlF;;AmCrjIA;EA0CI,0BhCxNW;AHuuIf;;AmCzjIA;;;EA+CM,yBhC7NS;AH6uIf;;AmC1gIA;EAEI,WhC/OW;AH2vIf;;AmC9gIA;EAMM,WhCnPS;AH+vIf;;AmClhIA;EAYM,gChCzPS;AHmwIf;;AmCthIA;EAgBQ,gChC7PO;AHuwIf;;AmC1hIA;EAoBQ,gChCjQO;AH2wIf;;AmC9hIA;;;;EA4BM,WhCzQS;AHkxIf;;AmCriIA;EAiCI,gChC9QW;EgC+QX,sChC/QW;AHuxIf;;AmC1iIA;EAsCI,mQlB3M8E;AjBmtIlF;;AmC9iIA;EA0CI,gChCvRW;AH+xIf;;AmCljIA;;;EA8CM,WhC3RS;AHqyIf;;AoCxyIA;EACE,kBAAkB;EAClB,aAAa;EACb,sBAAsB;EACtB,YAAY;EAEZ,qBAAqB;EACrB,sBjCJa;EiCKb,2BAA2B;EAC3B,sCjCIa;EECX,sBF+SgC;AHu/HpC;;AoCpzIA;EAaI,eAAe;EACf,cAAc;ApC2yIlB;;AoCzzIA;E/BuBI,+BFsSgC;EErShC,gCFqSgC;AHigIpC;;AoC9zIA;E/BqCI,mCFwRgC;EEvRhC,kCFuRgC;AHsgIpC;;AoCryIA;EAGE,cAAc;EACd,wBjCw3ByC;AH86G3C;;AoClyIA;EACE,sBjCo3BwC;AHi7G1C;;AoClyIA;EACE,qBAAqC;EACrC,gBAAgB;ApCqyIlB;;AoClyIA;EACE,gBAAgB;ApCqyIlB;;AoClyIA;EAEI,qBAAqB;ApCoyIzB;;AoCtyIA;EAMI,oBjCi2BuC;AHm8G3C;;AoC5xIA;EACE,wBjC+1ByC;EiC91BzC,gBAAgB;EAEhB,qCjCxDa;EiCyDb,6CjCzDa;AHu1If;;AoCnyIA;E/BnDI,0D+B2D8E;ApC+xIlF;;AoCvyIA;EAaM,aAAa;ApC8xInB;;AoCzxIA;EACE,wBjC60ByC;EiC50BzC,qCjCxEa;EiCyEb,0CjCzEa;AHq2If;;AoC/xIA;E/BrEI,0DYiK4D;AjBusIhE;;AoCpxIA;EACE,uBAAsC;EACtC,uBjC4zBwC;EiC3zBxC,sBAAqC;EACrC,gBAAgB;ApCuxIlB;;AoC7wIA;EACE,uBAAsC;EACtC,sBAAqC;ApCgxIvC;;AoC5wIA;EACE,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,SAAS;EACT,OAAO;EACP,gBjC4yByC;AHm+G3C;;AoC5wIA;;;EAGE,WAAW;ApC+wIb;;AoC5wIA;;E/B9GI,2CYwJ4D;EZvJ5D,4CYuJ4D;AjBwuIhE;;AoC7wIA;;E/BrGI,+CY0I4D;EZzI5D,8CYyI4D;AjB8uIhE;;AoCzwIA;EAII,sBjCkxBsD;AHu/G1D;;AYt2II;EwByFJ;IAQI,aAAa;IACb,mBAAmB;EpC0wIrB;EoCnxIF;IAcM,YAAY;IACZ,gBAAgB;EpCwwIpB;EoCvxIF;IAkBQ,cAAc;IACd,cAAc;EpCwwIpB;EoC3xIF;I/BtHI,0B+B+IoC;I/B9IpC,6B+B8IoC;EpCswItC;EoC/xIF;;IA8BY,0BAA0B;EpCqwIpC;EoCnyIF;;IAmCY,6BAA6B;EpCowIvC;EoCvyIF;I/BxGI,yB+BgJmC;I/B/InC,4B+B+ImC;EpCmwIrC;EoC3yIF;;IA6CY,yBAAyB;EpCkwInC;EoC/yIF;;IAkDY,4BAA4B;EpCiwItC;AACF;;AoCrvIA;EAEI,gBAAgB;ApCuvIpB;;AoCzvIA;EAKM,gBAAgB;E/BnLlB,6B+BoLiC;E/BnLjC,4B+BmLiC;ApCyvIrC;;AoC/vIA;E/B5LI,yB+BsM8B;E/BrM9B,0B+BqM8B;ApC0vIlC;;AoCpwIA;E/BrMI,gB+BmN0B;EACxB,mBjCwF2B;AHkqIjC;;AqCh+IA;EACE,aAAa;EACb,eAAe;EACf,qBlCqnCsC;EkCpnCtC,mBlCunCsC;EkCrnCtC,gBAAgB;EAChB,yBlCEgB;EESd,sBF+SgC;AHyqIpC;;AqC/9IA;EACE,aAAa;ArCk+If;;AqCn+IA;EAKI,oBlCymCqC;AHy3GzC;;AqCv+IA;EAQM,qBAAqB;EACrB,qBlCqmCmC;EkCpmCnC,clCRY;EkCSZ,YlC0mCuC;AHy3G7C;;AqC9+IA;EAgBI,clCdc;AHg/IlB;;AsC7/IA;EACE,aAAa;E/BGb,eAAe;EACf,gBAAgB;AP8/IlB;;AsC9/IA;EACE,kBAAkB;EAClB,cAAc;EACd,cnCyBe;EmCxBf,qBAAwD;EACxD,sBnCHa;EmCIb,yBnCDgB;AHkgJlB;;AsCvgJA;EASI,UAAU;EACV,cnC8O8D;EmC5O9D,yBnCRc;EmCSd,qBnCRc;AHygJlB;;AsC9gJA;EAiBI,UAAU;EACV,UnCq3BiC;EmCp3BjC,iDnCSa;AHw/IjB;;AsC7/IA;EAEI,iBnCgS6B;AH+tIjC;;AsCjgJA;EAMI,UAAU;EACV,WnC5BW;EmC6BX,yBnCHa;EmCIb,qBnCJa;AHmgJjB;;AsCxgJA;EAaI,cnC5Bc;EmC6Bd,oBAAoB;EACpB,sBnCpCW;EmCqCX,qBnClCc;AHiiJlB;;AsCtiJA;ECDI,yBpC03BsC;AHirH1C;;AuCviJE;ElCwCE,+BFiRgC;EEhRhC,kCFgRgC;AHmvIpC;;AuC5iJE;ElC0BE,gCF+RgC;EE9RhC,mCF8RgC;AHwvIpC;;AuCtjJE;EACE,uBpC83BsC;EC9oBpC,kBAvE+B;AJi5IrC;;AuCnjJQ;ElCqCJ,8BFkR+B;EEjR/B,iCFiR+B;AHiwInC;;AuCljJQ;ElCiBJ,+BFgS+B;EE/R/B,kCF+R+B;AHswInC;;AuCrkJE;EACE,uBpC43BqC;EC5oBnC,mBAvE+B;AJg6IrC;;AuClkJQ;ElCqCJ,8BFmR+B;EElR/B,iCFkR+B;AH+wInC;;AuCjkJQ;ElCiBJ,+BFiS+B;EEhS/B,kCFgS+B;AHoxInC;;AwCllJA;EACE,qBAAqB;EACrB,qBrCs/BsC;ECzwBlC,iBAvE+B;EoCpKnC,gBrCqX+B;EqCpX/B,cAAc;EACd,WrCJa;EqCKb,kBAAkB;EAClB,mBAAmB;EACnB,wBAAwB;EnCItB,sBF+SgC;AHmyIpC;;AwC/lJA;EAcI,aAAa;AxCqlJjB;;AwChlJA;EACE,kBAAkB;EAClB,SAAS;AxCmlJX;;AyCzmJA;EACE,kBAAkB;EAClB,wBtC2iCyC;EsC1iCzC,mBtC2iCsC;EsC1iCtC,6BAA6C;EpCU3C,sBF+SgC;AHozIpC;;AyCxmJA;EAEE,cAAc;AzC0mJhB;;AyCtmJA;EACE,gBtC0W+B;AH+vIjC;;AyCjmJA;EACE,mBAAsD;AzComJxD;;AyCrmJA;EAKI,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,wBtC6gCuC;EsC5gCvC,cAAc;AzComJlB;;AyC1lJE;EC9CA,czBqIgE;EO5H9D,yBP4H8D;EyBnIhE,qBzBmIgE;AjBygJlE;;A0C1oJE;EACE,cAA0B;A1C6oJ9B;;AyCpmJE;EC9CA,czBqIgE;EO5H9D,yBP4H8D;EyBnIhE,qBzBmIgE;AjBmhJlE;;A0CppJE;EACE,cAA0B;A1CupJ9B;;AyC9mJE;EC9CA,czBqIgE;EO5H9D,yBP4H8D;EyBnIhE,qBzBmIgE;AjB6hJlE;;A0C9pJE;EACE,cAA0B;A1CiqJ9B;;AyCxnJE;EC9CA,czBqIgE;EO5H9D,yBP4H8D;EyBnIhE,qBzBmIgE;AjBuiJlE;;A0CxqJE;EACE,cAA0B;A1C2qJ9B;;AyCloJE;EC9CA,czBqIgE;EO5H9D,yBP4H8D;EyBnIhE,qBzBmIgE;AjBijJlE;;A0ClrJE;EACE,cAA0B;A1CqrJ9B;;AyC5oJE;EC9CA,czBqIgE;EO5H9D,yBP4H8D;EyBnIhE,qBzBmIgE;AjB2jJlE;;A0C5rJE;EACE,cAA0B;A1C+rJ9B;;AyCtpJE;EC9CA,czBqIgE;EO5H9D,yBP4H8D;EyBnIhE,qBzBmIgE;AjBqkJlE;;A0CtsJE;EACE,cAA0B;A1CysJ9B;;AyChqJE;EC9CA,czBqIgE;EO5H9D,yBP4H8D;EyBnIhE,qBzBmIgE;AjB+kJlE;;A0ChtJE;EACE,cAA0B;A1CmtJ9B;;A2CvtJE;EACE;IAAK,2BxC2jC+B;EHgqHtC;AACF;;A2C7tJE;EACE;IAAK,2BxC2jC+B;EHgqHtC;AACF;;A2CxtJA;EACE,aAAa;EACb,YxCqjCsC;EwCpjCtC,gBAAgB;EvC0OZ,kBAvE+B;EuCjKnC,yBxCHgB;EESd,sBF+SgC;AHu6IpC;;A2CvtJA;EACE,aAAa;EACb,sBAAsB;EACtB,uBAAuB;EACvB,gBAAgB;EAChB,WxCfa;EwCgBb,kBAAkB;EAClB,mBAAmB;EACnB,yBxCQe;EiB3BX,2BjBgkC4C;AH8qHlD;;AoB1uJM;EuBON;IvBNQ,gBAAgB;EpB8uJtB;AACF;;A2C7tJA;EnBgBE,qMAA6I;EmBd7I,0BxC+hCsC;AHisHxC;;A2C5tJE;EACE,0DxCiiCkD;EwCjiClD,kDxCiiCkD;AH8rHtD;;A2C5tJM;EAJJ;IAKM,uBAAe;IAAf,eAAe;E3CguJrB;AACF;;A4CrwJA;EACE,aAAa;EACb,sBAAsB;EAGtB,eAAe;EACf,gBAAgB;A5CswJlB;;A4C7vJA;EACE,WAAW;EACX,czCPgB;EyCQhB,mBAAmB;A5CgwJrB;;A4CnwJA;EAQI,UAAU;EACV,czCdc;EyCed,qBAAqB;EACrB,yBzCtBc;AHqxJlB;;A4C1wJA;EAeI,czClBc;EyCmBd,yBzC1Bc;AHyxJlB;;A4CtvJA;EACE,kBAAkB;EAClB,cAAc;EACd,wBzCmiCyC;EyCliCzC,gBAAgB;EAEhB,qBAAwD;EACxD,sBzC5Ca;EyC6Cb,sCzCnCa;AH2xJf;;A4ChwJA;EvCjBI,+BFsSgC;EErShC,gCFqSgC;AHg/IpC;;A4CrwJA;EvCHI,mCFwRgC;EEvRhC,kCFuRgC;AHq/IpC;;A4C1wJA;EAoBI,czCnDc;EyCoDd,oBAAoB;EACpB,sBzC3DW;AHqzJf;;A4ChxJA;EA2BI,UAAU;EACV,WzCjEW;EyCkEX,yBzCxCa;EyCyCb,qBzCzCa;AHkyJjB;;A4CvxJA;EAkCI,mBAAmB;A5CyvJvB;;A4C3xJA;EAqCM,gBzC6O2B;EyC5O3B,qBzC4O2B;AH8gJjC;;A4C5uJI;EACE,mBAAmB;A5C+uJzB;;A4ChvJI;EvCvBA,kCFwPgC;EEpQhC,0BuCyCwC;A5C+uJ5C;;A4CrvJI;EvCnCA,gCFoQgC;EExPhC,4BuCkC0C;A5C+uJ9C;;A4C1vJI;EAeM,aAAa;A5C+uJvB;;A4C9vJI;EAmBM,qBzC2MuB;EyC1MvB,oBAAoB;A5C+uJ9B;;A4CnwJI;EAuBQ,iBzCuMqB;EyCtMrB,sBzCsMqB;AH0iJjC;;AYzyJI;EgCiCA;IACE,mBAAmB;E5C4wJvB;E4C7wJE;IvCvBA,kCFwPgC;IEpQhC,0BuCyCwC;E5C2wJ1C;E4CjxJE;IvCnCA,gCFoQgC;IExPhC,4BuCkC0C;E5C0wJ5C;E4CrxJE;IAeM,aAAa;E5CywJrB;E4CxxJE;IAmBM,qBzC2MuB;IyC1MvB,oBAAoB;E5CwwJ5B;E4C5xJE;IAuBQ,iBzCuMqB;IyCtMrB,sBzCsMqB;EHkkJ/B;AACF;;AYl0JI;EgCiCA;IACE,mBAAmB;E5CqyJvB;E4CtyJE;IvCvBA,kCFwPgC;IEpQhC,0BuCyCwC;E5CoyJ1C;E4C1yJE;IvCnCA,gCFoQgC;IExPhC,4BuCkC0C;E5CmyJ5C;E4C9yJE;IAeM,aAAa;E5CkyJrB;E4CjzJE;IAmBM,qBzC2MuB;IyC1MvB,oBAAoB;E5CiyJ5B;E4CrzJE;IAuBQ,iBzCuMqB;IyCtMrB,sBzCsMqB;EH2lJ/B;AACF;;AY31JI;EgCiCA;IACE,mBAAmB;E5C8zJvB;E4C/zJE;IvCvBA,kCFwPgC;IEpQhC,0BuCyCwC;E5C6zJ1C;E4Cn0JE;IvCnCA,gCFoQgC;IExPhC,4BuCkC0C;E5C4zJ5C;E4Cv0JE;IAeM,aAAa;E5C2zJrB;E4C10JE;IAmBM,qBzC2MuB;IyC1MvB,oBAAoB;E5C0zJ5B;E4C90JE;IAuBQ,iBzCuMqB;IyCtMrB,sBzCsMqB;EHonJ/B;AACF;;AYp3JI;EgCiCA;IACE,mBAAmB;E5Cu1JvB;E4Cx1JE;IvCvBA,kCFwPgC;IEpQhC,0BuCyCwC;E5Cs1J1C;E4C51JE;IvCnCA,gCFoQgC;IExPhC,4BuCkC0C;E5Cq1J5C;E4Ch2JE;IAeM,aAAa;E5Co1JrB;E4Cn2JE;IAmBM,qBzC2MuB;IyC1MvB,oBAAoB;E5Cm1J5B;E4Cv2JE;IAuBQ,iBzCuMqB;IyCtMrB,sBzCsMqB;EH6oJ/B;AACF;;A4Ct0JA;EAEI,qBAAqB;EACrB,oBAAoB;EvCvHpB,gBuCwHwB;A5Cw0J5B;;A4C50JA;EAOM,mBAAmB;A5Cy0JzB;;A4Ch1JA;EAaM,sBAAsB;A5Cu0J5B;;A6Cv9JE;EACE,c5BkI8D;E4BjI9D,yB5BiI8D;AjBy1JlE;;A6C59JE;EAOM,c5B4H0D;E4B3H1D,yBAAyC;A7Cy9JjD;;A6Cj+JE;EAYM,W1CRO;E0CSP,yB5BsH0D;E4BrH1D,qB5BqH0D;AjBo2JlE;;A6Cv+JE;EACE,c5BkI8D;E4BjI9D,yB5BiI8D;AjBy2JlE;;A6C5+JE;EAOM,c5B4H0D;E4B3H1D,yBAAyC;A7Cy+JjD;;A6Cj/JE;EAYM,W1CRO;E0CSP,yB5BsH0D;E4BrH1D,qB5BqH0D;AjBo3JlE;;A6Cv/JE;EACE,c5BkI8D;E4BjI9D,yB5BiI8D;AjBy3JlE;;A6C5/JE;EAOM,c5B4H0D;E4B3H1D,yBAAyC;A7Cy/JjD;;A6CjgKE;EAYM,W1CRO;E0CSP,yB5BsH0D;E4BrH1D,qB5BqH0D;AjBo4JlE;;A6CvgKE;EACE,c5BkI8D;E4BjI9D,yB5BiI8D;AjBy4JlE;;A6C5gKE;EAOM,c5B4H0D;E4B3H1D,yBAAyC;A7CygKjD;;A6CjhKE;EAYM,W1CRO;E0CSP,yB5BsH0D;E4BrH1D,qB5BqH0D;AjBo5JlE;;A6CvhKE;EACE,c5BkI8D;E4BjI9D,yB5BiI8D;AjBy5JlE;;A6C5hKE;EAOM,c5B4H0D;E4B3H1D,yBAAyC;A7CyhKjD;;A6CjiKE;EAYM,W1CRO;E0CSP,yB5BsH0D;E4BrH1D,qB5BqH0D;AjBo6JlE;;A6CviKE;EACE,c5BkI8D;E4BjI9D,yB5BiI8D;AjBy6JlE;;A6C5iKE;EAOM,c5B4H0D;E4B3H1D,yBAAyC;A7CyiKjD;;A6CjjKE;EAYM,W1CRO;E0CSP,yB5BsH0D;E4BrH1D,qB5BqH0D;AjBo7JlE;;A6CvjKE;EACE,c5BkI8D;E4BjI9D,yB5BiI8D;AjBy7JlE;;A6C5jKE;EAOM,c5B4H0D;E4B3H1D,yBAAyC;A7CyjKjD;;A6CjkKE;EAYM,W1CRO;E0CSP,yB5BsH0D;E4BrH1D,qB5BqH0D;AjBo8JlE;;A6CvkKE;EACE,c5BkI8D;E4BjI9D,yB5BiI8D;AjBy8JlE;;A6C5kKE;EAOM,c5B4H0D;E4B3H1D,yBAAyC;A7CykKjD;;A6CjlKE;EAYM,W1CRO;E0CSP,yB5BsH0D;E4BrH1D,qB5BqH0D;AjBo9JlE;;A8C1lKA;E1CwPQ,iCAf6B;E0CvOnC,gB3C4X+B;E2C3X/B,cAAc;EACd,W3Caa;E2CZb,yB3CEa;E2CDb,WAAW;A9C6lKb;;AI7gKI;E0CtFJ;I1C+PQ,iBAlF6B;EJ27JnC;AACF;;A8CzmKA;EAUI,W3COW;E2CNX,qBAAqB;A9CmmKzB;;A8C9mKA;EAgBI,YAAY;A9CkmKhB;;A8ClnKA;EAqBI,oBAAoB;A9CimKxB;;A8CvlKA;EACE,UAAU;EACV,6BAA6B;EAC7B,SAAS;EACT,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;A9C0lKlB;;A+C7nKA;EACE,gB5Cs+BuC;E4Cr+BvC,gBAAgB;E3CkPZ,mBAvE+B;E2CxKnC,2C5CEa;E4CDb,4BAA4B;EAC5B,oC5Cu+BmD;E4Ct+BnD,6C5CSa;E4CRb,mCAA2B;EAA3B,2BAA2B;EAC3B,UAAU;E1CQR,sBF+SgC;AHy0JpC;;A+C1oKA;EAcI,sB5C09BsC;AHsqI1C;;A+C9oKA;EAkBI,UAAU;A/CgoKd;;A+ClpKA;EAsBI,cAAc;EACd,UAAU;A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AiDv2KA;EACE,iB9Cg5BuC;AH09IzC;;AiD32KA;EAII,OAAO;EACP,a9C44BqC;E8C34BrC,c9C04BqC;AHi+IzC;;AiDj3KA;EASM,QAAQ;EACR,oCAA2F;EAC3F,wB9CvCS;AHm5Kf;;AiDv2KA;EACE,iBAAgC;AjD02KlC;;AiD32KA;EAII,MAAM;AjD22KV;;AiD/2KA;EAOM,SAAS;EACT,6B9Cy3BmC;E8Cx3BnC,yB9CrDS;AHi6Kf;;AiDv2KA;EACE,iB9Ck3BuC;AHw/IzC;;AiD32KA;EAII,QAAQ;EACR,a9C82BqC;E8C72BrC,c9C42BqC;AH+/IzC;;AiDj3KA;EASM,OAAO;EACP,oC9Cy2BmC;E8Cx2BnC,uB9CrES;AHi7Kf;;AiDv1KA;EACE,gB9Cw0BuC;E8Cv0BvC,uB9C60BuC;E8C50BvC,W9CvGa;E8CwGb,kBAAkB;EAClB,sB9C/Fa;EECX,sBF+SgC;AH0oKpC;;AmD38KA;EACE,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,ahDqxBsC;EgDpxBtC,cAAc;EACd,gBhDw8BuC;E+C78BvC,kM/C8WiN;E+C5WjN,kBAAkB;EAClB,gB/CyX+B;E+CxX/B,gB/C8X+B;E+C7X/B,gBAAgB;EAChB,iBAAiB;EACjB,qBAAqB;EACrB,iBAAiB;EACjB,oBAAoB;EACpB,sBAAsB;EACtB,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,gBAAgB;E9CqOZ,mBAvE+B;E+CjKnC,qBAAqB;EACrB,sBhDNa;EgDOb,4BAA4B;EAC5B,oChDEa;EECX,qBFgT+B;AHsqKnC;;AmDx+KA;EAoBI,kBAAkB;EAClB,cAAc;EACd,WhDw8BoC;EgDv8BpC,chDw8BqC;EgDv8BrC,gBhD0S+B;AH8qKnC;;AmDh/KA;EA4BM,kBAAkB;EAClB,cAAc;EACd,WAAW;EACX,yBAAyB;EACzB,mBAAmB;AnDw9KzB;;AmDn9KA;EACE,qBhDy7BuC;AH6hJzC;;AmDv9KA;EAII,2BlC0I4D;AjB60KhE;;AmD39KA;EAOM,SAAS;EACT,6BAAgE;EAChE,qChDo7BiE;AHoiJvE;;AmDj+KA;EAaM,WhD4Q2B;EgD3Q3B,6BAAgE;EAChE,sBhD7CS;AHqgLf;;AmDn9KA;EACE,mBhDq6BuC;AHijJzC;;AmDv9KA;EAII,yBlCsH4D;EkCrH5D,ahDi6BqC;EgDh6BrC,YhD+5BoC;EgD95BpC,gBAAgC;AnDu9KpC;;AmD99KA;EAUM,OAAO;EACP,oCAA2F;EAC3F,uChD65BiE;AH2jJvE;;AmDp+KA;EAgBM,ShDqP2B;EgDpP3B,oCAA2F;EAC3F,wBhDpES;AH4hLf;;AmDn9KA;EACE,kBhD84BuC;AHwkJzC;;AmDv9KA;EAII,wBlC+F4D;AjBw3KhE;;AmD39KA;EAOM,MAAM;EACN,oCAA2F;EAC3F,wChDy4BiE;AH+kJvE;;AmDj+KA;EAaM,QhDiO2B;EgDhO3B,oCAA2F;EAC3F,yBhDxFS;AHgjLf;;AmDv+KA;EAqBI,kBAAkB;EAClB,MAAM;EACN,SAAS;EACT,cAAc;EACd,WhDq3BoC;EgDp3BpC,oBAAsC;EACtC,WAAW;EACX,gChDy2BuD;AH6mJ3D;;AmDl9KA;EACE,oBhD82BuC;AHumJzC;;AmDt9KA;EAII,0BlC+D4D;EkC9D5D,ahD02BqC;EgDz2BrC,YhDw2BoC;EgDv2BpC,gBAAgC;AnDs9KpC;;AmD79KA;EAUM,QAAQ;EACR,oChDo2BmC;EgDn2BnC,sChDs2BiE;AHinJvE;;AmDn+KA;EAgBM,UhD8L2B;EgD7L3B,oChD81BmC;EgD71BnC,uBhD3HS;AHklLf;;AmDj8KA;EACE,uBhD+zBwC;EgD9zBxC,gBAAgB;E/C0FZ,eAvE+B;E+ChBnC,yBhDwzByD;EgDvzBzD,gCAAyE;E9CnIvE,0CYwJ4D;EZvJ5D,2CYuJ4D;AjBg7KhE;;AmD38KA;EAUI,aAAa;AnDq8KjB;;AmDj8KA;EACE,uBhDizBwC;EgDhzBxC,chDxJgB;AH4lLlB;;AoD/lLA;EACE,kBAAkB;ApDkmLpB;;AoD/lLA;EACE,mBAAmB;ApDkmLrB;;AoD/lLA;EACE,kBAAkB;EAClB,WAAW;EACX,gBAAgB;ApDkmLlB;;AqDznLE;EACE,cAAc;EACd,WAAW;EACX,WAAW;ArD4nLf;;AoDpmLA;EACE,kBAAkB;EAClB,aAAa;EACb,WAA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EAEI,2CAA+D;A/D4nMzE;;A+D9nMM;EAEI,2BAA+D;A/DgoMzE;;A+DloMM;EAEI,yCAA+D;A/DooMzE;;A+DtoMM;EAEI,yBAA+D;A/DwoMzE;;A+D1oMM;EAEI,gCAA+D;A/D4oMzE;;A+D9oMM;EAEI,gCAA+D;A/DgpMzE;;A+DlpMM;EAEI,gCAA+D;A/DopMzE;;A+DtpMM;EAEI,gCAA+D;A/DwpMzE;;A+D1pMM;EAEI,gCAA+D;A/D4pMzE;;A+D9pMM;EAEI,gCAA+D;A/DgqMzE;;A+DlqMM;EAEI,gCAA+D;A/DoqMzE;;A+DtqMM;EAEI,gCAA+D;A/DwqMzE;;A+D1qMM;EAEI,6BAA+D;A/D4qMzE;;A+D9qMM;EAEI,qBAA+D;A/DgrMzE;;A+DlrMM;EAEI,qBAA+D;A/DorMzE;;A+DtrMM;EAEI,qBAA+D;A/DwrMzE;;A+D1rMM;EAEI,sBAA+D;A/D4rMzE;;A+D9rMM;EAEI,sBAA+D;A/DgsMzE;;A+DlsMM;EAEI,0BAA+D;A/DosMzE;;A+DtsMM;EAEI,uBAA+D;A/DwsMzE;;A+D1sMM;EAEI,2BAA+D;A/D4sMzE;;A+D9sMM;EAEI,sBAA+D;A/DgtMzE;;A+DltMM;EAEI,sBAA+D;A/DotMzE;;A+DttMM;EAEI,sBAA+D;A/DwtMzE;;A+D1tMM;EAEI,uBAA+D;A/D4tMzE;;A+D9tMM;EAEI,uBAA+D;A/DguMzE;;A+DluMM;EAEI,2BAA+D;A/DouMzE;;A+DtuMM;EAEI,wBAA+D;A/DwuMzE;;A+D1uMM;EAEI,4BAA+D;A/D4uMzE;;A+D9uMM;EAEI,yBAA+D;A/DgvMzE;;A+DlvMM;EAEI,8BAA+D;A/DovMzE;;A+DtvMM;EAEI,iCAA+D;A/DwvMzE;;A+D1vMM;EAEI,sCAA+D;A/D4vMzE;;A+D9vMM;EAEI,yCAA+D;A/DgwMzE;;A+DlwMM;EAEI,uBAA+D;A/DowMzE;;A+DtwMM;EAEI,uBAA+D;A/DwwMzE;;A+D1wMM;EAEI,yBAA+D;A/D4wMzE;;A+D9wMM;EAEI,yBAA+D;A/DgxMzE;;A+DlxMM;EAEI,0BAA+D;A/DoxMzE;;A+DtxMM;EAEI,4BAA+D;A/DwxMzE;;A+D1xMM;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A/Dg4NzE;;A+Dl4NM;EAEI,4BAA+D;A/Do4NzE;;A+Dt4NM;EAEI,kCAA+D;A/Dw4NzE;;A+D14NM;EAEI,iCAA+D;A/D44NzE;;A+D94NM;EAEI,+BAA+D;A/Dg5NzE;;A+Dl5NM;EAEI,iCAA+D;A/Do5NzE;;A+Dt5NM;EAEI,+BAA+D;A/Dw5NzE;;A+D15NM;EAEI,0BAA+D;A/D45NzE;;A+D95NM;EAEI,gCAA+D;A/Dg6NzE;;A+Dl6NM;EAEI,+BAA+D;A/Do6NzE;;A+Dt6NM;EAEI,6BAA+D;A/Dw6NzE;;A+D16NM;EAEI,+BAA+D;A/D46NzE;;A+D96NM;EAEI,6BAA+D;A/Dg7NzE;;A+Dl7NM;EAEI,2BAA+D;A/Do7NzE;;A+Dt7NM;EAEI,+BAA+D;A/Dw7NzE;;A+D17NM;EAEI,2BAA+D;A/D47NzE;;A+D97NM;EAEI,2BAA+D;A/Dg8NzE;;A+Dl8NM;EAEI,8BAA+D;A/Do8NzE;;A+Dt8NM;EAEI,oCAA+D;A/Dw8NzE;;A+D18NM;EAEI,oCAA+D;A/D48NzE;;A+D98NM;EAEI,qCAA+D;A/Dg9NzE;;A+Dl9NM;EAEI,2BAA+D;A/Do9NzE;;A+Dt9NM;EAEI,4BAA+D;A/Dw9NzE;;A+D19NM;EAEI,6BAA+D;A/D49NzE;;A+D99NM;EAEI,yBAA+D;A/Dg+NzE;;A+Dl+NM;EAEI,yBAA+D;A/Do+NzE;;A+Dt+NM;EAEI,yBAA+D;A/Dw+NzE;;A+D1+NM;EAEI,yBAA+D;A/D4+NzE;;A+D9+NM;EAEI,yBAA+D;A/Dg/NzE;;A+Dl/NM;EAEI,yBAA+D;A/Do/NzE;;A+Dt/NM;EAEI,yBAA+D;A/Dw/NzE;;A+D1/NM;EAEI,yBAA+D;A/D4/NzE;;A+D9/NM;EAEI,sBAA+D;A/DggOzE;;A+DlgOM;EAEI,yBAA+D;A/DogOzE;;A+DtgOM;EAEI,yBAA+D;A/DwgOzE;;A+D1gOM;EAEI,oCAA+D;A/D4gOzE;;A+D9gOM;EAEI,0CAA+D;A/DghOzE;;A+DlhOM;EAEI,yBAA+D;A/DohOzE;;A+DthOM;EAEI,yBAA+D;A/DwhOzE;;A+D1hOM;EAEI,4BAA+D;A/D4hOzE;;A+D9hOM;EAEI,2BAA+D;A/DgiOzE;;A+DliOM;EAEI,yBAA+D;A/DoiOzE;;A+DtiOM;EAEI,oCAA+D;A/DwiOzE;;A+D1iOM;EAEI,oCAA+D;A/D4iOzE;;A+D9iOM;EAEI,oCAA+D;A/DgjOzE;;A+DljOM;EAEI,oCAA+D;A/DojOzE;;A+DtjOM;EAEI,oCAA+D;A/DwjOzE;;A+D1jOM;EAEI,oCAA+D;A/D4jOzE;;A+D9jOM;EAEI,oCAA+D;A/DgkOzE;;A+DlkOM;EAEI,oCAA+D;A/DokOzE;;A+DtkOM;EAEI,iCAA+D;A/DwkOzE;;A+D1kOM;EAEI,iCAA+D;A/D4kOzE;;A+D9kOM;EAEI,wCAA+D;A/DglOzE;;A+DllOM;EAEI,8BAA+D;A/DolOzE;;A+DtlOM;EAEI,8BAA+D;A/DwlOzE;;A+D1lOM;EAEI,gCAA+D;A/D4lOzE;;A+D9lOM;EAEI,qCAA+D;A/DgmOzE;;A+DlmOM;EAEI,wCAA+D;A/DomOzE;;A+DtmOM;EAEI,6BAA+D;A/DwmOzE;;A+D1mOM;EAEI,6BAA+D;A/D4mOzE;;A+D9mOM;EAEI,gCAA+D;A/DgnOzE;;A+DlnOM;EAEI,4GAA+D;A/DonOzE;;A+DtnOM;EAEI,mCAA+D;EAA/D,gCAA+D;EAA/D,+BAA+D;EAA/D,2BAA+D;A/DwnOzE;;A+D1nOM;EAEI,oCAA+D;EAA/D,iCAA+D;EAA/D,gCAA+D;EAA/D,4BAA+D;A/D4nOzE;;A+D9nOM;EAEI,oCAA+D;EAA/D,iCAA+D;EAA/D,gCAA+D;EAA/D,4BAA+D;A/DgoOzE;;A+DloOM;EAEI,+BAA+D;A/DooOzE;;A+DtoOM;EAEI,+BAA+D;A/DwoOzE;;A+D1oOM;EAEI,iCAA+D;A/D4oOzE;;A+D9oOM;EAEI,gCAA+D;A/DgpOzE;;A+DlpOM;EAEI,gCAA+D;A/DopOzE;;A+DtpOM;EAEI,6BAA+D;A/DwpOzE;;A+D1pOM;EAEI,+BAA+D;A/D4pOzE;;A+D9pOM;EAEI,2BAA+D;A/DgqOzE;;A+DlqOM;EAEI,0CAA+D;EAA/D,2CAA+D;A/DqqOzE;;A+DvqOM;EAEI,2CAA+D;EAA/D,8CAA+D;A/D0qOzE;;A+D5qOM;EAEI,8CAA+D;EAA/D,6CAA+D;A/D+qOzE;;A+DjrOM;EAEI,6CAA+D;EAA/D,0CAA+D;A/DorOzE;;A+DtrOM;EAEI,8BAA+D;A/DwrOzE;;A+D1rOM;EAEI,6BAA+D;A/D4rOzE;;AYxqOI;EmDtBE;IAEI,sBAA+D;E/DisOvE;E+DnsOI;IAEI,uBAA+D;E/DosOvE;E+DtsOI;IAEI,sBAA+D;E/DusOvE;E+DzsOI;IAEI,wBAA+D;E/D0sOvE;E+D5sOI;IAEI,0BAA+D;E/D6sOvE;E+D/sOI;IAEI,gCAA+D;E/DgtOvE;E+DltOI;IAEI,yBAA+D;E/DmtOvE;E+DrtOI;IAEI,yBAA+D;E/DstOvE;E+DxtOI;IAEI,6BAA+D;E/DytOvE;E+D3tOI;IAEI,8BAA+D;E/D4tOvE;E+D9tOI;IAEI,wBAA+D;E/D+tOvE;E+DjuOI;IAEI,+BAA+D;E/DkuOvE;E+DpuOI;IAEI,yBAA+D;E/DquOvE;E+DvuOI;IAEI,8BAA+D;E/DwuOvE;E+D1uOI;IAEI,iCAA+D;E/D2uOvE;E+D7uOI;IAEI,sCAA+D;E/D8uOvE;E+DhvOI;IAEI,yCAA+D;E/DivOvE;E+DnvOI;IAEI,uBAA+D;E/DovOvE;E+DtvOI;IAEI,uBAA+D;E/DuvOvE;E+DzvOI;IAEI,yBAA+D;E/D0vOvE;E+D5vOI;IAEI,yBAA+D;E/D6vOvE;E+D/vOI;IAEI,0BAA+D;E/DgwOvE;E+DlwOI;IAEI,4BAA+D;E/DmwOvE;E+DrwOI;IAEI,kCAA+D;E/DswOvE;E+DxwOI;IAEI,sCAA+D;E/DywOvE;E+D3wOI;IAEI,oCAA+D;E/D4wOvE;E+D9wOI;IAEI,kCAA+D;E/D+wOvE;E+DjxOI;IAEI,yCAA+D;E/DkxOvE;E+DpxOI;IAEI,wCAA+D;E/DqxOvE;E+DvxOI;IAEI,kCAA+D;E/DwxOvE;E+D1xOI;IAEI,gCAA+D;E/D2xOvE;E+D7xOI;IAEI,8BAA+D;E/D8xOvE;E+DhyOI;IAEI,gCAA+D;E/DiyOvE;E+DnyOI;IAEI,+BAA+D;E/DoyOvE;E+DtyOI;IAEI,oCAA+D;E/DuyOvE;E+DzyOI;IAEI,kCAA+D;E/D0yOvE;E+D5yOI;IAEI,gCAA+D;E/D6yOvE;E+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+DrxPI;IAEI,wBAA+D;E/DsxPvE;E+DxxPI;IAEI,0BAA+D;E/DyxPvE;E+D3xPI;IAEI,gCAA+D;E/D4xPvE;E+D9xPI;IAEI,yBAA+D;E/D+xPvE;E+DjyPI;IAEI,yBAA+D;E/DkyPvE;E+DpyPI;IAEI,6BAA+D;E/DqyPvE;E+DvyPI;IAEI,8BAA+D;E/DwyPvE;E+D1yPI;IAEI,wBAA+D;E/D2yPvE;E+D7yPI;IAEI,+BAA+D;E/D8yPvE;E+DhzPI;IAEI,yBAA+D;E/DizPvE;E+DnzPI;IAEI,8BAA+D;E/DozPvE;E+DtzPI;IAEI,iCAA+D;E/DuzPvE;E+DzzPI;IAEI,sCAA+D;E/D0zPvE;E+D5zPI;IAEI,yCAA+D;E/D6zPvE;E+D/zPI;IAEI,uBAA+D;E/Dg0PvE;E+Dl0PI;IAEI,uBAA+D;E/Dm0PvE;E+Dr0PI;IAEI,yBAA+D;E/Ds0PvE;E+Dx0PI;IAEI,yBAA+D;E/Dy0PvE;E+D30PI;IAEI,0BAA+D;E/D40PvE;E+D90PI;IAEI,4BAA+D;E/D+0PvE;E+Dj1PI;IAEI,kCAA+D;E/Dk1PvE;E+Dp1PI;IAEI,sCAA+D;E/Dq1PvE;E+Dv1PI;IAEI,oCAA+D;E/Dw1PvE;E+D11PI;IAEI,kCAA+D;E/D21PvE;E+D71PI;IAEI,yCAA+D;E/D81PvE;E+Dh2PI;IAEI,wCAA+D;E/Di2PvE;E+Dn2PI;IAEI,kCAA+D;E/Do2PvE;E+Dt2PI;IAEI,gCAA+D;E/Du2PvE;E+Dz2PI;IAEI,8BAA+D;E/D02PvE;E+D52PI;IAEI,gCAA+D;E/D62PvE;E+D/2PI;IAEI,+BAA+D;E/Dg3PvE;E+Dl3PI;IAEI,oCAA+D;E/Dm3PvE;E+Dr3PI;IAEI,kCAA+D;E/Ds3PvE;E+Dx3PI;IAEI,gCAA+D;E/Dy3PvE;E+D33PI;IAEI,uCAA+D;E/D43PvE;E+D93PI;IAEI,sCAA+D;E/D+3PvE;E+Dj4PI;IAEI,iCAA+D;E/Dk4PvE;E+Dp4PI;IAEI,2BAA+D;E/Dq4PvE;E+Dv4PI;IAEI,iCAA+D;E/Dw4PvE;E+D14PI;IAEI,+BAA+D;E/D24PvE;E+D74PI;IAEI,6BAA+D;E/D84PvE;E+Dh5PI;IAEI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I,wBAA+D;E/Du3QvE;E+Dz3QI;IAEI,+BAA+D;E/D03QvE;E+D53QI;IAEI,yBAA+D;E/D63QvE;E+D/3QI;IAEI,8BAA+D;E/Dg4QvE;E+Dl4QI;IAEI,iCAA+D;E/Dm4QvE;E+Dr4QI;IAEI,sCAA+D;E/Ds4QvE;E+Dx4QI;IAEI,yCAA+D;E/Dy4QvE;E+D34QI;IAEI,uBAA+D;E/D44QvE;E+D94QI;IAEI,uBAA+D;E/D+4QvE;E+Dj5QI;IAEI,yBAA+D;E/Dk5QvE;E+Dp5QI;IAEI,yBAA+D;E/Dq5QvE;E+Dv5QI;IAEI,0BAA+D;E/Dw5QvE;E+D15QI;IAEI,4BAA+D;E/D25QvE;E+D75QI;IAEI,kCAA+D;E/D85QvE;E+Dh6QI;IAEI,sCAA+D;E/Di6QvE;E+Dn6QI;IAEI,oCAA+D;E/Do6QvE;E+Dt6QI;IAEI,kCAA+D;E/Du6QvE;E+Dz6QI;IAEI,yCAA+D;E/D06QvE;E+D56QI;IAEI,wCAA+D;E/D66QvE;E+D/6QI;IAEI,kCAA+D;E/Dg7QvE;E+Dl7QI;IAEI,gCAA+D;E/Dm7QvE;E+Dr7QI;IAEI,8BAA+D;E/Ds7QvE;E+Dx7QI;IAEI,gCAA+D;E/Dy7QvE;E+D37QI;IAEI,+BAA+D;E/D47QvE;E+D97QI;IAEI,oCAA+D;E/D+7QvE;E+Dj8QI;IAEI,kCAA+D;E/Dk8QvE;E+Dp8QI;IAEI,gCAA+D;E/Dq8QvE;E+Dv8QI;IAEI,uCAA+D;E/Dw8QvE;E+D18QI;IAEI,sCAA+D;E/D28QvE;E+D78QI;IAEI,iCAA+D;E/D88QvE;E+Dh9QI;IAEI,2BAA+D;E/Di9QvE;E+Dn9QI;IAEI,iCAA+D;E/Do9QvE;E+Dt9QI;IAEI,+BAA+D;E/Du9QvE;E+Dz9QI;IAEI,6BAA+D;E/D09QvE;E+D59QI;IAEI,+BAA+D;E/D69QvE;E+D/9QI;IAEI,8BAA+D;E/Dg+QvE;E+Dl+QI;IAEI,oBAA+D;E/Dm+QvE;E+Dr+QI;IAEI,mBAA+D;E/Ds+QvE;E+Dx+QI;IAEI,mBAA+D;E/Dy+QvE;E+D3+QI;IAEI,mBAA+D;E/D4+QvE;E+D9+QI;IAEI,mBAA+D;E/D++QvE;E+Dj/QI;IAEI,mBAA+D;E/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D01RvE;E+D51RI;IAEI,8BAA+D;E/D61RvE;E+D/1RI;IAEI,4BAA+D;E/Dg2RvE;E+Dl2RI;IAEI,2BAA+D;E/Dm2RvE;E+Dr2RI;IAEI,iCAA+D;E/Ds2RvE;E+Dx2RI;IAEI,gCAA+D;E/Dy2RvE;E+D32RI;IAEI,8BAA+D;E/D42RvE;E+D92RI;IAEI,gCAA+D;E/D+2RvE;E+Dj3RI;IAEI,8BAA+D;E/Dk3RvE;E+Dp3RI;IAEI,4BAA+D;E/Dq3RvE;E+Dv3RI;IAEI,kCAA+D;E/Dw3RvE;E+D13RI;IAEI,iCAA+D;E/D23RvE;E+D73RI;IAEI,+BAA+D;E/D83RvE;E+Dh4RI;IAEI,iCAA+D;E/Di4RvE;E+Dn4RI;IAEI,+BAA+D;E/Do4RvE;E+Dt4RI;IAEI,0BAA+D;E/Du4RvE;E+Dz4RI;IAEI,gCAA+D;E/D04RvE;E+D54RI;IAEI,+BAA+D;E/D64RvE;E+D/4RI;IAEI,6BAA+D;E/Dg5RvE;E+Dl5RI;IAEI,+BAA+D;E/Dm5RvE;E+Dr5RI;IAEI,6BAA+D;E/Ds5RvE;E+Dx5RI;IAEI,2BAA+D;E/Dy5RvE;E+D35RI;IAEI,4BAA+D;E/D45RvE;E+D95RI;IAEI,6BAA+D;E/D+5RvE;AACF;;AY54RI;EmDtBE;IAEI,sBAA+D;E/Dq6RvE;E+Dv6RI;IAEI,uBAA+D;E/Dw6RvE;E+D16RI;IAEI,sBAA+D;E/D26RvE;E+D76RI;IAEI,wBAA+D;E/D86RvE;E+Dh7RI;IAEI,0BAA+D;E/Di7RvE;E+Dn7RI;IAEI,gCAA+D;E/Do7RvE;E+Dt7RI;IAEI,yBAA+D;E/Du7RvE;E+Dz7RI;IAEI,yBAA+D;E/D07RvE;E+D57RI;IAEI,6BAA+D;E/D67RvE;E+D/7RI;IAEI,8BAA+D;E/Dg8RvE;E+Dl8RI;IAEI,wBAA+D;E/Dm8RvE;E+Dr8RI;IAEI,+BAA+D;E/Ds8RvE;E+Dx8RI;IAEI,yBAA+D;E/Dy8RvE;E+D38RI;IAEI,8BAA+D;E/D48RvE;E+D98RI;IAEI,iCAA+D;E/D+8RvE;E+Dj9RI;IAEI,sCAA+D;E/Dk9RvE;E+Dp9RI;IAEI,yCAA+D;E/Dq9RvE;E+Dv9RI;IAEI,uBAA+D;E/Dw9RvE;E+D19RI;IAEI,uBAA+D;E/D29RvE;E+D79RI;IAEI,yBAA+D;E/D89RvE;E+Dh+RI;IAEI,yBAA+D;E/Di+RvE;E+Dn+RI;IAEI,0BAA+D;E/Do+RvE;E+Dt+RI;IAEI,4BAA+D;E/Du+RvE;E+Dz+RI;IAEI,kCAA+D;E/D0+RvE;E+D5+RI;IAEI,sCAA+D;E/D6+RvE;E+D/+RI;IAEI,oCAA+D;E/Dg/RvE;E+Dl/RI;IAEI,kCAA+D;E/Dm/RvE;E+Dr/RI;IAEI,yCAA+D;E/Ds/RvE;E+Dx/RI;IAEI,wCAA+D;E/Dy/RvE;E+D3/RI;IAEI,kCAA+D;E/D4/RvE;E+D9/RI;IAEI,gCAA+D;E/D+/RvE;E+DjgSI;IAEI,8BAA+D;E/DkgSvE;E+DpgSI;IAEI,gCAA+D;E/DqgSvE;E+DvgSI;IAEI,+BAA+D;E/DwgSvE;E+D1gSI;IAEI,oCAA+D;E/D2gSvE;E+D7gSI;IAEI,kCAA+D;E/D8gSvE;E+DhhSI;IAEI,gCAA+D;E/DihSvE;E+DnhSI;IAEI,uCAA+D;E/DohSvE;E+DthSI;IAEI,sCAA+D;E/DuhSvE;E+DzhSI;IAEI,iCAA+D;E/D0hSvE;E+D5hSI;IAEI,2BAA+D;E/D6hSvE;E+D/hSI;IAEI,iCAA+D;E/DgiSvE;E+DliSI;IAEI,+BAA+D;E/DmiSvE;E+DriSI;IAEI,6BAA+D;E/DsiSvE;E+DxiSI;IAEI,+BAA+D;E/DyiSvE;E+D3iSI;IAEI,8BAA+D;E/D4iSvE;E+D9iSI;IAEI,oBAA+D;E/D+iSvE;E+DjjSI;IAEI,mBAA+D;E/DkjSvE;E+DpjSI;IAEI,mBAA+D;E/DqjSvE;E+DvjSI;IAEI,mBAA+D;E/DwjSvE;E+D1jSI;IAEI,mBAA+D;E/D2jSvE;E+D7jSI;IAEI,mBAA+D;E/D8jSvE;E+DhkSI;IAEI,mBAA+D;E/DikSvE;E+DnkSI;IAEI,mBAA+D;E/DokSvE;E+DtkSI;IAEI,oBAA+D;E/DukSvE;E+DzkSI;IAEI,0BAA+D;E/D0kSvE;E+D5kSI;IAEI,yBAA+D;E/D6kSvE;E+D/kSI;IAEI,uBAA+D;E/DglSvE;E+DllSI;IAEI,yBAA+D;E/DmlSvE;E+D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","file":"bootstrap.css","sourcesContent":["/*!\n * Bootstrap v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n// Configuration\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"utilities\";\n\n\n// Layout & components\n\n@import \"root\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"containers\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"alert\";\n@import \"progress\";\n@import \"list-group\";\n@import \"close\";\n@import \"toasts\";\n@import \"modal\";\n@import \"tooltip\";\n@import \"popover\";\n@import \"carousel\";\n@import \"spinners\";\n\n\n// Helpers\n\n@import \"helpers\";\n\n\n// Utilities\n\n@import \"utilities/api\";\n","/*!\n * Bootstrap v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n:root {\n --blue: #0d6efd;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #d63384;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #fff;\n --gray: #6c757d;\n --gray-dark: #343a40;\n --primary: #0d6efd;\n --secondary: #6c757d;\n --success: #28a745;\n --info: #17a2b8;\n --warning: #ffc107;\n --danger: #dc3545;\n --light: #f8f9fa;\n --dark: #343a40;\n --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n background-color: #fff;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n margin: 1rem 0;\n color: inherit;\n background-color: currentColor;\n border: 0;\n opacity: 0.25;\n}\n\nhr:not([size]) {\n height: 1px;\n}\n\nh1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1, .h1 {\n font-size: calc(1.375rem + 1.5vw);\n}\n\n@media (min-width: 1200px) {\n h1, .h1 {\n font-size: 2.5rem;\n }\n}\n\nh2, .h2 {\n font-size: calc(1.325rem + 0.9vw);\n}\n\n@media (min-width: 1200px) {\n h2, .h2 {\n font-size: 2rem;\n }\n}\n\nh3, .h3 {\n font-size: calc(1.3rem + 0.6vw);\n}\n\n@media (min-width: 1200px) {\n h3, .h3 {\n font-size: 1.75rem;\n }\n}\n\nh4, .h4 {\n font-size: calc(1.275rem + 0.3vw);\n}\n\n@media (min-width: 1200px) {\n h4, .h4 {\n font-size: 1.5rem;\n }\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall, .small {\n font-size: 0.875em;\n}\n\nmark, .mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 0.75em;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #0d6efd;\n text-decoration: underline;\n}\n\na:hover {\n color: #024dbc;\n}\n\na:not([href]), a:not([href]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: 0.875em;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\ncode {\n font-size: 0.875em;\n color: #d63384;\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 0.875em;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 1em;\n font-weight: 700;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: #6c757d;\n text-align: left;\n}\n\nth {\n text-align: inherit;\n text-align: -webkit-match-parent;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nselect {\n word-wrap: normal;\n}\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: textfield;\n}\n\ntextarea {\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n float: left;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: calc(1.275rem + 0.3vw);\n line-height: inherit;\n white-space: normal;\n}\n\n@media (min-width: 1200px) {\n legend {\n font-size: 1.5rem;\n }\n}\n\nlegend + * {\n clear: left;\n}\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: textfield;\n}\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[hidden] {\n display: none !important;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: calc(1.725rem + 5.7vw);\n font-weight: 300;\n line-height: 1.2;\n}\n\n@media (min-width: 1200px) {\n .display-1 {\n font-size: 6rem;\n }\n}\n\n.display-2 {\n font-size: calc(1.675rem + 5.1vw);\n font-weight: 300;\n line-height: 1.2;\n}\n\n@media (min-width: 1200px) {\n .display-2 {\n font-size: 5.5rem;\n }\n}\n\n.display-3 {\n font-size: calc(1.575rem + 3.9vw);\n font-weight: 300;\n line-height: 1.2;\n}\n\n@media (min-width: 1200px) {\n .display-3 {\n font-size: 4.5rem;\n }\n}\n\n.display-4 {\n font-size: calc(1.475rem + 2.7vw);\n font-weight: 300;\n line-height: 1.2;\n}\n\n@media (min-width: 1200px) {\n .display-4 {\n font-size: 3.5rem;\n }\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 0.875em;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 0.875em;\n color: #6c757d;\n}\n\n.blockquote-footer::before {\n content: \"\\2014\\00A0\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 0.875em;\n color: #6c757d;\n}\n\n.container {\n width: 100%;\n padding-right: 1rem;\n padding-left: 1rem;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid, .container-sm, .container-md, .container-lg, .container-xl {\n width: 100%;\n padding-right: 1rem;\n padding-left: 1rem;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -0.75rem;\n margin-left: -0.75rem;\n}\n\n.row > * {\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.g-0,\n.gx-0 {\n margin-right: 0;\n margin-left: 0;\n}\n\n.g-0 > *,\n.gx-0 > * {\n padding-right: 0;\n padding-left: 0;\n}\n\n.g-0,\n.gy-0 {\n margin-top: 0;\n}\n\n.g-0 > *,\n.gy-0 > * {\n margin-top: 0;\n}\n\n.g-1,\n.gx-1 {\n margin-right: -0.125rem;\n margin-left: -0.125rem;\n}\n\n.g-1 > *,\n.gx-1 > * {\n padding-right: 0.125rem;\n padding-left: 0.125rem;\n}\n\n.g-1,\n.gy-1 {\n margin-top: -0.25rem;\n}\n\n.g-1 > *,\n.gy-1 > * {\n margin-top: 0.25rem;\n}\n\n.g-2,\n.gx-2 {\n margin-right: -0.25rem;\n margin-left: -0.25rem;\n}\n\n.g-2 > *,\n.gx-2 > * {\n padding-right: 0.25rem;\n padding-left: 0.25rem;\n}\n\n.g-2,\n.gy-2 {\n margin-top: -0.5rem;\n}\n\n.g-2 > *,\n.gy-2 > * {\n margin-top: 0.5rem;\n}\n\n.g-3,\n.gx-3 {\n margin-right: -0.5rem;\n margin-left: -0.5rem;\n}\n\n.g-3 > *,\n.gx-3 > * {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.g-3,\n.gy-3 {\n margin-top: -1rem;\n}\n\n.g-3 > *,\n.gy-3 > * {\n margin-top: 1rem;\n}\n\n.g-4,\n.gx-4 {\n margin-right: -0.75rem;\n margin-left: -0.75rem;\n}\n\n.g-4 > *,\n.gx-4 > * {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.g-4,\n.gy-4 {\n margin-top: -1.5rem;\n}\n\n.g-4 > *,\n.gy-4 > * {\n margin-top: 1.5rem;\n}\n\n.g-5,\n.gx-5 {\n margin-right: -1.5rem;\n margin-left: -1.5rem;\n}\n\n.g-5 > *,\n.gx-5 > * {\n padding-right: 1.5rem;\n padding-left: 1.5rem;\n}\n\n.g-5,\n.gy-5 {\n margin-top: -3rem;\n}\n\n.g-5 > *,\n.gy-5 > * {\n margin-top: 3rem;\n}\n\n@media (min-width: 576px) {\n .g-sm-0,\n .gx-sm-0 {\n margin-right: 0;\n margin-left: 0;\n }\n .g-sm-0 > *,\n .gx-sm-0 > * {\n padding-right: 0;\n padding-left: 0;\n }\n .g-sm-0,\n .gy-sm-0 {\n margin-top: 0;\n }\n .g-sm-0 > *,\n .gy-sm-0 > * {\n margin-top: 0;\n }\n .g-sm-1,\n .gx-sm-1 {\n margin-right: -0.125rem;\n margin-left: -0.125rem;\n }\n .g-sm-1 > *,\n .gx-sm-1 > * {\n padding-right: 0.125rem;\n padding-left: 0.125rem;\n }\n .g-sm-1,\n .gy-sm-1 {\n margin-top: -0.25rem;\n }\n .g-sm-1 > *,\n .gy-sm-1 > * {\n margin-top: 0.25rem;\n }\n .g-sm-2,\n .gx-sm-2 {\n margin-right: -0.25rem;\n margin-left: -0.25rem;\n }\n .g-sm-2 > *,\n .gx-sm-2 > * {\n padding-right: 0.25rem;\n padding-left: 0.25rem;\n }\n .g-sm-2,\n .gy-sm-2 {\n margin-top: -0.5rem;\n }\n .g-sm-2 > *,\n .gy-sm-2 > * {\n margin-top: 0.5rem;\n }\n .g-sm-3,\n .gx-sm-3 {\n margin-right: -0.5rem;\n margin-left: -0.5rem;\n }\n .g-sm-3 > *,\n .gx-sm-3 > * {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .g-sm-3,\n .gy-sm-3 {\n margin-top: -1rem;\n }\n .g-sm-3 > *,\n .gy-sm-3 > * {\n margin-top: 1rem;\n }\n .g-sm-4,\n .gx-sm-4 {\n margin-right: -0.75rem;\n margin-left: -0.75rem;\n }\n .g-sm-4 > *,\n .gx-sm-4 > * {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n }\n .g-sm-4,\n .gy-sm-4 {\n margin-top: -1.5rem;\n }\n .g-sm-4 > *,\n .gy-sm-4 > * {\n margin-top: 1.5rem;\n }\n .g-sm-5,\n .gx-sm-5 {\n margin-right: -1.5rem;\n margin-left: -1.5rem;\n }\n .g-sm-5 > *,\n .gx-sm-5 > * {\n padding-right: 1.5rem;\n padding-left: 1.5rem;\n }\n .g-sm-5,\n .gy-sm-5 {\n margin-top: -3rem;\n }\n .g-sm-5 > *,\n .gy-sm-5 > * {\n margin-top: 3rem;\n }\n}\n\n@media (min-width: 768px) {\n .g-md-0,\n .gx-md-0 {\n margin-right: 0;\n margin-left: 0;\n }\n .g-md-0 > *,\n .gx-md-0 > * {\n padding-right: 0;\n padding-left: 0;\n }\n .g-md-0,\n .gy-md-0 {\n margin-top: 0;\n }\n .g-md-0 > *,\n .gy-md-0 > * {\n margin-top: 0;\n }\n .g-md-1,\n .gx-md-1 {\n margin-right: -0.125rem;\n margin-left: -0.125rem;\n }\n .g-md-1 > *,\n .gx-md-1 > * {\n padding-right: 0.125rem;\n padding-left: 0.125rem;\n }\n .g-md-1,\n .gy-md-1 {\n margin-top: -0.25rem;\n }\n .g-md-1 > *,\n .gy-md-1 > * {\n margin-top: 0.25rem;\n }\n .g-md-2,\n .gx-md-2 {\n margin-right: -0.25rem;\n margin-left: -0.25rem;\n }\n .g-md-2 > *,\n .gx-md-2 > * {\n padding-right: 0.25rem;\n padding-left: 0.25rem;\n }\n .g-md-2,\n .gy-md-2 {\n margin-top: -0.5rem;\n }\n .g-md-2 > *,\n .gy-md-2 > * {\n margin-top: 0.5rem;\n }\n .g-md-3,\n .gx-md-3 {\n margin-right: -0.5rem;\n margin-left: -0.5rem;\n }\n .g-md-3 > *,\n .gx-md-3 > * {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .g-md-3,\n .gy-md-3 {\n margin-top: -1rem;\n }\n .g-md-3 > *,\n .gy-md-3 > * {\n margin-top: 1rem;\n }\n .g-md-4,\n .gx-md-4 {\n margin-right: -0.75rem;\n margin-left: -0.75rem;\n }\n .g-md-4 > *,\n .gx-md-4 > * {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n }\n .g-md-4,\n .gy-md-4 {\n margin-top: -1.5rem;\n }\n .g-md-4 > *,\n .gy-md-4 > * {\n margin-top: 1.5rem;\n }\n .g-md-5,\n .gx-md-5 {\n margin-right: -1.5rem;\n margin-left: -1.5rem;\n }\n .g-md-5 > *,\n .gx-md-5 > * {\n padding-right: 1.5rem;\n padding-left: 1.5rem;\n }\n .g-md-5,\n .gy-md-5 {\n margin-top: -3rem;\n }\n .g-md-5 > *,\n .gy-md-5 > * {\n margin-top: 3rem;\n }\n}\n\n@media (min-width: 992px) {\n .g-lg-0,\n .gx-lg-0 {\n margin-right: 0;\n margin-left: 0;\n }\n .g-lg-0 > *,\n .gx-lg-0 > * {\n padding-right: 0;\n padding-left: 0;\n }\n .g-lg-0,\n .gy-lg-0 {\n margin-top: 0;\n }\n .g-lg-0 > *,\n .gy-lg-0 > * {\n margin-top: 0;\n }\n .g-lg-1,\n .gx-lg-1 {\n margin-right: -0.125rem;\n margin-left: -0.125rem;\n }\n .g-lg-1 > *,\n .gx-lg-1 > * {\n padding-right: 0.125rem;\n padding-left: 0.125rem;\n }\n .g-lg-1,\n .gy-lg-1 {\n margin-top: -0.25rem;\n }\n .g-lg-1 > *,\n .gy-lg-1 > * {\n margin-top: 0.25rem;\n }\n .g-lg-2,\n .gx-lg-2 {\n margin-right: -0.25rem;\n margin-left: -0.25rem;\n }\n .g-lg-2 > *,\n .gx-lg-2 > * {\n padding-right: 0.25rem;\n padding-left: 0.25rem;\n }\n .g-lg-2,\n .gy-lg-2 {\n margin-top: -0.5rem;\n }\n .g-lg-2 > *,\n .gy-lg-2 > * {\n margin-top: 0.5rem;\n }\n .g-lg-3,\n .gx-lg-3 {\n margin-right: -0.5rem;\n margin-left: -0.5rem;\n }\n .g-lg-3 > *,\n .gx-lg-3 > * {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .g-lg-3,\n .gy-lg-3 {\n margin-top: -1rem;\n }\n .g-lg-3 > *,\n .gy-lg-3 > * {\n margin-top: 1rem;\n }\n .g-lg-4,\n .gx-lg-4 {\n margin-right: -0.75rem;\n margin-left: -0.75rem;\n }\n .g-lg-4 > *,\n .gx-lg-4 > * {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n }\n .g-lg-4,\n .gy-lg-4 {\n margin-top: -1.5rem;\n }\n .g-lg-4 > *,\n .gy-lg-4 > * {\n margin-top: 1.5rem;\n }\n .g-lg-5,\n .gx-lg-5 {\n margin-right: -1.5rem;\n margin-left: -1.5rem;\n }\n .g-lg-5 > *,\n .gx-lg-5 > * {\n padding-right: 1.5rem;\n padding-left: 1.5rem;\n }\n .g-lg-5,\n .gy-lg-5 {\n margin-top: -3rem;\n }\n .g-lg-5 > *,\n .gy-lg-5 > * {\n margin-top: 3rem;\n }\n}\n\n@media (min-width: 1200px) {\n .g-xl-0,\n .gx-xl-0 {\n margin-right: 0;\n margin-left: 0;\n }\n .g-xl-0 > *,\n .gx-xl-0 > * {\n padding-right: 0;\n padding-left: 0;\n }\n .g-xl-0,\n .gy-xl-0 {\n margin-top: 0;\n }\n .g-xl-0 > *,\n .gy-xl-0 > * {\n margin-top: 0;\n }\n .g-xl-1,\n .gx-xl-1 {\n margin-right: -0.125rem;\n margin-left: -0.125rem;\n }\n .g-xl-1 > *,\n .gx-xl-1 > * {\n padding-right: 0.125rem;\n padding-left: 0.125rem;\n }\n .g-xl-1,\n .gy-xl-1 {\n margin-top: -0.25rem;\n }\n .g-xl-1 > *,\n .gy-xl-1 > * {\n margin-top: 0.25rem;\n }\n .g-xl-2,\n .gx-xl-2 {\n margin-right: -0.25rem;\n margin-left: -0.25rem;\n }\n .g-xl-2 > *,\n .gx-xl-2 > * {\n padding-right: 0.25rem;\n padding-left: 0.25rem;\n }\n .g-xl-2,\n .gy-xl-2 {\n margin-top: -0.5rem;\n }\n .g-xl-2 > *,\n .gy-xl-2 > * {\n margin-top: 0.5rem;\n }\n .g-xl-3,\n .gx-xl-3 {\n margin-right: -0.5rem;\n margin-left: -0.5rem;\n }\n .g-xl-3 > *,\n .gx-xl-3 > * {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .g-xl-3,\n .gy-xl-3 {\n margin-top: -1rem;\n }\n .g-xl-3 > *,\n .gy-xl-3 > * {\n margin-top: 1rem;\n }\n .g-xl-4,\n .gx-xl-4 {\n margin-right: -0.75rem;\n margin-left: -0.75rem;\n }\n .g-xl-4 > *,\n .gx-xl-4 > * {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n }\n .g-xl-4,\n .gy-xl-4 {\n margin-top: -1.5rem;\n }\n .g-xl-4 > *,\n .gy-xl-4 > * {\n margin-top: 1.5rem;\n }\n .g-xl-5,\n .gx-xl-5 {\n margin-right: -1.5rem;\n margin-left: -1.5rem;\n }\n .g-xl-5 > *,\n .gx-xl-5 > * {\n padding-right: 1.5rem;\n padding-left: 1.5rem;\n }\n .g-xl-5,\n .gy-xl-5 {\n margin-top: -3rem;\n }\n .g-xl-5 > *,\n .gy-xl-5 > * {\n margin-top: 3rem;\n }\n}\n\n.col {\n flex: 1 0 0%;\n min-width: 0;\n}\n\n.row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n}\n\n.row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.col-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.col-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 auto;\n width: 75%;\n}\n\n.col-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex: 1 0 0%;\n min-width: 0;\n }\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex: 1 0 0%;\n min-width: 0;\n }\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex: 1 0 0%;\n min-width: 0;\n }\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex: 1 0 0%;\n min-width: 0;\n }\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n margin-bottom: 1rem;\n color: #212529;\n vertical-align: top;\n}\n\n.table th,\n.table td {\n padding: 0.5rem;\n border-bottom: 1px solid #dee2e6;\n}\n\n.table tbody {\n vertical-align: inherit;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom-color: #495057;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #dee2e6;\n}\n\n.caption-top {\n caption-side: top;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.25rem;\n}\n\n.table-bordered {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-borderless th,\n.table-borderless td,\n.table-borderless thead th,\n.table-borderless tbody + tbody {\n border: 0;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n color: #212529;\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n background-color: #bbd6fe;\n}\n\n.table-primary th,\n.table-primary td,\n.table-primary thead th,\n.table-primary tbody + tbody {\n border-color: #81b4fe;\n}\n\n.table-hover .table-primary:hover {\n background-color: #a2c7fe;\n}\n\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n background-color: #a2c7fe;\n}\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n background-color: #d6d8db;\n}\n\n.table-secondary th,\n.table-secondary td,\n.table-secondary thead th,\n.table-secondary tbody + tbody {\n border-color: #b3b7bb;\n}\n\n.table-hover .table-secondary:hover {\n background-color: #c8cbcf;\n}\n\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n background-color: #c8cbcf;\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #c3e6cb;\n}\n\n.table-success th,\n.table-success td,\n.table-success thead th,\n.table-success tbody + tbody {\n border-color: #8fd19e;\n}\n\n.table-hover .table-success:hover {\n background-color: #b1dfbb;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #b1dfbb;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #bee5eb;\n}\n\n.table-info th,\n.table-info td,\n.table-info thead th,\n.table-info tbody + tbody {\n border-color: #86cfda;\n}\n\n.table-hover .table-info:hover {\n background-color: #abdde5;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #abdde5;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #ffeeba;\n}\n\n.table-warning th,\n.table-warning td,\n.table-warning thead th,\n.table-warning tbody + tbody {\n border-color: #ffdf7e;\n}\n\n.table-hover .table-warning:hover {\n background-color: #ffe8a1;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #ffe8a1;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f5c6cb;\n}\n\n.table-danger th,\n.table-danger td,\n.table-danger thead th,\n.table-danger tbody + tbody {\n border-color: #ed969e;\n}\n\n.table-hover .table-danger:hover {\n background-color: #f1b0b7;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #f1b0b7;\n}\n\n.table-light,\n.table-light > th,\n.table-light > td {\n background-color: #fdfdfe;\n}\n\n.table-light th,\n.table-light td,\n.table-light thead th,\n.table-light tbody + tbody {\n border-color: #fbfcfc;\n}\n\n.table-hover .table-light:hover {\n background-color: #ececf6;\n}\n\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n background-color: #ececf6;\n}\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n background-color: #c6c8ca;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th,\n.table-dark tbody + tbody {\n border-color: #95999c;\n}\n\n.table-hover .table-dark:hover {\n background-color: #b9bbbe;\n}\n\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n background-color: #b9bbbe;\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table .thead-dark th {\n color: #fff;\n background-color: #343a40;\n border-color: #454d55;\n}\n\n.table .thead-light th {\n color: #495057;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.table-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th {\n border-color: #454d55;\n}\n\n.table-dark.table-bordered {\n border: 0;\n}\n\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-dark.table-hover tbody tr:hover {\n color: #fff;\n background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-sm > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 767.98px) {\n .table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-md > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-lg > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-xl > .table-bordered {\n border: 0;\n }\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n.table-responsive > .table-bordered {\n border: 0;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n}\n\n.form-control {\n display: block;\n width: 100%;\n min-height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n\n.form-control:focus {\n color: #495057;\n background-color: #fff;\n border-color: #8bbafe;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-control::placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: 0.375rem 0;\n margin-bottom: 0;\n line-height: 1.5;\n color: #212529;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm {\n min-height: calc(1.5em + 0.5rem + 2px);\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.form-control-lg {\n min-height: calc(1.5em + 1rem + 2px);\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.form-control-color {\n max-width: 3rem;\n padding: 0.375rem;\n}\n\n.form-control-color::-moz-color-swatch {\n border-radius: 0.25rem;\n}\n\n.form-control-color::-webkit-color-swatch {\n border-radius: 0.25rem;\n}\n\n.form-select {\n display: block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n background-color: #fff;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right 0.75rem center;\n background-size: 16px 12px;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n appearance: none;\n}\n\n.form-select:focus {\n border-color: #8bbafe;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-select:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.form-select[multiple], .form-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none;\n}\n\n.form-select:disabled {\n color: #6c757d;\n background-color: #e9ecef;\n}\n\n.form-select:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #495057;\n}\n\n.form-select-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n padding-left: 0.5rem;\n font-size: 0.875rem;\n}\n\n.form-select-lg {\n height: calc(1.5em + 1rem + 2px);\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 1rem;\n font-size: 1.25rem;\n}\n\n.form-check {\n display: block;\n min-height: 1.5rem;\n padding-left: 1.75em;\n margin-bottom: 0.125rem;\n}\n\n.form-check .form-check-input {\n float: left;\n margin-left: -1.75em;\n}\n\n.form-check-input {\n width: 1.25em;\n height: 1.25em;\n margin-top: 0.125em;\n vertical-align: top;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.25);\n appearance: none;\n color-adjust: exact;\n}\n\n.form-check-input[type=\"checkbox\"] {\n border-radius: 0.25em;\n}\n\n.form-check-input[type=\"radio\"] {\n border-radius: 50%;\n}\n\n.form-check-input:active {\n filter: brightness(90%);\n}\n\n.form-check-input:focus {\n border-color: #8bbafe;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-check-input:checked {\n background-color: #0d6efd;\n background-repeat: no-repeat;\n background-position: center center;\n background-size: 1em;\n border-color: #0d6efd;\n}\n\n.form-check-input:checked[type=\"checkbox\"] {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M4 8.5L6.5 11l6-6'/%3e%3c/svg%3e\");\n}\n\n.form-check-input:checked[type=\"radio\"] {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e\");\n}\n\n.form-check-input[type=\"checkbox\"]:indeterminate {\n background-color: #0d6efd;\n background-repeat: no-repeat;\n background-position: center center;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M5 8h6'/%3e%3c/svg%3e\");\n background-size: 1em;\n border-color: #0d6efd;\n}\n\n.form-check-input:disabled {\n pointer-events: none;\n filter: none;\n opacity: .5;\n}\n\n.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {\n opacity: .5;\n}\n\n.form-check-label {\n margin-bottom: 0;\n}\n\n.form-switch {\n padding-left: 2.5em;\n}\n\n.form-switch .form-check-input {\n width: 2em;\n margin-left: -2.5em;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: left center;\n background-size: contain;\n border-radius: 2em;\n color-adjust: exact;\n}\n\n.form-switch .form-check-input:focus {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2380bdff'/%3e%3c/svg%3e\");\n}\n\n.form-switch .form-check-input:checked {\n background-position: right center;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\");\n}\n\n.form-check-inline {\n display: inline-block;\n margin-right: 1rem;\n}\n\n.form-file {\n position: relative;\n height: calc(1.5em + 0.75rem + 2px);\n}\n\n.form-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: 100%;\n margin: 0;\n opacity: 0;\n}\n\n.form-file-input:focus-within ~ .form-file-label {\n border-color: #8bbafe;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-file-input[disabled] ~ .form-file-label .form-file-text,\n.form-file-input:disabled ~ .form-file-label .form-file-text {\n background-color: #e9ecef;\n}\n\n.form-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n display: flex;\n height: 100%;\n border-color: #ced4da;\n border-radius: 0.25rem;\n}\n\n.form-file-text {\n display: block;\n flex-grow: 1;\n padding: 0.375rem 0.75rem;\n overflow: hidden;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-overflow: ellipsis;\n white-space: nowrap;\n background-color: #fff;\n border-color: inherit;\n border-style: solid;\n border-width: 1px;\n border-top-left-radius: inherit;\n border-bottom-left-radius: inherit;\n}\n\n.form-file-button {\n display: block;\n flex-shrink: 0;\n padding: 0.375rem 0.75rem;\n margin-left: -1px;\n line-height: 1.5;\n color: #495057;\n background-color: #e9ecef;\n border-color: inherit;\n border-style: solid;\n border-width: 1px;\n border-top-right-radius: inherit;\n border-bottom-right-radius: inherit;\n}\n\n.form-file-sm {\n height: calc(1.5em + 0.5rem + 2px);\n font-size: 0.875rem;\n}\n\n.form-file-sm .form-file-text,\n.form-file-sm .form-file-button {\n padding: 0.25rem 0.5rem;\n}\n\n.form-file-lg {\n height: calc(1.5em + 1rem + 2px);\n font-size: 1.25rem;\n}\n\n.form-file-lg .form-file-text,\n.form-file-lg .form-file-button {\n padding: 0.5rem 1rem;\n}\n\n.form-range {\n width: 100%;\n height: 1.4rem;\n padding: 0;\n background-color: transparent;\n appearance: none;\n}\n\n.form-range:focus {\n outline: none;\n}\n\n.form-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-range:focus::-ms-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-range::-moz-focus-outer {\n border: 0;\n}\n\n.form-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: #0d6efd;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-range::-webkit-slider-thumb {\n transition: none;\n }\n}\n\n.form-range::-webkit-slider-thumb:active {\n background-color: #bed8fe;\n}\n\n.form-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.form-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #0d6efd;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-range::-moz-range-thumb {\n transition: none;\n }\n}\n\n.form-range::-moz-range-thumb:active {\n background-color: #bed8fe;\n}\n\n.form-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.form-range::-ms-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: 0;\n margin-right: 0.2rem;\n margin-left: 0.2rem;\n background-color: #0d6efd;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-range::-ms-thumb {\n transition: none;\n }\n}\n\n.form-range::-ms-thumb:active {\n background-color: #bed8fe;\n}\n\n.form-range::-ms-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: transparent;\n border-color: transparent;\n border-width: 0.5rem;\n}\n\n.form-range::-ms-fill-lower {\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.form-range::-ms-fill-upper {\n margin-right: 15px;\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.form-range:disabled {\n pointer-events: none;\n}\n\n.form-range:disabled::-webkit-slider-thumb {\n background-color: #adb5bd;\n}\n\n.form-range:disabled::-moz-range-thumb {\n background-color: #adb5bd;\n}\n\n.form-range:disabled::-ms-thumb {\n background-color: #adb5bd;\n}\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n}\n\n.input-group > .form-control,\n.input-group > .form-select,\n.input-group > .form-file {\n position: relative;\n flex: 1 1 auto;\n width: 1%;\n min-width: 0;\n}\n\n.input-group > .form-control:focus,\n.input-group > .form-select:focus,\n.input-group > .form-file .form-file-input:focus ~ .form-file-label {\n z-index: 3;\n}\n\n.input-group > .form-file > .form-file-input:focus {\n z-index: 4;\n}\n\n.input-group > .form-file:not(:last-child) > .form-file-label {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-file:not(:first-child) > .form-file-label {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group .btn {\n position: relative;\n z-index: 2;\n}\n\n.input-group .btn:focus {\n z-index: 3;\n}\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-lg > .form-control {\n min-height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-select {\n height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .form-select,\n.input-group-lg > .input-group-text,\n.input-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.input-group-sm > .form-control {\n min-height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-select {\n height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .form-select,\n.input-group-sm > .input-group-text,\n.input-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.input-group-lg > .form-select,\n.input-group-sm > .form-select {\n padding-right: 1.75rem;\n}\n\n.input-group > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),\n.input-group > .dropdown-toggle:nth-last-child(n + 3) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > :not(:first-child):not(.dropdown-menu) {\n margin-left: -1px;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: #28a745;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n color: #fff;\n background-color: rgba(40, 167, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :valid ~ .valid-feedback,\n.was-validated :valid ~ .valid-tooltip,\n.is-valid ~ .valid-feedback,\n.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid {\n border-color: #28a745;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .form-select:valid, .form-select.is-valid {\n border-color: #28a745;\n padding-right: calc(0.75em + 2.3125rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\"), url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n background-position: right 0.75rem center, center right 1.75rem;\n background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-select:valid:focus, .form-select.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-check-input:valid, .form-check-input.is-valid {\n border-color: #28a745;\n}\n\n.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {\n background-color: #34ce57;\n}\n\n.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #28a745;\n}\n\n.form-check-inline .form-check-input ~ .valid-feedback {\n margin-left: .5em;\n}\n\n.was-validated .form-file-input:valid ~ .form-file-label, .form-file-input.is-valid ~ .form-file-label {\n border-color: #28a745;\n}\n\n.was-validated .form-file-input:valid:focus ~ .form-file-label, .form-file-input.is-valid:focus ~ .form-file-label {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :invalid ~ .invalid-feedback,\n.was-validated :invalid ~ .invalid-tooltip,\n.is-invalid ~ .invalid-feedback,\n.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: #dc3545;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .form-select:invalid, .form-select.is-invalid {\n border-color: #dc3545;\n padding-right: calc(0.75em + 2.3125rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\"), url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n background-position: right 0.75rem center, center right 1.75rem;\n background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-check-input:invalid, .form-check-input.is-invalid {\n border-color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {\n background-color: #e4606d;\n}\n\n.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dc3545;\n}\n\n.form-check-inline .form-check-input ~ .invalid-feedback {\n margin-left: .5em;\n}\n\n.was-validated .form-file-input:invalid ~ .form-file-label, .form-file-input.is-invalid ~ .form-file-label {\n border-color: #dc3545;\n}\n\n.was-validated .form-file-input:invalid:focus ~ .form-file-label, .form-file-input.is-invalid:focus ~ .form-file-label {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: center;\n text-decoration: none;\n vertical-align: middle;\n cursor: pointer;\n user-select: none;\n background-color: transparent;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n\n.btn:hover {\n color: #212529;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.btn:disabled, .btn.disabled,\nfieldset:disabled .btn {\n pointer-events: none;\n opacity: 0.65;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #025ce2;\n border-color: #0257d5;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n color: #fff;\n background-color: #025ce2;\n border-color: #0257d5;\n box-shadow: 0 0 0 0.2rem rgba(49, 132, 253, 0.5);\n}\n\n.btn-primary:active, .btn-primary.active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0257d5;\n border-color: #0252c9;\n}\n\n.btn-primary:active:focus, .btn-primary.active:focus,\n.show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(49, 132, 253, 0.5);\n}\n\n.btn-primary:disabled, .btn-primary.disabled {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-secondary:active, .btn-secondary.active,\n.show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #545b62;\n border-color: #4e555b;\n}\n\n.btn-secondary:active:focus, .btn-secondary.active:focus,\n.show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-secondary:disabled, .btn-secondary.disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-success {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-success:active, .btn-success.active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #1e7e34;\n border-color: #1c7430;\n}\n\n.btn-success:active:focus, .btn-success.active:focus,\n.show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-success:disabled, .btn-success.disabled {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-info:active, .btn-info.active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #117a8b;\n border-color: #10707f;\n}\n\n.btn-info:active:focus, .btn-info.active:focus,\n.show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-info:disabled, .btn-info.disabled {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-warning {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-warning:active, .btn-warning.active,\n.show > .btn-warning.dropdown-toggle {\n color: #212529;\n background-color: #d39e00;\n border-color: #c69500;\n}\n\n.btn-warning:active:focus, .btn-warning.active:focus,\n.show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-warning:disabled, .btn-warning.disabled {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-danger:active, .btn-danger.active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #bd2130;\n border-color: #b21f2d;\n}\n\n.btn-danger:active:focus, .btn-danger.active:focus,\n.show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-danger:disabled, .btn-danger.disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-light {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-light:active, .btn-light.active,\n.show > .btn-light.dropdown-toggle {\n color: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df;\n}\n\n.btn-light:active:focus, .btn-light.active:focus,\n.show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-light:disabled, .btn-light.disabled {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n}\n\n.btn-dark:focus, .btn-dark.focus {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-dark:active, .btn-dark.active,\n.show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d;\n}\n\n.btn-dark:active:focus, .btn-dark.active:focus,\n.show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-dark:disabled, .btn-dark.disabled {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-primary {\n color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.5);\n}\n\n.btn-outline-primary:active, .btn-outline-primary.active, .btn-outline-primary.dropdown-toggle.show {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-outline-primary:active:focus, .btn-outline-primary.active:focus, .btn-outline-primary.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.5);\n}\n\n.btn-outline-primary:disabled, .btn-outline-primary.disabled {\n color: #0d6efd;\n background-color: transparent;\n}\n\n.btn-outline-secondary {\n color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-secondary:active, .btn-outline-secondary.active, .btn-outline-secondary.dropdown-toggle.show {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:active:focus, .btn-outline-secondary.active:focus, .btn-outline-secondary.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-secondary:disabled, .btn-outline-secondary.disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.btn-outline-success {\n color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success:active, .btn-outline-success.active, .btn-outline-success.dropdown-toggle.show {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:active:focus, .btn-outline-success.active:focus, .btn-outline-success.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success:disabled, .btn-outline-success.disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-info {\n color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info:active, .btn-outline-info.active, .btn-outline-info.dropdown-toggle.show {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:active:focus, .btn-outline-info.active:focus, .btn-outline-info.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info:disabled, .btn-outline-info.disabled {\n color: #17a2b8;\n background-color: transparent;\n}\n\n.btn-outline-warning {\n color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning:active, .btn-outline-warning.active, .btn-outline-warning.dropdown-toggle.show {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:active:focus, .btn-outline-warning.active:focus, .btn-outline-warning.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning:disabled, .btn-outline-warning.disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-danger {\n color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger:active, .btn-outline-danger.active, .btn-outline-danger.dropdown-toggle.show {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:active:focus, .btn-outline-danger.active:focus, .btn-outline-danger.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger:disabled, .btn-outline-danger.disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light:active, .btn-outline-light.active, .btn-outline-light.dropdown-toggle.show {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:active:focus, .btn-outline-light.active:focus, .btn-outline-light.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light:disabled, .btn-outline-light.disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-dark {\n color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark:active, .btn-outline-dark.active, .btn-outline-dark.dropdown-toggle.show {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:active:focus, .btn-outline-dark.active:focus, .btn-outline-dark.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark:disabled, .btn-outline-dark.disabled {\n color: #343a40;\n background-color: transparent;\n}\n\n.btn-link {\n font-weight: 400;\n color: #0d6efd;\n text-decoration: underline;\n}\n\n.btn-link:hover {\n color: #024dbc;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\n.fade {\n transition: opacity 0.15s linear;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\n}\n\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse:not(.show) {\n display: none;\n}\n\n.collapsing {\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n@media (min-width: 576px) {\n .dropdown-menu-sm-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-sm-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 768px) {\n .dropdown-menu-md-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-md-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 992px) {\n .dropdown-menu-lg-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-lg-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 1200px) {\n .dropdown-menu-xl-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xl-right {\n right: 0;\n left: auto;\n }\n}\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: 0.125rem;\n}\n\n.dropright .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropleft .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: 0.125rem;\n}\n\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n\n.dropleft .dropdown-toggle::after {\n display: none;\n}\n\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-menu[x-placement^=\"top\"], .dropdown-menu[x-placement^=\"right\"], .dropdown-menu[x-placement^=\"bottom\"], .dropdown-menu[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1.5rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n text-decoration: none;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n\n.dropdown-item:hover, .dropdown-item:focus {\n color: #16181b;\n background-color: #f8f9fa;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #0d6efd;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: 0.25rem 1.5rem;\n color: #212529;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 1 1 auto;\n}\n\n.btn-group > .btn:hover, .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:hover,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) {\n margin-left: -1px;\n}\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n\n.dropdown-toggle-split::after,\n.dropup .dropdown-toggle-split::after,\n.dropright .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle-split::before {\n margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: -1px;\n}\n\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group-toggle > .btn,\n.btn-group-toggle > .btn-group > .btn {\n margin-bottom: 0;\n}\n\n.btn-group-toggle > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn input[type=\"checkbox\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #6c757d;\n pointer-events: none;\n cursor: default;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n}\n\n.nav-tabs .nav-link {\n margin-bottom: -1px;\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6 #dee2e6 #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #0d6efd;\n}\n\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar > .container,\n.navbar > .container-fluid, .navbar > .container-sm, .navbar > .container-md, .navbar > .container-lg, .navbar > .container-xl {\n display: flex;\n flex-wrap: inherit;\n align-items: center;\n justify-content: space-between;\n}\n\n.navbar-brand {\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n white-space: nowrap;\n}\n\n.navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static;\n}\n\n.navbar-text {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n align-items: center;\n width: 100%;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n transition: box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .navbar-toggler {\n transition: none;\n }\n}\n\n.navbar-toggler:hover {\n text-decoration: none;\n}\n\n.navbar-toggler:focus {\n text-decoration: none;\n outline: 0;\n box-shadow: 0 0 0 0.2rem;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n background-repeat: no-repeat;\n background-position: center;\n background-size: 100%;\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-expand {\n flex-wrap: nowrap;\n justify-content: flex-start;\n}\n\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.navbar-expand .navbar-collapse {\n display: flex !important;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.55);\n}\n\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.55);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.55);\n}\n\n.navbar-light .navbar-text a,\n.navbar-light .navbar-text a:hover,\n.navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.55);\n}\n\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.55);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.55);\n}\n\n.navbar-dark .navbar-text a,\n.navbar-dark .navbar-text a:hover,\n.navbar-dark .navbar-text a:focus {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n\n.card > .list-group:first-child .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.card > .list-group:last-child .list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.card-body {\n flex: 1 1 auto;\n padding: 1.25rem 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-header + .list-group .list-group-item:first-child {\n border-top: 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n width: 100%;\n}\n\n.card-img,\n.card-img-top {\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img,\n.card-img-bottom {\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-group > .card {\n margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n .card-group {\n display: flex;\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-top,\n .card-group > .card:not(:last-child) .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-bottom,\n .card-group > .card:not(:last-child) .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-top,\n .card-group > .card:not(:first-child) .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-bottom,\n .card-group > .card:not(:first-child) .card-footer {\n border-bottom-left-radius: 0;\n }\n}\n\n.accordion > .card {\n overflow: hidden;\n}\n\n.accordion > .card:not(:last-of-type) {\n border-bottom: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.accordion > .card:not(:first-of-type) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.accordion > .card > .card-header {\n border-radius: 0;\n margin-bottom: -1px;\n}\n\n.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item {\n display: flex;\n}\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: 0.5rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n color: #6c757d;\n content: \"/\";\n}\n\n.breadcrumb-item.active {\n color: #6c757d;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n}\n\n.page-link {\n position: relative;\n display: block;\n color: #0d6efd;\n text-decoration: none;\n background-color: #fff;\n border: 1px solid #dee2e6;\n}\n\n.page-link:hover {\n z-index: 2;\n color: #024dbc;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.page-link:focus {\n z-index: 3;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.page-item:not(:first-child) .page-link {\n margin-left: -1px;\n}\n\n.page-item.active .page-link {\n z-index: 3;\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff;\n border-color: #dee2e6;\n}\n\n.page-link {\n padding: 0.375rem 0.75rem;\n}\n\n.page-item:first-child .page-link {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.5em;\n font-size: 0.75em;\n font-weight: 700;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible {\n padding-right: 4rem;\n}\n\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-primary {\n color: #073984;\n background-color: #cfe2ff;\n border-color: #bbd6fe;\n}\n\n.alert-primary .alert-link {\n color: #042454;\n}\n\n.alert-secondary {\n color: #383d41;\n background-color: #e2e3e5;\n border-color: #d6d8db;\n}\n\n.alert-secondary .alert-link {\n color: #202326;\n}\n\n.alert-success {\n color: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info .alert-link {\n color: #062c33;\n}\n\n.alert-warning {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}\n\n.alert-warning .alert-link {\n color: #533f03;\n}\n\n.alert-danger {\n color: #721c24;\n background-color: #f8d7da;\n border-color: #f5c6cb;\n}\n\n.alert-danger .alert-link {\n color: #491217;\n}\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light .alert-link {\n color: #686868;\n}\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca;\n}\n\n.alert-dark .alert-link {\n color: #040505;\n}\n\n@keyframes progress-bar-stripes {\n 0% {\n background-position-x: 1rem;\n }\n}\n\n.progress {\n display: flex;\n height: 1rem;\n overflow: hidden;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n background-color: #0d6efd;\n transition: width 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n animation: none;\n }\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n\n.list-group-item-action:hover, .list-group-item-action:focus {\n z-index: 1;\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n text-decoration: none;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.list-group-item + .list-group-item {\n border-top-width: 0;\n}\n\n.list-group-item + .list-group-item.active {\n margin-top: -1px;\n border-top-width: 1px;\n}\n\n.list-group-horizontal {\n flex-direction: row;\n}\n\n.list-group-horizontal .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n}\n\n.list-group-horizontal .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n}\n\n.list-group-horizontal .list-group-item.active {\n margin-top: 0;\n}\n\n.list-group-horizontal .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n}\n\n.list-group-horizontal .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n}\n\n@media (min-width: 576px) {\n .list-group-horizontal-sm {\n flex-direction: row;\n }\n .list-group-horizontal-sm .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-sm .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-sm .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-sm .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-sm .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 768px) {\n .list-group-horizontal-md {\n flex-direction: row;\n }\n .list-group-horizontal-md .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-md .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-md .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-md .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-md .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 992px) {\n .list-group-horizontal-lg {\n flex-direction: row;\n }\n .list-group-horizontal-lg .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-lg .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-lg .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-lg .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-lg .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 1200px) {\n .list-group-horizontal-xl {\n flex-direction: row;\n }\n .list-group-horizontal-xl .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xl .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xl .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xl .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-xl .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n.list-group-flush .list-group-item {\n border-right-width: 0;\n border-left-width: 0;\n border-radius: 0;\n}\n\n.list-group-flush .list-group-item:first-child {\n border-top-width: 0;\n}\n\n.list-group-flush:last-child .list-group-item:last-child {\n border-bottom-width: 0;\n}\n\n.list-group-item-primary {\n color: #073984;\n background-color: #bbd6fe;\n}\n\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #073984;\n background-color: #a2c7fe;\n}\n\n.list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #073984;\n border-color: #073984;\n}\n\n.list-group-item-secondary {\n color: #383d41;\n background-color: #d6d8db;\n}\n\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #383d41;\n background-color: #c8cbcf;\n}\n\n.list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #383d41;\n border-color: #383d41;\n}\n\n.list-group-item-success {\n color: #155724;\n background-color: #c3e6cb;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #155724;\n background-color: #b1dfbb;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #0c5460;\n background-color: #abdde5;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\n}\n\n.list-group-item-warning {\n color: #856404;\n background-color: #ffeeba;\n}\n\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #856404;\n background-color: #ffe8a1;\n}\n\n.list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #856404;\n border-color: #856404;\n}\n\n.list-group-item-danger {\n color: #721c24;\n background-color: #f5c6cb;\n}\n\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #721c24;\n background-color: #f1b0b7;\n}\n\n.list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #721c24;\n border-color: #721c24;\n}\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe;\n}\n\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #818182;\n background-color: #ececf6;\n}\n\n.list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182;\n}\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca;\n}\n\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #1b1e21;\n background-color: #b9bbbe;\n}\n\n.list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21;\n}\n\n.close {\n font-size: calc(1.275rem + 0.3vw);\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n@media (min-width: 1200px) {\n .close {\n font-size: 1.5rem;\n }\n}\n\n.close:hover {\n color: #000;\n text-decoration: none;\n}\n\n.close:hover, .close:focus {\n opacity: .75;\n}\n\n.close:disabled, .close.disabled {\n pointer-events: none;\n}\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n appearance: none;\n}\n\n.toast {\n max-width: 350px;\n overflow: hidden;\n font-size: 0.875rem;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n backdrop-filter: blur(10px);\n opacity: 0;\n border-radius: 0.25rem;\n}\n\n.toast:not(:last-child) {\n margin-bottom: 0.75rem;\n}\n\n.toast.showing {\n opacity: 1;\n}\n\n.toast.show {\n display: block;\n opacity: 1;\n}\n\n.toast.hide {\n display: none;\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: 0.25rem 0.75rem;\n color: #6c757d;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n}\n\n.toast-body {\n padding: 0.75rem;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1050;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n outline: 0;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -50px);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n\n.modal.show .modal-dialog {\n transform: none;\n}\n\n.modal.modal-static .modal-dialog {\n transform: scale(1.02);\n}\n\n.modal-dialog-scrollable {\n max-height: calc(100% - 1rem);\n}\n\n.modal-dialog-scrollable .modal-content {\n overflow: hidden;\n}\n\n.modal-dialog-scrollable .modal-header,\n.modal-dialog-scrollable .modal-footer {\n flex-shrink: 0;\n}\n\n.modal-dialog-scrollable .modal-body {\n overflow-y: auto;\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - 1rem);\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1040;\n width: 100vw;\n height: 100vh;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n padding: 1rem 1rem;\n border-bottom: 1px solid #dee2e6;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.modal-header .close {\n padding: 1rem 1rem;\n margin: -1rem -1rem -1rem auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 1rem;\n}\n\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: flex-end;\n padding: 0.75rem;\n border-top: 1px solid #dee2e6;\n border-bottom-right-radius: calc(0.3rem - 1px);\n border-bottom-left-radius: calc(0.3rem - 1px);\n}\n\n.modal-footer > * {\n margin: 0.25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto;\n }\n .modal-dialog-scrollable {\n max-height: calc(100% - 3.5rem);\n }\n .modal-dialog-centered {\n min-height: calc(100% - 3.5rem);\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg,\n .modal-xl {\n max-width: 800px;\n }\n}\n\n@media (min-width: 1200px) {\n .modal-xl {\n max-width: 1140px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .tooltip-arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n\n.tooltip .tooltip-arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"top\"] .tooltip-arrow {\n bottom: 0;\n}\n\n.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .tooltip-arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000;\n}\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-right .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"right\"] .tooltip-arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-right .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .tooltip-arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .tooltip-arrow {\n top: 0;\n}\n\n.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .tooltip-arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000;\n}\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-left .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"left\"] .tooltip-arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-left .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .tooltip-arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .popover-arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem;\n}\n\n.popover .popover-arrow::before, .popover .popover-arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem;\n}\n\n.bs-popover-top > .popover-arrow, .bs-popover-auto[x-placement^=\"top\"] > .popover-arrow {\n bottom: calc(-0.5rem - 1px);\n}\n\n.bs-popover-top > .popover-arrow::before, .bs-popover-auto[x-placement^=\"top\"] > .popover-arrow::before {\n bottom: 0;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-top > .popover-arrow::after, .bs-popover-auto[x-placement^=\"top\"] > .popover-arrow::after {\n bottom: 1px;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: #fff;\n}\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem;\n}\n\n.bs-popover-right > .popover-arrow, .bs-popover-auto[x-placement^=\"right\"] > .popover-arrow {\n left: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-right > .popover-arrow::before, .bs-popover-auto[x-placement^=\"right\"] > .popover-arrow::before {\n left: 0;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-right > .popover-arrow::after, .bs-popover-auto[x-placement^=\"right\"] > .popover-arrow::after {\n left: 1px;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: #fff;\n}\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem;\n}\n\n.bs-popover-bottom > .popover-arrow, .bs-popover-auto[x-placement^=\"bottom\"] > .popover-arrow {\n top: calc(-0.5rem - 1px);\n}\n\n.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] > .popover-arrow::before {\n top: 0;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] > .popover-arrow::after {\n top: 1px;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: #fff;\n}\n\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem;\n}\n\n.bs-popover-left > .popover-arrow, .bs-popover-auto[x-placement^=\"left\"] > .popover-arrow {\n right: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-left > .popover-arrow::before, .bs-popover-auto[x-placement^=\"left\"] > .popover-arrow::before {\n right: 0;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-left > .popover-arrow::after, .bs-popover-auto[x-placement^=\"left\"] > .popover-arrow::after {\n right: 1px;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 0.5rem 0.75rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-inner::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n transition: transform 0.6s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n}\n\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n}\n\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n transition: opacity 0s 0.6s;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-left,\n .carousel-fade .active.carousel-item-right {\n transition: none;\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n transition: opacity 0.15s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n transition: none;\n }\n}\n\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: 0.9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background-repeat: no-repeat;\n background-position: 50%;\n background-size: 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #fff;\n background-clip: padding-box;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n opacity: 0.5;\n transition: opacity 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-indicators li {\n transition: none;\n }\n}\n\n.carousel-indicators .active {\n opacity: 1;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 1.25rem;\n left: 15%;\n padding-top: 1.25rem;\n padding-bottom: 1.25rem;\n color: #fff;\n text-align: center;\n}\n\n@keyframes spinner-border {\n to {\n transform: rotate(360deg);\n }\n}\n\n.spinner-border {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n border: 0.25em solid currentColor;\n border-right-color: transparent;\n border-radius: 50%;\n animation: spinner-border 0.75s linear infinite;\n}\n\n.spinner-border-sm {\n width: 1rem;\n height: 1rem;\n border-width: 0.2em;\n}\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n background-color: currentColor;\n border-radius: 50%;\n opacity: 0;\n animation: spinner-grow 0.75s linear infinite;\n}\n\n.spinner-grow-sm {\n width: 1rem;\n height: 1rem;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.link-primary {\n color: #0d6efd;\n}\n\n.link-primary:hover, .link-primary:focus {\n color: #024dbc;\n}\n\n.link-secondary {\n color: #6c757d;\n}\n\n.link-secondary:hover, .link-secondary:focus {\n color: #494f54;\n}\n\n.link-success {\n color: #28a745;\n}\n\n.link-success:hover, .link-success:focus {\n color: #19692c;\n}\n\n.link-info {\n color: #17a2b8;\n}\n\n.link-info:hover, .link-info:focus {\n color: #0f6674;\n}\n\n.link-warning {\n color: #ffc107;\n}\n\n.link-warning:hover, .link-warning:focus {\n color: #ba8b00;\n}\n\n.link-danger {\n color: #dc3545;\n}\n\n.link-danger:hover, .link-danger:focus {\n color: #a71d2a;\n}\n\n.link-light {\n color: #f8f9fa;\n}\n\n.link-light:hover, .link-light:focus {\n color: #cbd3da;\n}\n\n.link-dark {\n color: #343a40;\n}\n\n.link-dark:hover, .link-dark:focus {\n color: #121416;\n}\n\n.embed-responsive {\n position: relative;\n width: 100%;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n@supports (position: sticky) {\n .sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n @media (min-width: 576px) {\n .sticky-sm-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n }\n @media (min-width: 768px) {\n .sticky-md-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n }\n @media (min-width: 992px) {\n .sticky-lg-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n }\n @media (min-width: 1200px) {\n .sticky-xl-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n }\n}\n\n.sr-only,\n.sr-only-focusable:not(:focus) {\n position: absolute !important;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important;\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n}\n\n.stretched-link::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n content: \"\";\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: sticky !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #0d6efd !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mr-3 {\n margin-right: 1rem !important;\n}\n\n.mr-4 {\n margin-right: 1.5rem !important;\n}\n\n.mr-5 {\n margin-right: 3rem !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.ml-3 {\n margin-left: 1rem !important;\n}\n\n.ml-4 {\n margin-left: 1.5rem !important;\n}\n\n.ml-5 {\n margin-left: 3rem !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mx-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n}\n\n.mx-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n}\n\n.mx-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n}\n\n.mx-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n}\n\n.mx-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n}\n\n.my-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n}\n\n.my-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n}\n\n.my-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n}\n\n.my-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n}\n\n.my-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n}\n\n.mt-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mt-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mt-n3 {\n margin-top: -1rem !important;\n}\n\n.mt-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mt-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mr-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mr-n3 {\n margin-right: -1rem !important;\n}\n\n.mr-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mr-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.mb-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.mb-n3 {\n margin-bottom: -1rem !important;\n}\n\n.mb-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.mb-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n1 {\n margin-left: -0.25rem !important;\n}\n\n.ml-n2 {\n margin-left: -0.5rem !important;\n}\n\n.ml-n3 {\n margin-left: -1rem !important;\n}\n\n.ml-n4 {\n margin-left: -1.5rem !important;\n}\n\n.ml-n5 {\n margin-left: -3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pr-3 {\n padding-right: 1rem !important;\n}\n\n.pr-4 {\n padding-right: 1.5rem !important;\n}\n\n.pr-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.pl-3 {\n padding-left: 1rem !important;\n}\n\n.pl-4 {\n padding-left: 1.5rem !important;\n}\n\n.pl-5 {\n padding-left: 3rem !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-lighter {\n font-weight: lighter !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-weight-bolder {\n font-weight: bolder !important;\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n.text-primary {\n color: #0d6efd !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\n.text-success {\n color: #28a745 !important;\n}\n\n.text-info {\n color: #17a2b8 !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-reset {\n color: inherit !important;\n}\n\n.lh-1 {\n line-height: 1 !important;\n}\n\n.lh-sm {\n line-height: 1.25 !important;\n}\n\n.lh-base {\n line-height: 1.5 !important;\n}\n\n.lh-lg {\n line-height: 2 !important;\n}\n\n.bg-primary {\n background-color: #0d6efd !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\n.bg-success {\n background-color: #28a745 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\n.bg-body {\n background-color: #fff !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.text-decoration-underline {\n text-decoration: underline !important;\n}\n\n.text-decoration-line-through {\n text-decoration: line-through !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.font-normal {\n font-style: normal !important;\n}\n\n.text-break {\n word-wrap: break-word !important;\n}\n\n.font-monospace {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !important;\n}\n\n.user-select-all {\n user-select: all !important;\n}\n\n.user-select-auto {\n user-select: auto !important;\n}\n\n.user-select-none {\n user-select: none !important;\n}\n\n.pe-none {\n pointer-events: none !important;\n}\n\n.pe-auto {\n pointer-events: auto !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-sm {\n border-radius: 0.2rem !important;\n}\n\n.rounded-lg {\n border-radius: 0.3rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: 50rem !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-bottom-left-radius: 0.25rem !important;\n border-top-left-radius: 0.25rem !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-0 {\n margin-right: 0 !important;\n }\n .mr-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mr-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mr-sm-3 {\n margin-right: 1rem !important;\n }\n .mr-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mr-sm-5 {\n margin-right: 3rem !important;\n }\n .mr-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-0 {\n margin-left: 0 !important;\n }\n .ml-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ml-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ml-sm-3 {\n margin-left: 1rem !important;\n }\n .ml-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ml-sm-5 {\n margin-left: 3rem !important;\n }\n .ml-sm-auto {\n margin-left: auto !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-sm-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-sm-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-sm-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-sm-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-sm-n3 {\n margin-top: -1rem !important;\n }\n .mt-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-sm-n3 {\n margin-right: -1rem !important;\n }\n .mr-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-sm-n3 {\n margin-left: -1rem !important;\n }\n .ml-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-sm-n5 {\n margin-left: -3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-0 {\n padding-right: 0 !important;\n }\n .pr-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pr-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pr-sm-3 {\n padding-right: 1rem !important;\n }\n .pr-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pr-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-0 {\n padding-left: 0 !important;\n }\n .pl-sm-1 {\n padding-left: 0.25rem !important;\n }\n .pl-sm-2 {\n padding-left: 0.5rem !important;\n }\n .pl-sm-3 {\n padding-left: 1rem !important;\n }\n .pl-sm-4 {\n padding-left: 1.5rem !important;\n }\n .pl-sm-5 {\n padding-left: 3rem !important;\n }\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .mr-md-0 {\n margin-right: 0 !important;\n }\n .mr-md-1 {\n margin-right: 0.25rem !important;\n }\n .mr-md-2 {\n margin-right: 0.5rem !important;\n }\n .mr-md-3 {\n margin-right: 1rem !important;\n }\n .mr-md-4 {\n margin-right: 1.5rem !important;\n }\n .mr-md-5 {\n margin-right: 3rem !important;\n }\n .mr-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-0 {\n margin-left: 0 !important;\n }\n .ml-md-1 {\n margin-left: 0.25rem !important;\n }\n .ml-md-2 {\n margin-left: 0.5rem !important;\n }\n .ml-md-3 {\n margin-left: 1rem !important;\n }\n .ml-md-4 {\n margin-left: 1.5rem !important;\n }\n .ml-md-5 {\n margin-left: 3rem !important;\n }\n .ml-md-auto {\n margin-left: auto !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-md-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-md-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-md-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-md-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-md-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-md-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-md-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-md-n3 {\n margin-top: -1rem !important;\n }\n .mt-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-md-n3 {\n margin-right: -1rem !important;\n }\n .mr-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-md-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-md-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-md-n3 {\n margin-left: -1rem !important;\n }\n .ml-md-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-md-n5 {\n margin-left: -3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-0 {\n padding-right: 0 !important;\n }\n .pr-md-1 {\n padding-right: 0.25rem !important;\n }\n .pr-md-2 {\n padding-right: 0.5rem !important;\n }\n .pr-md-3 {\n padding-right: 1rem !important;\n }\n .pr-md-4 {\n padding-right: 1.5rem !important;\n }\n .pr-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-0 {\n padding-left: 0 !important;\n }\n .pl-md-1 {\n padding-left: 0.25rem !important;\n }\n .pl-md-2 {\n padding-left: 0.5rem !important;\n }\n .pl-md-3 {\n padding-left: 1rem !important;\n }\n .pl-md-4 {\n padding-left: 1.5rem !important;\n }\n .pl-md-5 {\n padding-left: 3rem !important;\n }\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-0 {\n margin-right: 0 !important;\n }\n .mr-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mr-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mr-lg-3 {\n margin-right: 1rem !important;\n }\n .mr-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mr-lg-5 {\n margin-right: 3rem !important;\n }\n .mr-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-0 {\n margin-left: 0 !important;\n }\n .ml-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ml-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ml-lg-3 {\n margin-left: 1rem !important;\n }\n .ml-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ml-lg-5 {\n margin-left: 3rem !important;\n }\n .ml-lg-auto {\n margin-left: auto !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-lg-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-lg-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-lg-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-lg-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-lg-n3 {\n margin-top: -1rem !important;\n }\n .mt-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-lg-n3 {\n margin-right: -1rem !important;\n }\n .mr-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-lg-n3 {\n margin-left: -1rem !important;\n }\n .ml-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-lg-n5 {\n margin-left: -3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-0 {\n padding-right: 0 !important;\n }\n .pr-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pr-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pr-lg-3 {\n padding-right: 1rem !important;\n }\n .pr-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pr-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-0 {\n padding-left: 0 !important;\n }\n .pl-lg-1 {\n padding-left: 0.25rem !important;\n }\n .pl-lg-2 {\n padding-left: 0.5rem !important;\n }\n .pl-lg-3 {\n padding-left: 1rem !important;\n }\n .pl-lg-4 {\n padding-left: 1.5rem !important;\n }\n .pl-lg-5 {\n padding-left: 3rem !important;\n }\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-0 {\n margin-right: 0 !important;\n }\n .mr-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mr-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mr-xl-3 {\n margin-right: 1rem !important;\n }\n .mr-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mr-xl-5 {\n margin-right: 3rem !important;\n }\n .mr-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-0 {\n margin-left: 0 !important;\n }\n .ml-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ml-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ml-xl-3 {\n margin-left: 1rem !important;\n }\n .ml-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ml-xl-5 {\n margin-left: 3rem !important;\n }\n .ml-xl-auto {\n margin-left: auto !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-xl-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-xl-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-xl-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-xl-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-xl-n3 {\n margin-top: -1rem !important;\n }\n .mt-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-xl-n3 {\n margin-right: -1rem !important;\n }\n .mr-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-xl-n3 {\n margin-left: -1rem !important;\n }\n .ml-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-xl-n5 {\n margin-left: -3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-0 {\n padding-right: 0 !important;\n }\n .pr-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pr-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pr-xl-3 {\n padding-right: 1rem !important;\n }\n .pr-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pr-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-0 {\n padding-left: 0 !important;\n }\n .pl-xl-1 {\n padding-left: 0.25rem !important;\n }\n .pl-xl-2 {\n padding-left: 0.5rem !important;\n }\n .pl-xl-3 {\n padding-left: 1rem !important;\n }\n .pl-xl-4 {\n padding-left: 1.5rem !important;\n }\n .pl-xl-5 {\n padding-left: 3rem !important;\n }\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */",":root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$color}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --font-family-sans-serif: #{inspect($font-family-sans-serif)};\n --font-family-monospace: #{inspect($font-family-monospace)};\n}\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n\n// Root\n//\n// Ability to the value of the root font sizes, affecting the value of `rem`.\n// null by default, thus nothing is generated.\n\n:root {\n font-size: $font-size-root;\n}\n\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Prevent adjustments of font size after orientation changes in iOS.\n// 4. Change the default tap highlight to be completely transparent in iOS.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: $body-text-align;\n background-color: $body-bg; // 2\n -webkit-text-size-adjust: 100%; // 3\n -webkit-tap-highlight-color: rgba($black, 0); // 4\n}\n\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Reset Firefox's gray color\n// 2. Set correct height and prevent the `size` attribute to make the `hr` look like an input field\n// See https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_hr_size\n\nhr {\n margin: $hr-margin-y 0;\n color: $hr-color; // 1\n background-color: currentColor;\n border: 0;\n opacity: $hr-opacity;\n}\n\nhr:not([size]) {\n height: $hr-height; // 2\n}\n\n\n// Typography\n//\n// 1. Remove top margins from headings\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n\n%heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1 {\n @extend %heading;\n @include font-size($h1-font-size);\n}\n\nh2 {\n @extend %heading;\n @include font-size($h2-font-size);\n}\n\nh3 {\n @extend %heading;\n @include font-size($h3-font-size);\n}\n\nh4 {\n @extend %heading;\n @include font-size($h4-font-size);\n}\n\nh5 {\n @extend %heading;\n @include font-size($h5-font-size);\n}\n\nh6 {\n @extend %heading;\n @include font-size($h6-font-size);\n}\n\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\n\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n text-decoration-skip-ink: none; // 4\n}\n\n\n// Address\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\n\n// Lists\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\n// 1. Undo browser default\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // 1\n}\n\n\n// Blockquote\n\nblockquote {\n margin: 0 0 1rem;\n}\n\n\n// Strong\n//\n// Add the correct font weight in Chrome, Edge, and Safari\n\nb,\nstrong {\n font-weight: $font-weight-bolder;\n}\n\n\n// Small\n//\n// Add the correct font size in all browsers\n\nsmall {\n @include font-size($small-font-size);\n}\n\n\n// Mark\n\nmark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n// Sub and Sup\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n\nsub,\nsup {\n position: relative;\n @include font-size($sub-sup-font-size);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n// Links\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n\n &:hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n// Code\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\n// 1. Remove browser default top margin\n// 2. Reset browser default of `1em` to use `rem`s\n// 3. Don't allow content to break outside\n\npre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n\n kbd {\n padding: 0;\n @include font-size(1em);\n font-weight: $nested-kbd-font-weight;\n }\n}\n\n\n// Figures\n//\n// Apply a consistent margin strategy (matches our type styles).\n\nfigure {\n margin: 0 0 1rem;\n}\n\n\n// Images and content\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\n\n// Tables\n//\n// Prevent double borders\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n}\n\n// 1. Matches default `<td>` alignment by inheriting `text-align`.\n// 2. Fix alignment for Safari\n\nth {\n text-align: inherit; // 1\n text-align: -webkit-match-parent; // 2\n}\n\n\n// Forms\n//\n// 1. Allow labels to use `margin` for spacing.\n\nlabel {\n display: inline-block; // 1\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n// See https://github.com/twbs/bootstrap/issues/24093\n\nbutton {\n // stylelint-disable-next-line property-blacklist\n border-radius: 0;\n}\n\n// Work around a Firefox bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n// Credit https://github.com/suitcss/base/\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\n// 1. Remove the margin in Firefox and Safari\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // 1\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\n// Show the overflow in Edge\n\nbutton,\ninput {\n overflow: visible;\n}\n\n// Remove the inheritance of text transform in Firefox\n\nbutton,\nselect {\n text-transform: none;\n}\n\n// Remove the inheritance of word-wrap in Safari.\n// See https://github.com/twbs/bootstrap/issues/24990\n\nselect {\n word-wrap: normal;\n}\n\n// Remove the dropdown arrow in Chrome from inputs built with datalists.\n// See https://stackoverflow.com/a/54997118\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n// 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n\n @if $enable-pointer-cursor-for-buttons {\n &:not(:disabled) {\n cursor: pointer; // 3\n }\n }\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\n// Remove the default appearance of temporal inputs to avoid a Mobile Safari\n// bug where setting a custom line-height prevents text from being vertically\n// centered within the input.\n// See https://bugs.webkit.org/show_bug.cgi?id=139848\n// and https://github.com/twbs/bootstrap/issues/11266\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: textfield;\n}\n\n// 1. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\ntextarea {\n resize: vertical; // 1\n}\n\n// 1. Browsers set a default `min-width: min-content;` on fieldsets,\n// unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n// So we reset that to ensure fieldsets behave more like a standard block element.\n// See https://github.com/twbs/bootstrap/issues/12359\n// and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n// 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\nfieldset {\n min-width: 0; // 1\n padding: 0; // 2\n margin: 0; // 2\n border: 0; // 2\n}\n\n// 1. By using `float: left`, the legend will behave like a block element.\n// This way the border of a fieldset wraps around the legend if present.\n// 2. Correct the text wrapping in Edge.\n// 3. Fix wrapping bug.\n// See https://github.com/twbs/bootstrap/issues/29712\n\nlegend {\n float: left; // 1\n width: 100%;\n padding: 0;\n margin-bottom: $legend-margin-bottom;\n @include font-size($legend-font-size);\n font-weight: $legend-font-weight;\n line-height: inherit;\n white-space: normal; // 2\n\n + * {\n clear: left; // 3\n }\n}\n\n// Fix height of inputs with a type of datetime-local, date, month, week, or time\n// See https://github.com/twbs/bootstrap/issues/18842\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n// 1. Correct the outline style in Safari.\n// 2. This overrides the extra rounded corners on search inputs in iOS so that our\n// `.form-control` class can properly style them. Note that this cannot simply\n// be added to `.form-control` as it's not specific enough. For details, see\n// https://github.com/twbs/bootstrap/issues/11586.\n\n[type=\"search\"] {\n outline-offset: -2px; // 1\n -webkit-appearance: textfield; // 2\n}\n\n// Remove the inner padding in Chrome and Safari on macOS.\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n// Remove padding around color pickers in webkit browsers\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n// 1. Change font properties to `inherit` in Safari.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n\n::-webkit-file-upload-button {\n font: inherit; // 1\n -webkit-appearance: button; // 2\n}\n\n// Correct element displays\n\noutput {\n display: inline-block;\n}\n\n\n// Summary\n//\n// 1. Add the correct display in all browsers\n\nsummary {\n display: list-item; // 1\n cursor: pointer;\n}\n\n\n// Progress\n//\n// Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\nprogress {\n vertical-align: baseline;\n}\n\n\n// Hidden attribute\n//\n// Always hide an element with the `hidden` HTML attribute.\n\n[hidden] {\n display: none !important;\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n// fusv-disable\n$grays: (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n) !default;\n// fusv-enable\n\n$blue: #0d6efd !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #d63384 !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n) !default;\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n) !default;\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The contrast ratio to reach against white, to determine if color changes from \"light\" to \"dark\". Acceptable values for WCAG 2.0 are 3, 4.5 and 7.\n// See https://www.w3.org/TR/WCAG20/#visual-audio-contrast-contrast\n$min-contrast-ratio: 3 !default;\n\n// Customize the light and dark text colors for use in our color contrast function.\n$color-contrast-dark: $gray-900 !default;\n$color-contrast-light: $white !default;\n\n// fusv-disable\n$blue-100: tint-color($blue, 8) !default;\n$blue-200: tint-color($blue, 6) !default;\n$blue-300: tint-color($blue, 4) !default;\n$blue-400: tint-color($blue, 2) !default;\n$blue-500: $blue !default;\n$blue-600: shade-color($blue, 2) !default;\n$blue-700: shade-color($blue, 4) !default;\n$blue-800: shade-color($blue, 6) !default;\n$blue-900: shade-color($blue, 8) !default;\n\n$indigo-100: tint-color($indigo, 8) !default;\n$indigo-200: tint-color($indigo, 6) !default;\n$indigo-300: tint-color($indigo, 4) !default;\n$indigo-400: tint-color($indigo, 2) !default;\n$indigo-500: $indigo !default;\n$indigo-600: shade-color($indigo, 2) !default;\n$indigo-700: shade-color($indigo, 4) !default;\n$indigo-800: shade-color($indigo, 6) !default;\n$indigo-900: shade-color($indigo, 8) !default;\n\n$purple-100: tint-color($purple, 8) !default;\n$purple-200: tint-color($purple, 6) !default;\n$purple-300: tint-color($purple, 4) !default;\n$purple-400: tint-color($purple, 2) !default;\n$purple-500: $purple !default;\n$purple-600: shade-color($purple, 2) !default;\n$purple-700: shade-color($purple, 4) !default;\n$purple-800: shade-color($purple, 6) !default;\n$purple-900: shade-color($purple, 8) !default;\n\n$pink-100: tint-color($pink, 8) !default;\n$pink-200: tint-color($pink, 6) !default;\n$pink-300: tint-color($pink, 4) !default;\n$pink-400: tint-color($pink, 2) !default;\n$pink-500: $pink !default;\n$pink-600: shade-color($pink, 2) !default;\n$pink-700: shade-color($pink, 4) !default;\n$pink-800: shade-color($pink, 6) !default;\n$pink-900: shade-color($pink, 8) !default;\n\n$red-100: tint-color($red, 8) !default;\n$red-200: tint-color($red, 6) !default;\n$red-300: tint-color($red, 4) !default;\n$red-400: tint-color($red, 2) !default;\n$red-500: $red !default;\n$red-600: shade-color($red, 2) !default;\n$red-700: shade-color($red, 4) !default;\n$red-800: shade-color($red, 6) !default;\n$red-900: shade-color($red, 8) !default;\n\n$orange-100: tint-color($orange, 8) !default;\n$orange-200: tint-color($orange, 6) !default;\n$orange-300: tint-color($orange, 4) !default;\n$orange-400: tint-color($orange, 2) !default;\n$orange-500: $orange !default;\n$orange-600: shade-color($orange, 2) !default;\n$orange-700: shade-color($orange, 4) !default;\n$orange-800: shade-color($orange, 6) !default;\n$orange-900: shade-color($orange, 8) !default;\n\n$yellow-100: tint-color($yellow, 8) !default;\n$yellow-200: tint-color($yellow, 6) !default;\n$yellow-300: tint-color($yellow, 4) !default;\n$yellow-400: tint-color($yellow, 2) !default;\n$yellow-500: $yellow !default;\n$yellow-600: shade-color($yellow, 2) !default;\n$yellow-700: shade-color($yellow, 4) !default;\n$yellow-800: shade-color($yellow, 6) !default;\n$yellow-900: shade-color($yellow, 8) !default;\n\n$green-100: tint-color($green, 8) !default;\n$green-200: tint-color($green, 6) !default;\n$green-300: tint-color($green, 4) !default;\n$green-400: tint-color($green, 2) !default;\n$green-500: $green !default;\n$green-600: shade-color($green, 2) !default;\n$green-700: shade-color($green, 4) !default;\n$green-800: shade-color($green, 6) !default;\n$green-900: shade-color($green, 8) !default;\n\n$teal-100: tint-color($teal, 8) !default;\n$teal-200: tint-color($teal, 6) !default;\n$teal-300: tint-color($teal, 4) !default;\n$teal-400: tint-color($teal, 2) !default;\n$teal-500: $teal !default;\n$teal-600: shade-color($teal, 2) !default;\n$teal-700: shade-color($teal, 4) !default;\n$teal-800: shade-color($teal, 6) !default;\n$teal-900: shade-color($teal, 8) !default;\n\n$cyan-100: tint-color($cyan, 8) !default;\n$cyan-200: tint-color($cyan, 6) !default;\n$cyan-300: tint-color($cyan, 4) !default;\n$cyan-400: tint-color($cyan, 2) !default;\n$cyan-500: $cyan !default;\n$cyan-600: shade-color($cyan, 2) !default;\n$cyan-700: shade-color($cyan, 4) !default;\n$cyan-800: shade-color($cyan, 6) !default;\n$cyan-900: shade-color($cyan, 8) !default;\n// fusv-enable\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\",\"%3c\"),\n (\">\",\"%3e\"),\n (\"#\",\"%23\"),\n (\"(\",\"%28\"),\n (\")\",\"%29\"),\n) !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-prefers-reduced-motion-media-query: true !default;\n$enable-grid-classes: true !default;\n$enable-pointer-cursor-for-buttons: true !default;\n$enable-rfs: true !default;\n$enable-validation-icons: true !default;\n$enable-deprecation-messages: true !default;\n$enable-important-utilities: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: (\n 0: 0,\n 1: $spacer * .25,\n 2: $spacer * .5,\n 3: $spacer,\n 4: $spacer * 1.5,\n 5: $spacer * 3,\n) !default;\n\n$negative-spacers: negativify-map($spacers) !default;\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n$body-text-align: null !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: $primary !default;\n$link-decoration: underline !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: null !default;\n// Darken percentage for links with `.text-*` class (e.g. `.text-success`)\n$emphasized-link-hover-darken-percentage: 15% !default;\n\n$stretched-link-pseudo-element: after !default;\n$stretched-link-z-index: 1 !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 1.5rem !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Container padding\n\n$container-padding-x: 1rem !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$rounded-pill: 50rem !default;\n\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n$box-shadow-inset: inset 0 1px 2px rgba($black, .075) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: $primary !default;\n\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n$embed-responsive-aspect-ratios: (\n \"21by9\": (\n x: 21,\n y: 9\n ),\n \"16by9\": (\n x: 16,\n y: 9\n ),\n \"4by3\": (\n x: 4,\n y: 3\n ),\n \"1by1\": (\n x: 1,\n y: 1\n )\n) !default;\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n// $font-size-root effects the value of `rem`, which is used for as well font sizes, paddings and margins\n// $font-size-base effects the font size of the body text\n$font-size-root: null !default;\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: $font-size-base * 1.25 !default;\n$font-size-sm: $font-size-base * .875 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n\n$line-height-base: 1.5 !default;\n$line-height-lg: 2 !default;\n$line-height-sm: 1.25 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: $spacer / 2 !default;\n$headings-font-family: null !default;\n$headings-font-style: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: null !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: .875em !default;\n\n$sub-sup-font-size: .75em !default;\n\n$text-muted: $gray-600 !default;\n\n$initialism-font-size: $small-font-size !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-small-font-size: $small-font-size !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n\n$hr-margin-y: $spacer !default;\n$hr-color: inherit !default;\n$hr-height: $border-width !default;\n$hr-opacity: .25 !default;\n\n$legend-margin-bottom: .5rem !default;\n$legend-font-size: 1.5rem !default;\n$legend-font-weight: null !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .5rem !default;\n$table-cell-padding-sm: .25rem !default;\n\n$table-cell-vertical-align: top !default;\n\n$table-color: $body-color !default;\n$table-bg: null !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-color: $table-color !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n$table-head-border-color: $gray-700 !default;\n\n$table-dark-color: $white !default;\n$table-dark-bg: $gray-800 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-color: $table-dark-color !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($table-dark-bg, 7.5%) !default;\n\n$table-striped-order: odd !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-level: -9 !default;\n$table-border-level: -6 !default;\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color-opacity: .25 !default;\n$input-btn-focus-color: rgba($component-active-bg, $input-btn-focus-color-opacity) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-color: $link-color !default;\n$btn-link-hover-color: $link-hover-color !default;\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$label-margin-bottom: .5rem !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n$input-disabled-border-color: null !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: $box-shadow-inset !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y / 2) !default;\n\n$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n$input-height-sm: add($input-line-height * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n$input-height-lg: add($input-line-height * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n$form-check-input-width: 1.25em !default;\n$form-check-min-height: $font-size-base * $line-height-base !default;\n$form-check-padding-left: $form-check-input-width + .5em !default;\n$form-check-margin-bottom: .125rem !default;\n$form-check-label-color: null !default;\n$form-check-label-cursor: null !default;\n\n$form-check-input-active-filter: brightness(90%) !default;\n\n$form-check-input-bg: $body-bg !default;\n$form-check-input-border: 1px solid rgba(0, 0, 0, .25) !default;\n$form-check-input-border-radius: .25em !default;\n$form-check-radio-border-radius: 50% !default;\n$form-check-input-focus-border: $input-focus-border-color !default;\n$form-check-input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$form-check-input-checked-color: $component-active-color !default;\n$form-check-input-checked-bg-color: $component-active-bg !default;\n$form-check-input-checked-border-color: $form-check-input-checked-bg-color !default;\n$form-check-input-checked-bg-repeat: no-repeat !default;\n$form-check-input-checked-bg-position: center center !default;\n$form-check-input-checked-bg-size: 1em !default;\n$form-check-input-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-check-input-checked-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M4 8.5L6.5 11l6-6'/></svg>\") !default;\n$form-check-radio-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='2' fill='#{$form-check-input-checked-color}'/></svg>\") !default;\n\n$form-check-input-indeterminate-color: $component-active-color !default;\n$form-check-input-indeterminate-bg-color: $component-active-bg !default;\n$form-check-input-indeterminate-border-color: $form-check-input-indeterminate-bg-color !default;\n$form-check-input-indeterminate-bg-repeat: no-repeat !default;\n$form-check-input-indeterminate-bg-position: center center !default;\n$form-check-input-indeterminate-bg-size: 1em !default;\n$form-check-input-indeterminate-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-check-input-indeterminate-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M5 8h6'/></svg>\") !default;\n\n$form-switch-color: rgba(0, 0, 0, .25) !default;\n$form-switch-width: 2em !default;\n$form-switch-padding-left: $form-switch-width + .5em !default;\n$form-switch-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-color}'/></svg>\") !default;\n$form-switch-bg-size: contain !default;\n$form-switch-border-radius: $form-switch-width !default;\n$form-switch-transition: .2s ease-in-out !default;\n$form-switch-transition-property: background-position, background-color !default;\n\n$form-switch-focus-color: hsla(211, 100%, 75%, 1) !default;\n$form-switch-focus-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-focus-color}'/></svg>\") !default;\n\n$form-switch-checked-color: $component-active-color !default;\n$form-switch-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-checked-color}'/></svg>\") !default;\n$form-switch-checked-bg-position: right center !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-inline-margin-right: 1rem !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n\n$form-select-padding-y: $input-padding-y !default;\n$form-select-padding-x: $input-padding-x !default;\n$form-select-font-family: $input-font-family !default;\n$form-select-font-size: $input-font-size !default;\n$form-select-height: $input-height !default;\n$form-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$form-select-font-weight: $input-font-weight !default;\n$form-select-line-height: $input-line-height !default;\n$form-select-color: $input-color !default;\n$form-select-disabled-color: $gray-600 !default;\n$form-select-bg: $input-bg !default;\n$form-select-disabled-bg: $gray-200 !default;\n$form-select-disabled-border-color: $input-disabled-border-color !default;\n$form-select-bg-position: right $form-select-padding-x center !default;\n$form-select-bg-size: 16px 12px !default; // In pixels because image dimensions\n$form-select-indicator-color: $gray-800 !default;\n$form-select-indicator: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-select-indicator-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/></svg>\") !default;\n\n$form-select-feedback-icon-padding-right: add(1em * .75, (2 * $form-select-padding-y * .75) + $form-select-padding-x + $form-select-indicator-padding) !default;\n$form-select-feedback-icon-position: center right ($form-select-padding-x + $form-select-indicator-padding) !default;\n$form-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$form-select-border-width: $input-border-width !default;\n$form-select-border-color: $input-border-color !default;\n$form-select-border-radius: $border-radius !default;\n$form-select-box-shadow: $box-shadow-inset !default;\n\n$form-select-focus-border-color: $input-focus-border-color !default;\n$form-select-focus-width: $input-focus-width !default;\n$form-select-focus-box-shadow: 0 0 0 $form-select-focus-width $input-btn-focus-color !default;\n\n$form-select-padding-y-sm: $input-padding-y-sm !default;\n$form-select-padding-x-sm: $input-padding-x-sm !default;\n$form-select-font-size-sm: $input-font-size-sm !default;\n$form-select-height-sm: $input-height-sm !default;\n\n$form-select-padding-y-lg: $input-padding-y-lg !default;\n$form-select-padding-x-lg: $input-padding-x-lg !default;\n$form-select-font-size-lg: $input-font-size-lg !default;\n$form-select-height-lg: $input-height-lg !default;\n\n$form-range-track-width: 100% !default;\n$form-range-track-height: .5rem !default;\n$form-range-track-cursor: pointer !default;\n$form-range-track-bg: $gray-300 !default;\n$form-range-track-border-radius: 1rem !default;\n$form-range-track-box-shadow: $box-shadow-inset !default;\n\n$form-range-thumb-width: 1rem !default;\n$form-range-thumb-height: $form-range-thumb-width !default;\n$form-range-thumb-bg: $component-active-bg !default;\n$form-range-thumb-border: 0 !default;\n$form-range-thumb-border-radius: 1rem !default;\n$form-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$form-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$form-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in Edge\n$form-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\n$form-range-thumb-disabled-bg: $gray-500 !default;\n$form-range-thumb-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-file-height: $input-height !default;\n$form-file-focus-border-color: $input-focus-border-color !default;\n$form-file-focus-box-shadow: $input-focus-box-shadow !default;\n$form-file-disabled-bg: $input-disabled-bg !default;\n$form-file-disabled-border-color: $input-disabled-border-color !default;\n\n$form-file-padding-y: $input-padding-y !default;\n$form-file-padding-x: $input-padding-x !default;\n$form-file-line-height: $input-line-height !default;\n$form-file-font-family: $input-font-family !default;\n$form-file-font-weight: $input-font-weight !default;\n$form-file-color: $input-color !default;\n$form-file-bg: $input-bg !default;\n$form-file-border-width: $input-border-width !default;\n$form-file-border-color: $input-border-color !default;\n$form-file-border-radius: $input-border-radius !default;\n$form-file-box-shadow: $input-box-shadow !default;\n$form-file-button-color: $form-file-color !default;\n$form-file-button-bg: $input-group-addon-bg !default;\n\n$form-file-padding-y-sm: $input-padding-y-sm !default;\n$form-file-padding-x-sm: $input-padding-x-sm !default;\n$form-file-font-size-sm: $input-font-size-sm !default;\n$form-file-height-sm: $input-height-sm !default;\n\n$form-file-padding-y-lg: $input-padding-y-lg !default;\n$form-file-padding-x-lg: $input-padding-x-lg !default;\n$form-file-font-size-lg: $input-font-size-lg !default;\n$form-file-height-lg: $input-height-lg !default;\n\n\n// Form validation\n\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: $success !default;\n$form-feedback-invalid-color: $danger !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/></svg>\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}' viewBox='0 0 12 12'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>\") !default;\n\n$form-validation-states: (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n )\n) !default;\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n\n// Navbar\n\n$navbar-padding-y: $spacer / 2 !default;\n$navbar-padding-x: null !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n$navbar-brand-margin-right: 1rem !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n$navbar-toggler-focus-width: $btn-focus-width !default;\n$navbar-toggler-transition: box-shadow .15s ease-in-out !default;\n\n$navbar-dark-color: rgba($white, .55) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .55) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-divider-margin-y: $spacer / 2 !default;\n$dropdown-box-shadow: $box-shadow !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n$dropdown-header-padding: $dropdown-padding-y $dropdown-item-padding-x !default;\n\n\n// Pagination\n\n$pagination-padding-y: .375rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-radius: $border-radius !default;\n$pagination-margin-left: -$pagination-border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n\n// Cards\n\n$card-spacer-y: 1.25rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-title-spacer-y: .75rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;\n$card-cap-padding-y: .75rem !default;\n$card-cap-padding-x: 1.25rem !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: $grid-gutter-width / 2 !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n// Form tooltips must come after regular tooltips\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: null !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default;\n$popover-box-shadow: $box-shadow !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Toasts\n\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .25rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba(0, 0, 0, .1) !default;\n$toast-border-radius: $border-radius !default;\n$toast-box-shadow: $box-shadow !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\n\n\n// Badges\n\n$badge-font-size: .75em !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-color: $white !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .5em !default;\n$badge-border-radius: $border-radius !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs: $box-shadow-sm !default;\n$modal-content-box-shadow-sm-up: $box-shadow !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: 1rem !default;\n$modal-header-padding-x: 1rem !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-xl: 1140px !default;\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n$modal-scale-transform: scale(1.02) !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: $box-shadow-inset !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: $primary !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n\n// List group\n\n$list-group-color: null !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: $box-shadow-sm !default;\n\n\n// Figures\n\n$figure-caption-font-size: $small-font-size !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-font-size: null !default;\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding-x: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n\n$breadcrumb-border-radius: $border-radius !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-opacity: .5 !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-active-opacity: 1 !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n$carousel-caption-padding-y: 1.25rem !default;\n$carousel-caption-spacer: 1.25rem !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'><path d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/></svg>\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'><path d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/></svg>\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n\n// Spinners\n\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-border-width: .25em !default;\n$spinner-animation-speed: .75s !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n\n// Code\n\n$code-font-size: $small-font-size !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: null !default;\n","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated responsive values for font sizes, paddings, margins and much more\n//\n// Licensed under MIT (https://github.com/twbs/rfs/blob/master/LICENSE)\n\n// Configuration\n\n// Base value\n$rfs-base-value: 1.25rem !default;\n$rfs-unit: rem !default;\n\n@if $rfs-unit != rem and $rfs-unit != px {\n @error \"`#{$rfs-unit}` is not a valid unit for $rfs-unit. Use `px` or `rem`.\";\n}\n\n// Breakpoint at where values start decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n}\n\n// Resize values based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != number or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Mode. Possibilities: \"min-media-query\", \"max-media-query\"\n$rfs-mode: min-media-query !default;\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-rfs to false\n$enable-rfs: true !default;\n\n// Cache $rfs-base-value unit\n$rfs-base-value-unit: unit($rfs-base-value);\n\n// Remove px-unit from $rfs-base-value for calculations\n@if $rfs-base-value-unit == px {\n $rfs-base-value: $rfs-base-value / ($rfs-base-value * 0 + 1);\n}\n@else if $rfs-base-value-unit == rem {\n $rfs-base-value: $rfs-base-value / ($rfs-base-value * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == px {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == rem or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Calculate the media query value\n$rfs-mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit});\n$rfs-mq-property-width: if($rfs-mode == max-media-query, max-width, min-width);\n$rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height);\n\n// Internal mixin used to determine which media query needs to be used\n@mixin _rfs-media-query {\n @if $rfs-two-dimensional {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}), (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n @content;\n }\n }\n @else {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) {\n @content;\n }\n }\n}\n\n// Internal mixin that adds disable classes to the selector if needed.\n@mixin _rfs-rule {\n @if $rfs-class == disable and $rfs-mode == max-media-query {\n // Adding an extra class increases specificity, which prevents the media query to override the property\n &,\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @else if $rfs-class == enable and $rfs-mode == min-media-query {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n// Internal mixin that adds enable classes to the selector if needed.\n@mixin _rfs-media-query-rule {\n\n @if $rfs-class == enable {\n @if $rfs-mode == min-media-query {\n @content;\n }\n\n @include _rfs-media-query {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n }\n }\n @else {\n @if $rfs-class == disable and $rfs-mode == min-media-query {\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @include _rfs-media-query {\n @content;\n }\n }\n}\n\n// Helper function to get the formatted non-responsive value\n@function rfs-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: '';\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + ' 0';\n }\n @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n @if $unit == px {\n // Convert to rem if needed\n $val: $val + ' ' + if($rfs-unit == rem, #{$value / ($value * 0 + $rfs-rem-value)}rem, $value);\n }\n @else if $unit == rem {\n // Convert to px if needed\n $val: $val + ' ' + if($rfs-unit == px, #{$value / ($value * 0 + 1) * $rfs-rem-value}px, $value);\n }\n @else {\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n $val: $val + ' ' + $value;\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// Helper function to get the responsive value calculated by RFS\n@function rfs-fluid-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: '';\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + ' 0';\n }\n\n @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $unit or $unit != px and $unit != rem {\n $val: $val + ' ' + $value;\n }\n\n @else {\n // Remove unit from $value for calculations\n $value: $value / ($value * 0 + if($unit == px, 1, 1 / $rfs-rem-value));\n\n // Only add the media query if the value is greater than the minimum value\n @if abs($value) <= $rfs-base-value or not $enable-rfs {\n $val: $val + ' ' + if($rfs-unit == rem, #{$value / $rfs-rem-value}rem, #{$value}px);\n }\n @else {\n // Calculate the minimum value\n $value-min: $rfs-base-value + (abs($value) - $rfs-base-value) / $rfs-factor;\n\n // Calculate difference between $value and the minimum value\n $value-diff: abs($value) - $value-min;\n\n // Base value formatting\n $min-width: if($rfs-unit == rem, #{$value-min / $rfs-rem-value}rem, #{$value-min}px);\n\n // Use negative value if needed\n $min-width: if($value < 0, -$min-width, $min-width);\n\n // Use `vmin` if two-dimensional is enabled\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$value-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Return the calculated value\n $val: $val + ' calc(' + $min-width + if($value < 0, ' - ', ' + ') + $variable-width + ')';\n }\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// RFS mixin\n@mixin rfs($values, $property: font-size) {\n @if $values != null {\n $val: rfs-value($values);\n $fluidVal: rfs-fluid-value($values);\n\n // Do not print the media query if responsive & non-responsive values are the same\n @if $val == $fluidVal {\n #{$property}: $val;\n }\n @else {\n @include _rfs-rule {\n #{$property}: if($rfs-mode == max-media-query, $val, $fluidVal);\n\n // Include safari iframe resize fix if needed\n min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null);\n }\n\n @include _rfs-media-query-rule {\n #{$property}: if($rfs-mode == max-media-query, $fluidVal, $val);\n }\n }\n }\n}\n\n// Shorthand helper mixins\n@mixin font-size($value) {\n @include rfs($value);\n}\n\n@mixin padding($value) {\n @include rfs($value, padding);\n}\n\n@mixin padding-top($value) {\n @include rfs($value, padding-top);\n}\n\n@mixin padding-right($value) {\n @include rfs($value, padding-right);\n}\n\n@mixin padding-bottom($value) {\n @include rfs($value, padding-bottom);\n}\n\n@mixin padding-left($value) {\n @include rfs($value, padding-left);\n}\n\n@mixin margin($value) {\n @include rfs($value, margin);\n}\n\n@mixin margin-top($value) {\n @include rfs($value, margin-top);\n}\n\n@mixin margin-right($value) {\n @include rfs($value, margin-right);\n}\n\n@mixin margin-bottom($value) {\n @include rfs($value, margin-bottom);\n}\n\n@mixin margin-left($value) {\n @include rfs($value, margin-left);\n}\n","// stylelint-disable property-blacklist\n// Single side border-radius\n\n// Helper function to replace negative values with 0\n@function valid-radius($radius) {\n $return: ();\n @each $value in $radius {\n @if type-of($value) == number {\n $return: append($return, max($value, 0));\n } @else {\n $return: append($return, $value);\n }\n }\n @return $return;\n}\n\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: valid-radius($radius);\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-right-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-left-radius($radius) {\n @if $enable-rounded {\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n","//\n// Headings\n//\n.h1 {\n @extend h1;\n}\n\n.h2 {\n @extend h2;\n}\n\n.h3 {\n @extend h3;\n}\n\n.h4 {\n @extend h4;\n}\n\n.h5 {\n @extend h5;\n}\n\n.h6 {\n @extend h6;\n}\n\n\n.lead {\n @include font-size($lead-font-size);\n font-weight: $lead-font-weight;\n}\n\n// Type display classes\n.display-1 {\n @include font-size($display1-size);\n font-weight: $display1-weight;\n line-height: $display-line-height;\n}\n.display-2 {\n @include font-size($display2-size);\n font-weight: $display2-weight;\n line-height: $display-line-height;\n}\n.display-3 {\n @include font-size($display3-size);\n font-weight: $display3-weight;\n line-height: $display-line-height;\n}\n.display-4 {\n @include font-size($display4-size);\n font-weight: $display4-weight;\n line-height: $display-line-height;\n}\n\n//\n// Emphasis\n//\n.small {\n @extend small;\n}\n\n.mark {\n @extend mark;\n}\n\n//\n// Lists\n//\n\n.list-unstyled {\n @include list-unstyled();\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n @include list-unstyled();\n}\n.list-inline-item {\n display: inline-block;\n\n &:not(:last-child) {\n margin-right: $list-inline-padding;\n }\n}\n\n\n//\n// Misc\n//\n\n// Builds on `abbr`\n.initialism {\n @include font-size($initialism-font-size);\n text-transform: uppercase;\n}\n\n// Blockquotes\n.blockquote {\n margin-bottom: $spacer;\n @include font-size($blockquote-font-size);\n}\n\n.blockquote-footer {\n display: block;\n @include font-size($blockquote-small-font-size);\n color: $blockquote-small-color;\n\n &::before {\n content: \"\\2014\\00A0\"; // em dash, nbsp\n }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n","// Responsive images (ensure images don't scale beyond their parents)\n//\n// This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.\n// We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n// which weren't expecting the images within themselves to be involuntarily resized.\n// See also https://github.com/twbs/bootstrap/issues/18178\n.img-fluid {\n @include img-fluid();\n}\n\n\n// Image thumbnails\n.img-thumbnail {\n padding: $thumbnail-padding;\n background-color: $thumbnail-bg;\n border: $thumbnail-border-width solid $thumbnail-border-color;\n @include border-radius($thumbnail-border-radius);\n @include box-shadow($thumbnail-box-shadow);\n\n // Keep them at most 100% wide\n @include img-fluid();\n}\n\n//\n// Figures\n//\n\n.figure {\n // Ensures the caption's text aligns with the image.\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: $spacer / 2;\n line-height: 1;\n}\n\n.figure-caption {\n @include font-size($figure-caption-font-size);\n color: $figure-caption-color;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid {\n // Part 1: Set a maximum relative to the parent\n max-width: 100%;\n // Part 2: Override the height to auto, otherwise images will be stretched\n // when setting a width and height attribute on the img element.\n height: auto;\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n","// Container mixins\n\n@mixin make-container($padding-x: $container-padding-x) {\n width: 100%;\n padding-right: $padding-x;\n padding-left: $padding-x;\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n\n > * {\n @include make-col-ready();\n }\n }\n}\n\n// Gutters\n//\n// Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n\n@if $enable-grid-classes {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n\n @each $key, $value in $gutters {\n .g#{$infix}-#{$key},\n .gx#{$infix}-#{$key} {\n margin-right: -$value / 2;\n margin-left: -$value / 2;\n\n > * {\n padding-right: $value / 2;\n padding-left: $value / 2;\n }\n }\n\n .g#{$infix}-#{$key},\n .gy#{$infix}-#{$key} {\n margin-top: -$value;\n\n > * {\n margin-top: $value;\n }\n }\n }\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter / 2;\n margin-left: -$gutter / 2;\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n // Add box sizing if only the grid is loaded\n box-sizing: if(variable-exists(include-column-box-sizing) and $include-column-box-sizing, border-box, null);\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we set the width\n // later on to override this initial width.\n flex-shrink: 0;\n width: 100%;\n max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 auto;\n width: percentage($size / $columns);\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n & > * {\n flex: 0 0 auto;\n width: 100% / $count;\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0%; // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n min-width: 0; // See https://github.com/twbs/bootstrap/issues/25410\n }\n\n .row-cols#{$infix}-auto > * {\n @include make-col-auto();\n }\n\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","//\n// Basic Bootstrap table\n//\n\n.table {\n width: 100%;\n margin-bottom: $spacer;\n color: $table-color;\n vertical-align: $table-cell-vertical-align;\n background-color: $table-bg; // Reset for nesting within parents with `background-color`.\n\n th,\n td {\n padding: $table-cell-padding;\n border-bottom: $table-border-width solid $table-border-color;\n }\n\n tbody {\n vertical-align: inherit;\n }\n\n thead th {\n vertical-align: bottom;\n border-bottom-color: $table-head-border-color;\n }\n\n tbody + tbody {\n border-top: (2 * $table-border-width) solid $table-border-color;\n }\n}\n\n\n//\n// Change placement of captions with a class\n//\n\n.caption-top { caption-side: top; }\n\n\n//\n// Condensed table w/ half padding\n//\n\n.table-sm {\n th,\n td {\n padding: $table-cell-padding-sm;\n }\n}\n\n\n// Border versions\n//\n// Add or remove borders all around the table and between all the columns.\n\n.table-bordered {\n border: $table-border-width solid $table-border-color;\n\n th,\n td {\n border: $table-border-width solid $table-border-color;\n }\n\n thead {\n th,\n td {\n border-bottom-width: 2 * $table-border-width;\n }\n }\n}\n\n.table-borderless {\n th,\n td,\n thead th,\n tbody + tbody {\n border: 0;\n }\n}\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-accent-bg;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n tbody tr {\n &:hover {\n color: $table-hover-color;\n background-color: $table-hover-bg;\n }\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n@each $color, $value in $theme-colors {\n @include table-row-variant($color, color-level($value, $table-bg-level), color-level($value, $table-border-level));\n}\n\n@include table-row-variant(active, $table-active-bg);\n\n\n// Dark styles\n//\n// Same table markup, but inverted color scheme: dark background and light text.\n\n// stylelint-disable-next-line no-duplicate-selectors\n.table {\n .thead-dark {\n th {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n border-color: $table-dark-border-color;\n }\n }\n\n .thead-light {\n th {\n color: $table-head-color;\n background-color: $table-head-bg;\n border-color: $table-border-color;\n }\n }\n}\n\n.table-dark {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n\n th,\n td,\n thead th {\n border-color: $table-dark-border-color;\n }\n\n &.table-bordered {\n border: 0;\n }\n\n &.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-dark-accent-bg;\n }\n }\n\n &.table-hover {\n tbody tr {\n &:hover {\n color: $table-dark-hover-color;\n background-color: $table-dark-hover-bg;\n }\n }\n }\n}\n\n\n// Responsive tables\n//\n// Generate series of `.table-responsive-*` classes for configuring the screen\n// size of where your table will overflow.\n\n.table-responsive {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n\n // Prevent double border on horizontal scroll due to use of `display: block;`\n > .table-bordered {\n border: 0;\n }\n }\n }\n }\n}\n","// Tables\n\n@mixin table-row-variant($state, $background, $border: null) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table-#{$state} {\n &,\n > th,\n > td {\n background-color: $background;\n }\n\n @if $border != null {\n th,\n td,\n thead th,\n tbody + tbody {\n border-color: $border;\n }\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover {\n $hover-background: darken($background, 5%);\n\n .table-#{$state} {\n &:hover {\n background-color: $hover-background;\n\n > td,\n > th {\n background-color: $hover-background;\n }\n }\n }\n }\n}\n","// Bootstrap functions\n//\n// Utility mixins and functions for evaluating source code across our variables, maps, and mixins.\n\n// Ascending\n// Used to evaluate Sass maps like our grid breakpoints.\n@mixin _assert-ascending($map, $map-name) {\n $prev-key: null;\n $prev-num: null;\n @each $key, $num in $map {\n @if $prev-num == null or unit($num) == \"%\" or unit($prev-num) == \"%\" {\n // Do nothing\n } @else if not comparable($prev-num, $num) {\n @warn \"Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n } @else if $prev-num >= $num {\n @warn \"Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n }\n $prev-key: $key;\n $prev-num: $num;\n }\n}\n\n// Starts at zero\n// Used to ensure the min-width of the lowest breakpoint starts at 0.\n@mixin _assert-starts-at-zero($map, $map-name: \"$grid-breakpoints\") {\n $values: map-values($map);\n $first-value: nth($values, 1);\n @if $first-value != 0 {\n @warn \"First breakpoint in #{$map-name} must start at 0, but starts at #{$first-value}.\";\n }\n}\n\n// Internal Bootstrap function to turn maps into its negative variant.\n// It prefixes the keys with `n` and makes the value negative.\n@function negativify-map($map) {\n $result: ();\n @each $key, $value in $map {\n @if $key != 0 {\n $result: map-merge($result, (\"n\" + $key: (-$value)));\n }\n }\n @return $result;\n}\n\n// Get multiple keys from a sass map\n@function map-get-multiple($map, $values) {\n $result: ();\n @each $key, $value in $map {\n @if (index($values, $key) != null) {\n $result: map-merge($result, ($key: $value));\n }\n }\n @return $result;\n}\n\n// Replace `$search` with `$replace` in `$string`\n// Used on our SVG icon backgrounds for custom forms.\n//\n// @author Hugo Giraudel\n// @param {String} $string - Initial string\n// @param {String} $search - Substring to replace\n// @param {String} $replace ('') - New value\n// @return {String} - Updated string\n@function str-replace($string, $search, $replace: \"\") {\n $index: str-index($string, $search);\n\n @if $index {\n @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);\n }\n\n @return $string;\n}\n\n// See https://codepen.io/kevinweber/pen/dXWoRw\n@function escape-svg($string) {\n @if str-index($string, \"data:image/svg+xml\") {\n @each $char, $encoded in $escaped-characters {\n // Do not escape the url brackets\n @if str-index($string, \"url(\") == 1 {\n $string: url(\"#{str-replace(str-slice($string, 6, -3), $char, $encoded)}\");\n } @else {\n $string: str-replace($string, $char, $encoded);\n }\n }\n }\n\n @return $string;\n}\n\n// Color contrast\n// See https://github.com/twbs/bootstrap/pull/30168\n\n// A list of pre-calculated numbers of pow(($value / 255 + .055) / 1.055, 2.4). (from 0 to 255)\n// stylelint-disable-next-line scss/dollar-variable-default, scss/dollar-variable-pattern\n$_luminance-list: .0008 .001 .0011 .0013 .0015 .0017 .002 .0022 .0025 .0027 .003 .0033 .0037 .004 .0044 .0048 .0052 .0056 .006 .0065 .007 .0075 .008 .0086 .0091 .0097 .0103 .011 .0116 .0123 .013 .0137 .0144 .0152 .016 .0168 .0176 .0185 .0194 .0203 .0212 .0222 .0232 .0242 .0252 .0262 .0273 .0284 .0296 .0307 .0319 .0331 .0343 .0356 .0369 .0382 .0395 .0409 .0423 .0437 .0452 .0467 .0482 .0497 .0513 .0529 .0545 .0561 .0578 .0595 .0612 .063 .0648 .0666 .0685 .0704 .0723 .0742 .0762 .0782 .0802 .0823 .0844 .0865 .0887 .0908 .0931 .0953 .0976 .0999 .1022 .1046 .107 .1095 .1119 .1144 .117 .1195 .1221 .1248 .1274 .1301 .1329 .1356 .1384 .1413 .1441 .147 .15 .1529 .1559 .159 .162 .1651 .1683 .1714 .1746 .1779 .1812 .1845 .1878 .1912 .1946 .1981 .2016 .2051 .2086 .2122 .2159 .2195 .2232 .227 .2307 .2346 .2384 .2423 .2462 .2502 .2542 .2582 .2623 .2664 .2705 .2747 .2789 .2831 .2874 .2918 .2961 .3005 .305 .3095 .314 .3185 .3231 .3278 .3325 .3372 .3419 .3467 .3515 .3564 .3613 .3663 .3712 .3763 .3813 .3864 .3916 .3968 .402 .4072 .4125 .4179 .4233 .4287 .4342 .4397 .4452 .4508 .4564 .4621 .4678 .4735 .4793 .4851 .491 .4969 .5029 .5089 .5149 .521 .5271 .5333 .5395 .5457 .552 .5583 .5647 .5711 .5776 .5841 .5906 .5972 .6038 .6105 .6172 .624 .6308 .6376 .6445 .6514 .6584 .6654 .6724 .6795 .6867 .6939 .7011 .7084 .7157 .7231 .7305 .7379 .7454 .7529 .7605 .7682 .7758 .7835 .7913 .7991 .807 .8148 .8228 .8308 .8388 .8469 .855 .8632 .8714 .8796 .8879 .8963 .9047 .9131 .9216 .9301 .9387 .9473 .956 .9647 .9734 .9823 .9911 1;\n\n@function color-contrast($background, $color-contrast-dark: $color-contrast-dark, $color-contrast-light: $color-contrast-light) {\n $l1: luminance($background);\n $l2: luminance(opaque($background, $color-contrast-light));\n\n $contrast: if($l1 > $l2, ($l1 + .05) / ($l2 + .05), ($l2 + .05) / ($l1 + .05));\n\n @return if($contrast < $min-contrast-ratio, $color-contrast-dark, $color-contrast-light);\n}\n\n// Return WCAG2.0 relative luminance\n// See https://www.w3.org/WAI/GL/wiki/Relative_luminance\n// See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n@function luminance($color) {\n $rgb: (\n \"r\": red($color),\n \"g\": green($color),\n \"b\": blue($color)\n );\n\n @each $name, $value in $rgb {\n $value: if($value / 255 < .03928, $value / 255 / 12.92, nth($_luminance-list, $value + 1));\n $rgb: map-merge($rgb, ($name: $value));\n }\n\n @return (map-get($rgb, \"r\") * .2126) + (map-get($rgb, \"g\") * .7152) + (map-get($rgb, \"b\") * .0722);\n}\n\n// Return opaque color\n// opaque(#fff, rgba(0, 0, 0, .5)) => #808080\n@function opaque($background, $foreground) {\n @return mix(rgba($foreground, 1), $background, opacity($foreground) * 100);\n}\n\n// Request a color level\n@function color-level($color: $primary, $level: 0) {\n $color-base: if($level > 0, $black, $white);\n $level: abs($level);\n\n @return mix($color-base, $color, $level * $theme-color-interval);\n}\n\n@function tint-color($color, $level) {\n @return mix(white, $color, $level * $theme-color-interval);\n}\n\n@function shade-color($color, $level) {\n @return mix(black, $color, $level * $theme-color-interval);\n}\n\n// Return valid calc\n@function add($value1, $value2, $return-calc: true) {\n @if $value1 == null {\n @return $value2;\n }\n\n @if $value2 == null {\n @return $value1;\n }\n\n @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {\n @return $value1 + $value2;\n }\n\n @return if($return-calc == true, calc(#{$value1} + #{$value2}), $value1 + unquote(\" + \") + $value2);\n}\n\n@function subtract($value1, $value2, $return-calc: true) {\n @if $value1 == null and $value2 == null {\n @return null;\n }\n\n @if $value1 == null {\n @return -$value2;\n }\n\n @if $value2 == null {\n @return $value1;\n }\n\n @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {\n @return $value1 - $value2;\n }\n\n @return if($return-calc == true, calc(#{$value1} - #{$value2}), $value1 + unquote(\" - \") + $value2);\n}\n","//\n// Labels\n//\n\n// For use with horizontal and inline forms, when you need the label (or legend)\n// text to align with the form controls.\n.col-form-label {\n padding-top: add($input-padding-y, $input-border-width);\n padding-bottom: add($input-padding-y, $input-border-width);\n margin-bottom: 0; // Override the `<label>/<legend>` default\n @include font-size(inherit); // Override the `<legend>` default\n line-height: $input-line-height;\n}\n\n.col-form-label-lg {\n padding-top: add($input-padding-y-lg, $input-border-width);\n padding-bottom: add($input-padding-y-lg, $input-border-width);\n @include font-size($input-font-size-lg);\n}\n\n.col-form-label-sm {\n padding-top: add($input-padding-y-sm, $input-border-width);\n padding-bottom: add($input-padding-y-sm, $input-border-width);\n @include font-size($input-font-size-sm);\n}\n","//\n// Textual form controls\n//\n\n.form-control {\n display: block;\n width: 100%;\n min-height: $input-height;\n padding: $input-padding-y $input-padding-x;\n font-family: $input-font-family;\n @include font-size($input-font-size);\n font-weight: $input-font-weight;\n line-height: $input-line-height;\n color: $input-color;\n background-color: $input-bg;\n background-clip: padding-box;\n border: $input-border-width solid $input-border-color;\n\n // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.\n @include border-radius($input-border-radius, 0);\n\n @include box-shadow($input-box-shadow);\n @include transition($input-transition);\n\n // Customize the `:focus` state to imitate native WebKit styles.\n &:focus {\n color: $input-focus-color;\n background-color: $input-focus-bg;\n border-color: $input-focus-border-color;\n outline: 0;\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $input-box-shadow, $input-focus-box-shadow;\n } @else {\n box-shadow: $input-focus-box-shadow;\n }\n }\n\n // Placeholder\n &::placeholder {\n color: $input-placeholder-color;\n // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.\n opacity: 1;\n }\n\n // Disabled and read-only inputs\n //\n // HTML5 says that controls under a fieldset > legend:first-child won't be\n // disabled if the fieldset is disabled. Due to implementation difficulty, we\n // don't honor that edge case; we style them as disabled anyway.\n &:disabled,\n &[readonly] {\n background-color: $input-disabled-bg;\n border-color: $input-disabled-border-color;\n // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n opacity: 1;\n }\n}\n\n// Readonly controls as plain text\n//\n// Apply class to a readonly input to make it appear like regular plain\n// text (without any border, background color, focus indicator)\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: $input-padding-y 0;\n margin-bottom: 0; // match inputs if this class comes on inputs with default margins\n line-height: $input-line-height;\n color: $input-plaintext-color;\n background-color: transparent;\n border: solid transparent;\n border-width: $input-border-width 0;\n\n &.form-control-sm,\n &.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n//\n// Repeated in `_input_group.scss` to avoid Sass extend issues.\n\n.form-control-sm {\n min-height: $input-height-sm;\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n @include border-radius($input-border-radius-sm);\n}\n\n.form-control-lg {\n min-height: $input-height-lg;\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n @include border-radius($input-border-radius-lg);\n}\n\n.form-control-color {\n max-width: 3rem;\n padding: $input-padding-y;\n}\n\n.form-control-color::-moz-color-swatch {\n @include border-radius($input-border-radius);\n}\n\n.form-control-color::-webkit-color-swatch {\n @include border-radius($input-border-radius);\n}\n","// stylelint-disable property-blacklist\n@mixin transition($transition...) {\n @if $enable-transitions {\n @if length($transition) == 0 {\n transition: $transition-base;\n } @else {\n transition: $transition;\n }\n\n @if $enable-prefers-reduced-motion-media-query {\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n }\n }\n}\n","// Select\n//\n// Replaces the browser default select with a custom one, mostly pulled from\n// https://primer.github.io/.\n\n.form-select {\n display: block;\n width: 100%;\n height: $form-select-height;\n padding: $form-select-padding-y ($form-select-padding-x + $form-select-indicator-padding) $form-select-padding-y $form-select-padding-x;\n font-family: $form-select-font-family;\n @include font-size($form-select-font-size);\n font-weight: $form-select-font-weight;\n line-height: $form-select-line-height;\n color: $form-select-color;\n vertical-align: middle;\n background-color: $form-select-bg;\n background-image: escape-svg($form-select-indicator);\n background-repeat: no-repeat;\n background-position: $form-select-bg-position;\n background-size: $form-select-bg-size;\n border: $form-select-border-width solid $form-select-border-color;\n @include border-radius($form-select-border-radius, 0);\n @include box-shadow($form-select-box-shadow);\n appearance: none;\n\n &:focus {\n border-color: $form-select-focus-border-color;\n outline: 0;\n @if $enable-shadows {\n box-shadow: $form-select-box-shadow, $form-select-focus-box-shadow;\n } @else {\n box-shadow: $form-select-focus-box-shadow;\n }\n\n &::-ms-value {\n // For visual consistency with other platforms/browsers,\n // suppress the default white text on blue background highlight given to\n // the selected option text when the (still closed) <select> receives focus\n // in Edge.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n }\n\n &[multiple],\n &[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: $form-select-padding-x;\n background-image: none;\n }\n\n &:disabled {\n color: $form-select-disabled-color;\n background-color: $form-select-disabled-bg;\n border-color: $form-select-disabled-border-color;\n }\n\n // Remove outline from select box in FF\n &:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 $form-select-color;\n }\n}\n\n.form-select-sm {\n height: $form-select-height-sm;\n padding-top: $form-select-padding-y-sm;\n padding-bottom: $form-select-padding-y-sm;\n padding-left: $form-select-padding-x-sm;\n @include font-size($form-select-font-size-sm);\n}\n\n.form-select-lg {\n height: $form-select-height-lg;\n padding-top: $form-select-padding-y-lg;\n padding-bottom: $form-select-padding-y-lg;\n padding-left: $form-select-padding-x-lg;\n @include font-size($form-select-font-size-lg);\n}\n","//\n// Check/radio\n//\n\n.form-check {\n display: block;\n min-height: $form-check-min-height;\n padding-left: $form-check-padding-left;\n margin-bottom: $form-check-margin-bottom;\n\n .form-check-input {\n float: left;\n margin-left: $form-check-padding-left * -1;\n }\n}\n\n.form-check-input {\n width: $form-check-input-width;\n height: $form-check-input-width;\n margin-top: ($line-height-base - $form-check-input-width) / 2; // line-height minus check height\n vertical-align: top;\n background-color: $form-check-input-bg;\n border: $form-check-input-border;\n appearance: none;\n color-adjust: exact; // Keep themed appearance for print\n\n &[type=\"checkbox\"] {\n @include border-radius($form-check-input-border-radius);\n }\n\n &[type=\"radio\"] {\n @include border-radius($form-check-radio-border-radius);\n }\n\n &:active {\n filter: $form-check-input-active-filter;\n }\n\n &:focus {\n border-color: $form-check-input-focus-border;\n outline: 0;\n box-shadow: $form-check-input-focus-box-shadow;\n }\n\n &:checked {\n background-color: $form-check-input-checked-bg-color;\n background-repeat: $form-check-input-checked-bg-repeat;\n background-position: $form-check-input-checked-bg-position;\n background-size: $form-check-input-checked-bg-size;\n border-color: $form-check-input-checked-border-color;\n\n &[type=\"checkbox\"] {\n @if $enable-gradients {\n background-image: escape-svg($form-check-input-checked-bg-image), linear-gradient(180deg, lighten($form-check-input-checked-bg-color, 10%), $form-check-input-checked-bg-color);\n background-size: $form-check-input-checked-bg-size, auto;\n } @else {\n background-image: escape-svg($form-check-input-checked-bg-image);\n }\n }\n\n &[type=\"radio\"] {\n @if $enable-gradients {\n background-image: escape-svg($form-check-radio-checked-bg-image), linear-gradient(180deg, lighten($form-check-input-checked-bg-color, 10%), $form-check-input-checked-bg-color);\n background-size: $form-check-input-checked-bg-size, auto;\n } @else {\n background-image: escape-svg($form-check-radio-checked-bg-image);\n }\n }\n }\n\n &[type=\"checkbox\"]:indeterminate {\n background-color: $form-check-input-indeterminate-bg-color;\n background-repeat: $form-check-input-indeterminate-bg-repeat;\n background-position: $form-check-input-indeterminate-bg-position;\n @if $enable-gradients {\n background-image: escape-svg($form-check-input-indeterminate-bg-image), linear-gradient(180deg, lighten($form-check-input-checked-bg-color, 10%), $form-check-input-checked-bg-color);\n background-size: $form-check-input-checked-bg-size, auto;\n } @else {\n background-image: escape-svg($form-check-input-indeterminate-bg-image);\n background-size: $form-check-input-indeterminate-bg-size;\n }\n border-color: $form-check-input-indeterminate-border-color;\n }\n\n &:disabled {\n pointer-events: none;\n filter: none;\n opacity: .5;\n }\n\n // Use disabled attribute in addition of :disabled pseudo-class\n // See: https://github.com/twbs/bootstrap/issues/28247\n &[disabled],\n &:disabled {\n ~ .form-check-label {\n opacity: .5;\n }\n }\n}\n\n.form-check-label {\n margin-bottom: 0;\n color: $form-check-label-color;\n cursor: $form-check-label-cursor;\n}\n\n//\n// Switch\n//\n\n.form-switch {\n padding-left: $form-switch-padding-left;\n\n .form-check-input {\n width: $form-switch-width;\n margin-left: $form-switch-padding-left * -1;\n background-image: escape-svg($form-switch-bg-image);\n background-repeat: no-repeat;\n background-position: left center;\n background-size: $form-switch-bg-size; // Get a 1px separation\n @include border-radius($form-switch-border-radius);\n color-adjust: exact; // Keep themed appearance for print\n // Todo: Figure out how to tackle these, with or without mixin?\n // transition: $form-switch-transition;\n // transition-property: $form-switch-transition-property;\n\n &:focus {\n background-image: escape-svg($form-switch-focus-bg-image);\n }\n\n &:checked {\n background-position: $form-switch-checked-bg-position;\n\n @if $enable-gradients {\n background-image: escape-svg($form-switch-checked-bg-image), linear-gradient(180deg, $form-check-input-checked-bg-color, lighten($form-check-input-checked-bg-color, 10%));\n background-size: $form-switch-bg-size, auto;\n } @else {\n background-image: escape-svg($form-switch-checked-bg-image);\n }\n }\n }\n}\n\n.form-check-inline {\n display: inline-block;\n margin-right: $form-check-inline-margin-right;\n}\n",".form-file {\n position: relative;\n height: $form-file-height;\n}\n\n.form-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: 100%;\n margin: 0;\n opacity: 0;\n\n &:focus-within ~ .form-file-label {\n border-color: $form-file-focus-border-color;\n box-shadow: $form-file-focus-box-shadow;\n }\n\n // Use disabled attribute in addition of :disabled pseudo-class\n // See: https://github.com/twbs/bootstrap/issues/28247\n &[disabled] ~ .form-file-label .form-file-text,\n &:disabled ~ .form-file-label .form-file-text {\n background-color: $form-file-disabled-bg;\n border-color: $form-file-disabled-border-color;\n }\n}\n\n.form-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n display: flex;\n height: 100%;\n border-color: $form-file-border-color;\n @include border-radius($form-file-border-radius);\n @include box-shadow($form-file-box-shadow);\n}\n\n.form-file-text {\n display: block;\n flex-grow: 1;\n padding: $form-file-padding-y $form-file-padding-x;\n overflow: hidden;\n font-family: $form-file-font-family;\n font-weight: $form-file-font-weight;\n line-height: $form-file-line-height;\n color: $form-file-color;\n text-overflow: ellipsis;\n white-space: nowrap;\n background-color: $form-file-bg;\n border-color: inherit;\n border-style: solid;\n border-width: $form-file-border-width;\n @include border-left-radius(inherit);\n}\n\n.form-file-button {\n display: block;\n flex-shrink: 0;\n padding: $form-file-padding-y $form-file-padding-x;\n margin-left: -$form-file-border-width;\n line-height: $form-file-line-height;\n color: $form-file-button-color;\n @include gradient-bg($form-file-button-bg);\n border-color: inherit;\n border-style: solid;\n border-width: $form-file-border-width;\n @include border-right-radius(inherit);\n}\n\n.form-file-sm {\n height: $form-file-height-sm;\n @include font-size($form-file-font-size-sm);\n\n .form-file-text,\n .form-file-button {\n padding: $form-file-padding-y-sm $form-file-padding-x-sm;\n }\n}\n\n.form-file-lg {\n height: $form-file-height-lg;\n @include font-size($form-file-font-size-lg);\n\n .form-file-text,\n .form-file-button {\n padding: $form-file-padding-y-lg $form-file-padding-x-lg;\n }\n}\n","// Gradients\n\n@mixin gradient-bg($color, $foreground: null) {\n @if $enable-gradients {\n @if $foreground {\n background-image: $foreground, linear-gradient(180deg, mix($body-bg, $color, 15%), $color);\n } @else {\n background-image: linear-gradient(180deg, mix($body-bg, $color, 15%), $color);\n }\n } @else {\n background-color: $color;\n }\n}\n\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: null, $end-percent: null) {\n background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n}\n\n@mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) {\n background-image: linear-gradient($deg, $start-color, $end-color);\n}\n\n@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n}\n\n@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n}\n\n@mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) {\n background-image: radial-gradient(circle, $inner-color, $outer-color);\n}\n\n@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {\n background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n","// Range\n//\n// Style range inputs the same across browsers. Vendor-specific rules for pseudo\n// elements cannot be mixed. As such, there are no shared styles for focus or\n// active states on prefixed selectors.\n\n.form-range {\n width: 100%;\n height: add($form-range-thumb-height, $form-range-thumb-focus-box-shadow-width * 2);\n padding: 0; // Need to reset padding\n background-color: transparent;\n appearance: none;\n\n &:focus {\n outline: none;\n\n // Pseudo-elements must be split across multiple rulesets to have an effect.\n // No box-shadow() mixin for focus accessibility.\n &::-webkit-slider-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }\n &::-moz-range-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }\n &::-ms-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }\n }\n\n &::-moz-focus-outer {\n border: 0;\n }\n\n &::-webkit-slider-thumb {\n width: $form-range-thumb-width;\n height: $form-range-thumb-height;\n margin-top: ($form-range-track-height - $form-range-thumb-height) / 2; // Webkit specific\n @include gradient-bg($form-range-thumb-bg);\n border: $form-range-thumb-border;\n @include border-radius($form-range-thumb-border-radius);\n @include box-shadow($form-range-thumb-box-shadow);\n @include transition($form-range-thumb-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($form-range-thumb-active-bg);\n }\n }\n\n &::-webkit-slider-runnable-track {\n width: $form-range-track-width;\n height: $form-range-track-height;\n color: transparent; // Why?\n cursor: $form-range-track-cursor;\n background-color: $form-range-track-bg;\n border-color: transparent;\n @include border-radius($form-range-track-border-radius);\n @include box-shadow($form-range-track-box-shadow);\n }\n\n &::-moz-range-thumb {\n width: $form-range-thumb-width;\n height: $form-range-thumb-height;\n @include gradient-bg($form-range-thumb-bg);\n border: $form-range-thumb-border;\n @include border-radius($form-range-thumb-border-radius);\n @include box-shadow($form-range-thumb-box-shadow);\n @include transition($form-range-thumb-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($form-range-thumb-active-bg);\n }\n }\n\n &::-moz-range-track {\n width: $form-range-track-width;\n height: $form-range-track-height;\n color: transparent;\n cursor: $form-range-track-cursor;\n background-color: $form-range-track-bg;\n border-color: transparent; // Firefox specific?\n @include border-radius($form-range-track-border-radius);\n @include box-shadow($form-range-track-box-shadow);\n }\n\n &::-ms-thumb {\n width: $form-range-thumb-width;\n height: $form-range-thumb-height;\n margin-top: 0; // Edge specific\n margin-right: $form-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.\n margin-left: $form-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.\n @include gradient-bg($form-range-thumb-bg);\n border: $form-range-thumb-border;\n @include border-radius($form-range-thumb-border-radius);\n @include box-shadow($form-range-thumb-box-shadow);\n @include transition($form-range-thumb-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($form-range-thumb-active-bg);\n }\n }\n\n &::-ms-track {\n width: $form-range-track-width;\n height: $form-range-track-height;\n color: transparent;\n cursor: $form-range-track-cursor;\n background-color: transparent;\n border-color: transparent;\n border-width: $form-range-thumb-height / 2;\n @include box-shadow($form-range-track-box-shadow);\n }\n\n &::-ms-fill-lower {\n background-color: $form-range-track-bg;\n @include border-radius($form-range-track-border-radius);\n }\n\n &::-ms-fill-upper {\n margin-right: 15px; // arbitrary?\n background-color: $form-range-track-bg;\n @include border-radius($form-range-track-border-radius);\n }\n\n &:disabled {\n pointer-events: none;\n\n &::-webkit-slider-thumb {\n background-color: $form-range-thumb-disabled-bg;\n }\n\n &::-moz-range-thumb {\n background-color: $form-range-thumb-disabled-bg;\n }\n\n &::-ms-thumb {\n background-color: $form-range-thumb-disabled-bg;\n }\n }\n}\n","//\n// Base styles\n//\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap; // For form validation feedback\n align-items: stretch;\n width: 100%;\n\n > .form-control,\n > .form-select,\n > .form-file {\n position: relative; // For focus state's z-index\n flex: 1 1 auto;\n width: 1%;\n min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size\n }\n\n // Bring the \"active\" form control to the top of surrounding elements\n > .form-control:focus,\n > .form-select:focus,\n > .form-file .form-file-input:focus ~ .form-file-label {\n z-index: 3;\n }\n\n // Bring the custom file input above the label\n > .form-file {\n > .form-file-input:focus {\n z-index: 4;\n }\n\n &:not(:last-child) > .form-file-label {\n @include border-right-radius(0);\n }\n\n &:not(:first-child) > .form-file-label {\n @include border-left-radius(0);\n }\n }\n\n // Ensure buttons are always above inputs for more visually pleasing borders.\n // This isn't needed for `.input-group-text` since it shares the same border-color\n // as our inputs.\n .btn {\n position: relative;\n z-index: 2;\n\n &:focus {\n z-index: 3;\n }\n }\n}\n\n\n// Textual addons\n//\n// Serves as a catch-all element for any text or radio/checkbox input you wish\n// to prepend or append to an input.\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: $input-padding-y $input-padding-x;\n margin-bottom: 0; // Allow use of <label> elements by overriding our default margin-bottom\n @include font-size($input-font-size); // Match inputs\n font-weight: $font-weight-normal;\n line-height: $input-line-height;\n color: $input-group-addon-color;\n text-align: center;\n white-space: nowrap;\n background-color: $input-group-addon-bg;\n border: $input-border-width solid $input-group-addon-border-color;\n @include border-radius($input-border-radius);\n}\n\n\n// Sizing\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control {\n min-height: $input-height-lg;\n}\n\n.input-group-lg > .form-select {\n height: $input-height-lg;\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .form-select,\n.input-group-lg > .input-group-text,\n.input-group-lg > .btn {\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n @include border-radius($input-border-radius-lg);\n}\n\n.input-group-sm > .form-control {\n min-height: $input-height-sm;\n}\n\n.input-group-sm > .form-select {\n height: $input-height-sm;\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .form-select,\n.input-group-sm > .input-group-text,\n.input-group-sm > .btn {\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n @include border-radius($input-border-radius-sm);\n}\n\n.input-group-lg > .form-select,\n.input-group-sm > .form-select {\n padding-right: $form-select-padding-x + $form-select-indicator-padding;\n}\n\n\n// Rounded corners\n//\n// These rulesets must come after the sizing ones to properly override sm and lg\n// border-radius values when extending. They're more specific than we'd like\n// with the `.input-group >` part, but without it, we cannot override the sizing.\n\n// stylelint-disable-next-line no-duplicate-selectors\n.input-group {\n > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),\n > .dropdown-toggle:nth-last-child(n + 3) {\n @include border-right-radius(0);\n }\n\n > :not(:first-child):not(.dropdown-menu) {\n margin-left: -$input-border-width;\n @include border-left-radius(0);\n }\n}\n","// This mixin uses an `if()` technique to be compatible with Dart Sass\n// See https://github.com/sass/sass/issues/1873#issuecomment-152293725 for more details\n@mixin form-validation-state-selector($state) {\n @if ($state == \"valid\" or $state == \"invalid\") {\n .was-validated #{if(&, \"&\", \"\")}:#{$state},\n #{if(&, \"&\", \"\")}.is-#{$state} {\n @content;\n }\n } @else {\n #{if(&, \"&\", \"\")}.is-#{$state} {\n @content;\n }\n }\n}\n\n@mixin form-validation-state($state, $color, $icon) {\n .#{$state}-feedback {\n display: none;\n width: 100%;\n margin-top: $form-feedback-margin-top;\n @include font-size($form-feedback-font-size);\n color: $color;\n }\n\n .#{$state}-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%; // Contain to parent when possible\n padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x;\n margin-top: .1rem;\n @include font-size($form-feedback-tooltip-font-size);\n line-height: $form-feedback-tooltip-line-height;\n color: color-contrast($color);\n background-color: rgba($color, $form-feedback-tooltip-opacity);\n @include border-radius($form-feedback-tooltip-border-radius);\n }\n\n @include form-validation-state-selector($state) {\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n\n .form-control {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-image: escape-svg($icon);\n background-repeat: no-repeat;\n background-position: right $input-height-inner-quarter center;\n background-size: $input-height-inner-half $input-height-inner-half;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, $input-btn-focus-color-opacity);\n }\n }\n }\n\n // stylelint-disable-next-line selector-no-qualifying-type\n textarea.form-control {\n @include form-validation-state-selector($state) {\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-position: top $input-height-inner-quarter right $input-height-inner-quarter;\n }\n }\n }\n\n .form-select {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $form-select-feedback-icon-padding-right;\n background-image: escape-svg($form-select-indicator), escape-svg($icon);\n background-position: $form-select-bg-position, $form-select-feedback-icon-position;\n background-size: $form-select-bg-size, $form-select-feedback-icon-size;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n\n .form-check-input {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n &:checked {\n @include gradient-bg(lighten($color, 10%), escape-svg($form-check-input-checked-bg-image));\n }\n\n &:focus {\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n\n ~ .form-check-label {\n color: $color;\n }\n }\n }\n .form-check-inline .form-check-input {\n ~ .#{$state}-feedback {\n margin-left: .5em;\n }\n }\n\n // custom file\n .form-file-input {\n @include form-validation-state-selector($state) {\n ~ .form-file-label {\n border-color: $color;\n }\n\n &:focus {\n ~ .form-file-label {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n }\n}\n","//\n// Base styles\n//\n\n.btn {\n display: inline-block;\n font-family: $btn-font-family;\n font-weight: $btn-font-weight;\n line-height: $btn-line-height;\n color: $body-color;\n text-align: center;\n text-decoration: if($link-decoration == none, null, none);\n white-space: $btn-white-space;\n vertical-align: middle;\n cursor: if($enable-pointer-cursor-for-buttons, pointer, null);\n user-select: none;\n background-color: transparent;\n border: $btn-border-width solid transparent;\n @include button-size($btn-padding-y, $btn-padding-x, $btn-font-size, $btn-border-radius);\n @include transition($btn-transition);\n\n &:hover {\n color: $body-color;\n text-decoration: if($link-hover-decoration == underline, none, null);\n }\n\n &:focus,\n &.focus {\n outline: 0;\n box-shadow: $btn-focus-box-shadow;\n }\n\n &:active,\n &.active {\n @include box-shadow($btn-active-box-shadow);\n\n &:focus {\n @include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow);\n }\n }\n\n &:disabled,\n &.disabled,\n fieldset:disabled & { // stylelint-disable-line selector-no-qualifying-type\n pointer-events: none;\n opacity: $btn-disabled-opacity;\n @include box-shadow(none);\n }\n}\n\n\n//\n// Alternate buttons\n//\n\n@each $color, $value in $theme-colors {\n .btn-#{$color} {\n @include button-variant($value, $value);\n }\n}\n\n@each $color, $value in $theme-colors {\n .btn-outline-#{$color} {\n @include button-outline-variant($value);\n }\n}\n\n\n//\n// Link buttons\n//\n\n// Make a button look and behave like a link\n.btn-link {\n font-weight: $font-weight-normal;\n color: $btn-link-color;\n text-decoration: $link-decoration;\n\n &:hover {\n color: $btn-link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n\n &:focus,\n &.focus {\n text-decoration: $link-hover-decoration;\n }\n\n &:disabled,\n &.disabled {\n color: $btn-link-disabled-color;\n }\n\n // No need for an active state here\n}\n\n\n//\n// Button Sizes\n//\n\n.btn-lg {\n @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-border-radius-lg);\n}\n\n.btn-sm {\n @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-border-radius-sm);\n}\n\n\n//\n// Block button\n//\n\n.btn-block {\n display: block;\n width: 100%;\n\n // Vertically space out multiple block buttons\n + .btn-block {\n margin-top: $btn-block-spacing-y;\n }\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n@mixin button-variant(\n $background,\n $border,\n $color: color-contrast($background),\n $hover-background: darken($background, 7.5%),\n $hover-border: darken($border, 10%),\n $hover-color: color-contrast($hover-background),\n $active-background: darken($background, 10%),\n $active-border: darken($border, 12.5%),\n $active-color: color-contrast($active-background)\n) {\n color: $color;\n @include gradient-bg($background);\n border-color: $border;\n @include box-shadow($btn-box-shadow);\n\n &:hover {\n color: $hover-color;\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n }\n\n &:focus,\n &.focus {\n color: $hover-color;\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $btn-box-shadow, 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5);\n }\n }\n\n &:active,\n &.active,\n .show > &.dropdown-toggle {\n color: $active-color;\n background-color: $active-background;\n // Remove CSS gradients if they're enabled\n background-image: if($enable-gradients, none, null);\n border-color: $active-border;\n\n &:focus {\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows and $btn-active-box-shadow != none {\n box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5);\n }\n }\n }\n\n &:disabled,\n &.disabled {\n color: $color;\n background-color: $background;\n // Remove CSS gradients if they're enabled\n background-image: if($enable-gradients, none, null);\n border-color: $border;\n }\n}\n\n@mixin button-outline-variant(\n $color,\n $color-hover: color-contrast($color),\n $active-background: $color,\n $active-border: $color,\n $active-color: color-contrast($active-background)\n) {\n color: $color;\n border-color: $color;\n\n &:hover {\n color: $color-hover;\n background-color: $active-background;\n border-color: $active-border;\n }\n\n &:focus,\n &.focus {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n\n &:active,\n &.active,\n &.dropdown-toggle.show {\n color: $active-color;\n background-color: $active-background;\n border-color: $active-border;\n\n &:focus {\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows and $btn-active-box-shadow != none {\n box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n }\n }\n\n &:disabled,\n &.disabled {\n color: $color;\n background-color: transparent;\n }\n}\n\n// Button sizes\n@mixin button-size($padding-y, $padding-x, $font-size, $border-radius) {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n // Manually declare to provide an override to the browser default\n @include border-radius($border-radius, 0);\n}\n",".fade {\n @include transition($transition-fade);\n\n &:not(.show) {\n opacity: 0;\n }\n}\n\n.collapse {\n &:not(.show) {\n display: none;\n }\n}\n\n.collapsing {\n height: 0;\n overflow: hidden;\n @include transition($transition-collapse);\n}\n","// The dropdown wrapper (`<div>`)\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n\n // Generate the caret automatically\n @include caret();\n}\n\n// The dropdown menu\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: $zindex-dropdown;\n display: none; // none by default, but block on \"open\" of the menu\n min-width: $dropdown-min-width;\n padding: $dropdown-padding-y 0;\n margin: $dropdown-spacer 0 0; // override default ul\n @include font-size($dropdown-font-size);\n color: $dropdown-color;\n text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n list-style: none;\n background-color: $dropdown-bg;\n background-clip: padding-box;\n border: $dropdown-border-width solid $dropdown-border-color;\n @include border-radius($dropdown-border-radius);\n @include box-shadow($dropdown-box-shadow);\n}\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .dropdown-menu#{$infix}-left {\n right: auto;\n left: 0;\n }\n\n .dropdown-menu#{$infix}-right {\n right: 0;\n left: auto;\n }\n }\n}\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n// Just add .dropup after the standard .dropdown class and you're set.\n.dropup {\n .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(up);\n }\n}\n\n.dropright {\n .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(right);\n &::after {\n vertical-align: 0;\n }\n }\n}\n\n.dropleft {\n .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(left);\n &::before {\n vertical-align: 0;\n }\n }\n}\n\n// When enabled Popper.js, reset basic dropdown position\n// stylelint-disable-next-line no-duplicate-selectors\n.dropdown-menu {\n &[x-placement^=\"top\"],\n &[x-placement^=\"right\"],\n &[x-placement^=\"bottom\"],\n &[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n }\n}\n\n// Dividers (basically an `<hr>`) within the dropdown\n.dropdown-divider {\n height: 0;\n margin: $dropdown-divider-margin-y 0;\n overflow: hidden;\n border-top: 1px solid $dropdown-divider-bg;\n}\n\n// Links, buttons, and more within the dropdown menu\n//\n// `<button>`-specific styles are denoted with `// For <button>s`\n.dropdown-item {\n display: block;\n width: 100%; // For `<button>`s\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n clear: both;\n font-weight: $font-weight-normal;\n color: $dropdown-link-color;\n text-align: inherit; // For `<button>`s\n text-decoration: if($link-decoration == none, null, none);\n white-space: nowrap; // prevent links from randomly breaking onto new lines\n background-color: transparent; // For `<button>`s\n border: 0; // For `<button>`s\n\n // Prevent dropdown overflow if there's no padding\n // See https://github.com/twbs/bootstrap/pull/27703\n @if $dropdown-padding-y == 0 {\n &:first-child {\n @include border-top-radius($dropdown-inner-border-radius);\n }\n\n &:last-child {\n @include border-bottom-radius($dropdown-inner-border-radius);\n }\n }\n\n &:hover,\n &:focus {\n color: $dropdown-link-hover-color;\n text-decoration: if($link-hover-decoration == underline, none, null);\n @include gradient-bg($dropdown-link-hover-bg);\n }\n\n &.active,\n &:active {\n color: $dropdown-link-active-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-active-bg);\n }\n\n &.disabled,\n &:disabled {\n color: $dropdown-link-disabled-color;\n pointer-events: none;\n background-color: transparent;\n // Remove CSS gradients if they're enabled\n background-image: if($enable-gradients, none, null);\n }\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n// Dropdown section headers\n.dropdown-header {\n display: block;\n padding: $dropdown-header-padding;\n margin-bottom: 0; // for use with heading elements\n @include font-size($font-size-sm);\n color: $dropdown-header-color;\n white-space: nowrap; // as with > li > a\n}\n\n// Dropdown text\n.dropdown-item-text {\n display: block;\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n color: $dropdown-link-color;\n}\n","@mixin caret-down {\n border-top: $caret-width solid;\n border-right: $caret-width solid transparent;\n border-bottom: 0;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-up {\n border-top: 0;\n border-right: $caret-width solid transparent;\n border-bottom: $caret-width solid;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-right {\n border-top: $caret-width solid transparent;\n border-right: 0;\n border-bottom: $caret-width solid transparent;\n border-left: $caret-width solid;\n}\n\n@mixin caret-left {\n border-top: $caret-width solid transparent;\n border-right: $caret-width solid;\n border-bottom: $caret-width solid transparent;\n}\n\n@mixin caret($direction: down) {\n @if $enable-caret {\n &::after {\n display: inline-block;\n margin-left: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @if $direction == down {\n @include caret-down();\n } @else if $direction == up {\n @include caret-up();\n } @else if $direction == right {\n @include caret-right();\n }\n }\n\n @if $direction == left {\n &::after {\n display: none;\n }\n\n &::before {\n display: inline-block;\n margin-right: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @include caret-left();\n }\n }\n\n &:empty::after {\n margin-left: 0;\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle; // match .btn alignment given font-size hack above\n\n > .btn {\n position: relative;\n flex: 1 1 auto;\n\n // Bring the hover, focused, and \"active\" buttons to the front to overlay\n // the borders properly\n &:hover,\n &:focus,\n &:active,\n &.active {\n z-index: 1;\n }\n }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n\n .input-group {\n width: auto;\n }\n}\n\n.btn-group {\n // Prevent double borders when buttons are next to each other\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-left: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-right-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-left-radius(0);\n }\n}\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-sm > .btn { @extend .btn-sm; }\n.btn-group-lg > .btn { @extend .btn-lg; }\n\n\n//\n// Split button dropdowns\n//\n\n.dropdown-toggle-split {\n padding-right: $btn-padding-x * .75;\n padding-left: $btn-padding-x * .75;\n\n &::after,\n .dropup &::after,\n .dropright &::after {\n margin-left: 0;\n }\n\n .dropleft &::before {\n margin-right: 0;\n }\n}\n\n.btn-sm + .dropdown-toggle-split {\n padding-right: $btn-padding-x-sm * .75;\n padding-left: $btn-padding-x-sm * .75;\n}\n\n.btn-lg + .dropdown-toggle-split {\n padding-right: $btn-padding-x-lg * .75;\n padding-left: $btn-padding-x-lg * .75;\n}\n\n\n// The clickable button for toggling the menu\n// Set the same inset shadow as the :active state\n.btn-group.show .dropdown-toggle {\n @include box-shadow($btn-active-box-shadow);\n\n // Show no shadow for `.btn-link` since it has no other button styles.\n &.btn-link {\n @include box-shadow(none);\n }\n}\n\n\n//\n// Vertical button groups\n//\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n\n > .btn,\n > .btn-group {\n width: 100%;\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-top: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-bottom-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-top-radius(0);\n }\n}\n\n\n// Checkbox and radio options\n//\n// In order to support the browser's form validation feedback, powered by the\n// `required` attribute, we have to \"hide\" the inputs via `clip`. We cannot use\n// `display: none;` or `visibility: hidden;` as that also hides the popover.\n// Simply visually hiding the inputs via `opacity` would leave them clickable in\n// certain cases which is prevented by using `clip` and `pointer-events`.\n// This way, we ensure a DOM element is visible to position the popover from.\n//\n// See https://github.com/twbs/bootstrap/pull/12794 and\n// https://github.com/twbs/bootstrap/pull/14559 for more information.\n\n.btn-group-toggle {\n > .btn,\n > .btn-group > .btn {\n margin-bottom: 0; // Override default `<label>` value\n\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n }\n }\n}\n","// Base class\n//\n// Kickstart any navigation component with a set of style resets. Works with\n// `<nav>`s, `<ul>`s or `<ol>`s.\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: $nav-link-padding-y $nav-link-padding-x;\n text-decoration: if($link-decoration == none, null, none);\n\n &:hover,\n &:focus {\n text-decoration: if($link-hover-decoration == underline, none, null);\n }\n\n // Disabled state lightens text\n &.disabled {\n color: $nav-link-disabled-color;\n pointer-events: none;\n cursor: default;\n }\n}\n\n//\n// Tabs\n//\n\n.nav-tabs {\n border-bottom: $nav-tabs-border-width solid $nav-tabs-border-color;\n\n .nav-link {\n margin-bottom: -$nav-tabs-border-width;\n border: $nav-tabs-border-width solid transparent;\n @include border-top-radius($nav-tabs-border-radius);\n\n &:hover,\n &:focus {\n border-color: $nav-tabs-link-hover-border-color;\n }\n\n &.disabled {\n color: $nav-link-disabled-color;\n background-color: transparent;\n border-color: transparent;\n }\n }\n\n .nav-link.active,\n .nav-item.show .nav-link {\n color: $nav-tabs-link-active-color;\n background-color: $nav-tabs-link-active-bg;\n border-color: $nav-tabs-link-active-border-color;\n }\n\n .dropdown-menu {\n // Make dropdown border overlap tab border\n margin-top: -$nav-tabs-border-width;\n // Remove the top rounded corners here since there is a hard edge above the menu\n @include border-top-radius(0);\n }\n}\n\n\n//\n// Pills\n//\n\n.nav-pills {\n .nav-link {\n @include border-radius($nav-pills-border-radius);\n }\n\n .nav-link.active,\n .show > .nav-link {\n color: $nav-pills-link-active-color;\n background-color: $nav-pills-link-active-bg;\n }\n}\n\n\n//\n// Justified variants\n//\n\n.nav-fill {\n .nav-item {\n flex: 1 1 auto;\n text-align: center;\n }\n}\n\n.nav-justified {\n .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n }\n}\n\n\n// Tabbable tabs\n//\n// Hide tabbable panes to start, show them when `.active`\n\n.tab-content {\n > .tab-pane {\n display: none;\n }\n > .active {\n display: block;\n }\n}\n","// Contents\n//\n// Navbar\n// Navbar brand\n// Navbar nav\n// Navbar text\n// Responsive navbar\n// Navbar position\n// Navbar themes\n\n\n// Navbar\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap; // allow us to do the line break for collapsing content\n align-items: center;\n justify-content: space-between; // space out brand from logo\n padding-top: $navbar-padding-y;\n padding-right: $navbar-padding-x; // default: null\n padding-bottom: $navbar-padding-y;\n padding-left: $navbar-padding-x; // default: null\n\n // Because flex properties aren't inherited, we need to redeclare these first\n // few properties so that content nested within behave properly.\n // The `flex-wrap` property is inherited to simplify the expanded navbars\n %container-flex-properties {\n display: flex;\n flex-wrap: inherit;\n align-items: center;\n justify-content: space-between;\n }\n\n > .container,\n > .container-fluid {\n @extend %container-flex-properties;\n }\n\n @each $breakpoint, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($breakpoint, $container-max-widths)} {\n @extend %container-flex-properties;\n }\n }\n}\n\n\n// Navbar brand\n//\n// Used for brand, project, or site names.\n\n.navbar-brand {\n padding-top: $navbar-brand-padding-y;\n padding-bottom: $navbar-brand-padding-y;\n margin-right: $navbar-brand-margin-right;\n @include font-size($navbar-brand-font-size);\n white-space: nowrap;\n\n &:hover,\n &:focus {\n text-decoration: none;\n }\n}\n\n\n// Navbar nav\n//\n// Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`).\n\n.navbar-nav {\n display: flex;\n flex-direction: column; // cannot use `inherit` to get the `.navbar`s value\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n\n .nav-link {\n padding-right: 0;\n padding-left: 0;\n }\n\n .dropdown-menu {\n position: static;\n }\n}\n\n\n// Navbar text\n//\n//\n\n.navbar-text {\n padding-top: $nav-link-padding-y;\n padding-bottom: $nav-link-padding-y;\n}\n\n\n// Responsive navbar\n//\n// Custom styles for responsive collapsing and toggling of navbar contents.\n// Powered by the collapse Bootstrap JavaScript plugin.\n\n// When collapsed, prevent the toggleable navbar contents from appearing in\n// the default flexbox row orientation. Requires the use of `flex-wrap: wrap`\n// on the `.navbar` parent.\n.navbar-collapse {\n // For always expanded or extra full navbars, ensure content aligns itself\n // properly vertically. Can be easily overridden with flex utilities.\n align-items: center;\n width: 100%;\n}\n\n// Button for toggling the navbar when in its collapsed state\n.navbar-toggler {\n padding: $navbar-toggler-padding-y $navbar-toggler-padding-x;\n @include font-size($navbar-toggler-font-size);\n line-height: 1;\n background-color: transparent; // remove default button style\n border: $border-width solid transparent; // remove default button style\n @include border-radius($navbar-toggler-border-radius);\n @include transition($navbar-toggler-transition);\n\n &:hover {\n text-decoration: none;\n }\n\n &:focus {\n text-decoration: none;\n outline: 0;\n box-shadow: 0 0 0 $navbar-toggler-focus-width;\n }\n}\n\n// Keep as a separate element so folks can easily override it with another icon\n// or image file as needed.\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n background-repeat: no-repeat;\n background-position: center;\n background-size: 100%;\n}\n\n// Generate series of `.navbar-expand-*` responsive classes for configuring\n// where your navbar collapses.\n.navbar-expand {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-up($next) {\n flex-wrap: nowrap;\n justify-content: flex-start;\n\n .navbar-nav {\n flex-direction: row;\n\n .dropdown-menu {\n position: absolute;\n }\n\n .nav-link {\n padding-right: $navbar-nav-link-padding-x;\n padding-left: $navbar-nav-link-padding-x;\n }\n }\n\n .navbar-collapse {\n display: flex !important; // stylelint-disable-line declaration-no-important\n }\n\n .navbar-toggler {\n display: none;\n }\n }\n }\n }\n}\n\n\n// Navbar themes\n//\n// Styles for switching between navbars with light or dark background.\n\n// Dark links against a light background\n.navbar-light {\n .navbar-brand {\n color: $navbar-light-brand-color;\n\n &:hover,\n &:focus {\n color: $navbar-light-brand-hover-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-light-color;\n\n &:hover,\n &:focus {\n color: $navbar-light-hover-color;\n }\n\n &.disabled {\n color: $navbar-light-disabled-color;\n }\n }\n\n .show > .nav-link,\n .active > .nav-link,\n .nav-link.show,\n .nav-link.active {\n color: $navbar-light-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-light-color;\n border-color: $navbar-light-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: escape-svg($navbar-light-toggler-icon-bg);\n }\n\n .navbar-text {\n color: $navbar-light-color;\n\n a,\n a:hover,\n a:focus {\n color: $navbar-light-active-color;\n }\n }\n}\n\n// White links against a dark background\n.navbar-dark {\n .navbar-brand {\n color: $navbar-dark-brand-color;\n\n &:hover,\n &:focus {\n color: $navbar-dark-brand-hover-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-dark-color;\n\n &:hover,\n &:focus {\n color: $navbar-dark-hover-color;\n }\n\n &.disabled {\n color: $navbar-dark-disabled-color;\n }\n }\n\n .show > .nav-link,\n .active > .nav-link,\n .nav-link.show,\n .nav-link.active {\n color: $navbar-dark-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-dark-color;\n border-color: $navbar-dark-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: escape-svg($navbar-dark-toggler-icon-bg);\n }\n\n .navbar-text {\n color: $navbar-dark-color;\n a,\n a:hover,\n a:focus {\n color: $navbar-dark-active-color;\n }\n }\n}\n","//\n// Base styles\n//\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106\n height: $card-height;\n word-wrap: break-word;\n background-color: $card-bg;\n background-clip: border-box;\n border: $card-border-width solid $card-border-color;\n @include border-radius($card-border-radius);\n\n > hr {\n margin-right: 0;\n margin-left: 0;\n }\n\n > .list-group:first-child {\n .list-group-item:first-child {\n @include border-top-radius($card-border-radius);\n }\n }\n\n > .list-group:last-child {\n .list-group-item:last-child {\n @include border-bottom-radius($card-border-radius);\n }\n }\n}\n\n.card-body {\n // Enable `flex-grow: 1` for decks and groups so that card blocks take up\n // as much space as possible, ensuring footers are aligned to the bottom.\n flex: 1 1 auto;\n padding: $card-spacer-y $card-spacer-x;\n color: $card-color;\n}\n\n.card-title {\n margin-bottom: $card-title-spacer-y;\n}\n\n.card-subtitle {\n margin-top: -$card-title-spacer-y / 2;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link {\n &:hover {\n text-decoration: none;\n }\n\n + .card-link {\n margin-left: $card-spacer-x;\n }\n}\n\n//\n// Optional textual caps\n//\n\n.card-header {\n padding: $card-cap-padding-y $card-cap-padding-x;\n margin-bottom: 0; // Removes the default margin-bottom of <hN>\n color: $card-cap-color;\n background-color: $card-cap-bg;\n border-bottom: $card-border-width solid $card-border-color;\n\n &:first-child {\n @include border-radius($card-inner-border-radius $card-inner-border-radius 0 0);\n }\n\n + .list-group {\n .list-group-item:first-child {\n border-top: 0;\n }\n }\n}\n\n.card-footer {\n padding: $card-cap-padding-y $card-cap-padding-x;\n background-color: $card-cap-bg;\n border-top: $card-border-width solid $card-border-color;\n\n &:last-child {\n @include border-radius(0 0 $card-inner-border-radius $card-inner-border-radius);\n }\n}\n\n\n//\n// Header navs\n//\n\n.card-header-tabs {\n margin-right: -$card-cap-padding-x / 2;\n margin-bottom: -$card-cap-padding-y;\n margin-left: -$card-cap-padding-x / 2;\n border-bottom: 0;\n\n @if $nav-tabs-link-active-bg != $card-bg {\n .nav-link.active {\n background-color: $card-bg;\n border-bottom-color: $card-bg;\n }\n }\n}\n\n.card-header-pills {\n margin-right: -$card-cap-padding-x / 2;\n margin-left: -$card-cap-padding-x / 2;\n}\n\n// Card image\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: $card-img-overlay-padding;\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n}\n\n.card-img,\n.card-img-top {\n @include border-top-radius($card-inner-border-radius);\n}\n\n.card-img,\n.card-img-bottom {\n @include border-bottom-radius($card-inner-border-radius);\n}\n\n\n//\n// Card groups\n//\n\n.card-group {\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n margin-bottom: $card-group-margin;\n }\n\n @include media-breakpoint-up(sm) {\n display: flex;\n flex-flow: row wrap;\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n flex: 1 0 0%;\n margin-bottom: 0;\n\n + .card {\n margin-left: 0;\n border-left: 0;\n }\n\n // Handle rounded corners\n @if $enable-rounded {\n &:not(:last-child) {\n @include border-right-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-blacklist\n border-top-right-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-blacklist\n border-bottom-right-radius: 0;\n }\n }\n\n &:not(:first-child) {\n @include border-left-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-blacklist\n border-top-left-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-blacklist\n border-bottom-left-radius: 0;\n }\n }\n }\n }\n }\n}\n\n\n//\n// Accordion\n//\n\n.accordion {\n > .card {\n overflow: hidden;\n\n &:not(:last-of-type) {\n border-bottom: 0;\n @include border-bottom-radius(0);\n }\n\n &:not(:first-of-type) {\n @include border-top-radius(0);\n }\n\n > .card-header {\n @include border-radius(0);\n margin-bottom: -$card-border-width;\n }\n }\n}\n",".breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: $breadcrumb-padding-y $breadcrumb-padding-x;\n margin-bottom: $breadcrumb-margin-bottom;\n @include font-size($breadcrumb-font-size);\n list-style: none;\n background-color: $breadcrumb-bg;\n @include border-radius($breadcrumb-border-radius);\n}\n\n.breadcrumb-item {\n display: flex;\n\n // The separator between breadcrumbs (by default, a forward-slash: \"/\")\n + .breadcrumb-item {\n padding-left: $breadcrumb-item-padding-x;\n\n &::before {\n display: inline-block; // Suppress underlining of the separator\n padding-right: $breadcrumb-item-padding-x;\n color: $breadcrumb-divider-color;\n content: escape-svg($breadcrumb-divider);\n }\n }\n\n &.active {\n color: $breadcrumb-active-color;\n }\n}\n",".pagination {\n display: flex;\n @include list-unstyled();\n}\n\n.page-link {\n position: relative;\n display: block;\n color: $pagination-color;\n text-decoration: if($link-decoration == none, null, none);\n background-color: $pagination-bg;\n border: $pagination-border-width solid $pagination-border-color;\n\n &:hover {\n z-index: 2;\n color: $pagination-hover-color;\n text-decoration: if($link-hover-decoration == underline, none, null);\n background-color: $pagination-hover-bg;\n border-color: $pagination-hover-border-color;\n }\n\n &:focus {\n z-index: 3;\n outline: $pagination-focus-outline;\n box-shadow: $pagination-focus-box-shadow;\n }\n}\n\n.page-item {\n &:not(:first-child) .page-link {\n margin-left: $pagination-margin-left;\n }\n\n &.active .page-link {\n z-index: 3;\n color: $pagination-active-color;\n background-color: $pagination-active-bg;\n border-color: $pagination-active-border-color;\n }\n\n &.disabled .page-link {\n color: $pagination-disabled-color;\n pointer-events: none;\n background-color: $pagination-disabled-bg;\n border-color: $pagination-disabled-border-color;\n }\n}\n\n\n//\n// Sizing\n//\n@include pagination-size($pagination-padding-y, $pagination-padding-x, null, $pagination-border-radius);\n\n.pagination-lg {\n @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $border-radius-lg);\n}\n\n.pagination-sm {\n @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $border-radius-sm);\n}\n","// Pagination\n\n@mixin pagination-size($padding-y, $padding-x, $font-size, $border-radius) {\n .page-link {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n }\n\n .page-item {\n @if $pagination-margin-left == (-$pagination-border-width) {\n &:first-child {\n .page-link {\n @include border-left-radius($border-radius);\n }\n }\n\n &:last-child {\n .page-link {\n @include border-right-radius($border-radius);\n }\n }\n } @else {\n //Add border-radius to all pageLinks in case they have left margin\n .page-link {\n @include border-radius($border-radius);\n }\n }\n }\n}\n","// Base class\n//\n// Requires one of the contextual, color modifier classes for `color` and\n// `background-color`.\n\n.badge {\n display: inline-block;\n padding: $badge-padding-y $badge-padding-x;\n @include font-size($badge-font-size);\n font-weight: $badge-font-weight;\n line-height: 1;\n color: $badge-color;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n @include border-radius($badge-border-radius);\n\n // Empty badges collapse automatically\n &:empty {\n display: none;\n }\n}\n\n// Quick fix for badges in buttons\n.btn .badge {\n position: relative;\n top: -1px;\n}\n","//\n// Base styles\n//\n\n.alert {\n position: relative;\n padding: $alert-padding-y $alert-padding-x;\n margin-bottom: $alert-margin-bottom;\n border: $alert-border-width solid transparent;\n @include border-radius($alert-border-radius);\n}\n\n// Headings for larger alerts\n.alert-heading {\n // Specified to prevent conflicts of changing $headings-color\n color: inherit;\n}\n\n// Provide class for links that match alerts\n.alert-link {\n font-weight: $alert-link-font-weight;\n}\n\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissible {\n padding-right: $close-font-size + $alert-padding-x * 2;\n\n // Adjust close link position\n .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: $alert-padding-y $alert-padding-x;\n color: inherit;\n }\n}\n\n\n// Alternate styles\n//\n// Generate contextual modifier classes for colorizing the alert.\n\n@each $color, $value in $theme-colors {\n .alert-#{$color} {\n @include alert-variant(color-level($value, $alert-bg-level), color-level($value, $alert-border-level), color-level($value, $alert-color-level));\n }\n}\n","@mixin alert-variant($background, $border, $color) {\n color: $color;\n @include gradient-bg($background);\n border-color: $border;\n\n .alert-link {\n color: darken($color, 10%);\n }\n}\n","// Disable animation if transitions are disabled\n@if $enable-transitions {\n @keyframes progress-bar-stripes {\n 0% { background-position-x: $progress-height; }\n }\n}\n\n.progress {\n display: flex;\n height: $progress-height;\n overflow: hidden; // force rounded corners by cropping it\n @include font-size($progress-font-size);\n background-color: $progress-bg;\n @include border-radius($progress-border-radius);\n @include box-shadow($progress-box-shadow);\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: $progress-bar-color;\n text-align: center;\n white-space: nowrap;\n background-color: $progress-bar-bg;\n @include transition($progress-bar-transition);\n}\n\n.progress-bar-striped {\n @include gradient-striped();\n background-size: $progress-height $progress-height;\n}\n\n@if $enable-transitions {\n .progress-bar-animated {\n animation: progress-bar-stripes $progress-bar-animation-timing;\n\n @if $enable-prefers-reduced-motion-media-query {\n @media (prefers-reduced-motion: reduce) {\n animation: none;\n }\n }\n }\n}\n","// Base class\n//\n// Easily usable on <ul>, <ol>, or <div>.\n\n.list-group {\n display: flex;\n flex-direction: column;\n\n // No need to set list-style: none; since .list-group-item is block level\n padding-left: 0; // reset padding because ul and ol\n margin-bottom: 0;\n}\n\n\n// Interactive list items\n//\n// Use anchor or button elements instead of `li`s or `div`s to create interactive\n// list items. Includes an extra `.active` modifier class for selected items.\n\n.list-group-item-action {\n width: 100%; // For `<button>`s (anchors become 100% by default though)\n color: $list-group-action-color;\n text-align: inherit; // For `<button>`s (anchors inherit)\n\n // Hover state\n &:hover,\n &:focus {\n z-index: 1; // Place hover/focus items above their siblings for proper border styling\n color: $list-group-action-hover-color;\n text-decoration: none;\n background-color: $list-group-hover-bg;\n }\n\n &:active {\n color: $list-group-action-active-color;\n background-color: $list-group-action-active-bg;\n }\n}\n\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n position: relative;\n display: block;\n padding: $list-group-item-padding-y $list-group-item-padding-x;\n margin-bottom: 0; // for <label> variations\n color: $list-group-color;\n text-decoration: if($link-decoration == none, null, none);\n background-color: $list-group-bg;\n border: $list-group-border-width solid $list-group-border-color;\n\n &:first-child {\n @include border-top-radius($list-group-border-radius);\n }\n\n &:last-child {\n @include border-bottom-radius($list-group-border-radius);\n }\n\n &.disabled,\n &:disabled {\n color: $list-group-disabled-color;\n pointer-events: none;\n background-color: $list-group-disabled-bg;\n }\n\n // Include both here for `<a>`s and `<button>`s\n &.active {\n z-index: 2; // Place active items above their siblings for proper border styling\n color: $list-group-active-color;\n background-color: $list-group-active-bg;\n border-color: $list-group-active-border-color;\n }\n\n & + & {\n border-top-width: 0;\n\n &.active {\n margin-top: -$list-group-border-width;\n border-top-width: $list-group-border-width;\n }\n }\n}\n\n\n// Horizontal\n//\n// Change the layout of list group items from vertical (default) to horizontal.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .list-group-horizontal#{$infix} {\n flex-direction: row;\n\n .list-group-item {\n &:first-child {\n @include border-bottom-left-radius($list-group-border-radius);\n @include border-top-right-radius(0);\n }\n\n &:last-child {\n @include border-top-right-radius($list-group-border-radius);\n @include border-bottom-left-radius(0);\n }\n\n &.active {\n margin-top: 0;\n }\n\n & + .list-group-item {\n border-top-width: $list-group-border-width;\n border-left-width: 0;\n\n &.active {\n margin-left: -$list-group-border-width;\n border-left-width: $list-group-border-width;\n }\n }\n }\n }\n }\n}\n\n\n// Flush list items\n//\n// Remove borders and border-radius to keep list group items edge-to-edge. Most\n// useful within other components (e.g., cards).\n\n.list-group-flush {\n .list-group-item {\n border-right-width: 0;\n border-left-width: 0;\n @include border-radius(0);\n\n &:first-child {\n border-top-width: 0;\n }\n }\n\n &:last-child {\n .list-group-item:last-child {\n border-bottom-width: 0;\n }\n }\n}\n\n\n// Contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n@each $color, $value in $theme-colors {\n @include list-group-item-variant($color, color-level($value, -9), color-level($value, 6));\n}\n","// List Groups\n\n@mixin list-group-item-variant($state, $background, $color) {\n .list-group-item-#{$state} {\n color: $color;\n background-color: $background;\n\n &.list-group-item-action {\n &:hover,\n &:focus {\n color: $color;\n background-color: darken($background, 5%);\n }\n\n &.active {\n color: $white;\n background-color: $color;\n border-color: $color;\n }\n }\n }\n}\n",".close {\n @include font-size($close-font-size);\n font-weight: $close-font-weight;\n line-height: 1;\n color: $close-color;\n text-shadow: $close-text-shadow;\n opacity: .5;\n\n // Override <a>'s hover style\n &:hover {\n color: $close-color;\n text-decoration: none;\n }\n\n &:hover,\n &:focus {\n opacity: .75;\n }\n\n &:disabled,\n &.disabled {\n pointer-events: none;\n }\n}\n\n// Additional properties for button version\n// iOS requires the button element instead of an anchor tag.\n// If you want the anchor version, it requires `href=\"#\"`.\n// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n// stylelint-disable-next-line selector-no-qualifying-type\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n appearance: none;\n}\n",".toast {\n max-width: $toast-max-width;\n overflow: hidden; // cheap rounded corners on nested items\n @include font-size($toast-font-size);\n color: $toast-color;\n background-color: $toast-background-color;\n background-clip: padding-box;\n border: $toast-border-width solid $toast-border-color;\n box-shadow: $toast-box-shadow;\n backdrop-filter: blur(10px);\n opacity: 0;\n @include border-radius($toast-border-radius);\n\n &:not(:last-child) {\n margin-bottom: $toast-padding-x;\n }\n\n &.showing {\n opacity: 1;\n }\n\n &.show {\n display: block;\n opacity: 1;\n }\n\n &.hide {\n display: none;\n }\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: $toast-padding-y $toast-padding-x;\n color: $toast-header-color;\n background-color: $toast-header-background-color;\n background-clip: padding-box;\n border-bottom: $toast-border-width solid $toast-header-border-color;\n}\n\n.toast-body {\n padding: $toast-padding-x; // apply to both vertical and horizontal\n}\n","// .modal-open - body class for killing the scroll\n// .modal - container to scroll within\n// .modal-dialog - positioning shell for the actual modal\n// .modal-content - actual modal w/ bg and corners and stuff\n\n\n.modal-open {\n // Kill the scroll on the body\n overflow: hidden;\n\n .modal {\n overflow-x: hidden;\n overflow-y: auto;\n }\n}\n\n// Container that the modal scrolls within\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n // Prevent Chrome on Windows from adding a focus outline. For details, see\n // https://github.com/twbs/bootstrap/pull/10951.\n outline: 0;\n // We deliberately don't use `-webkit-overflow-scrolling: touch;` due to a\n // gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342\n // See also https://github.com/twbs/bootstrap/issues/17695\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n position: relative;\n width: auto;\n margin: $modal-dialog-margin;\n // allow clicks to pass through for custom click handling to close modal\n pointer-events: none;\n\n // When fading in the modal, animate it to slide down\n .modal.fade & {\n @include transition($modal-transition);\n transform: $modal-fade-transform;\n }\n .modal.show & {\n transform: $modal-show-transform;\n }\n\n // When trying to close, animate focus to scale\n .modal.modal-static & {\n transform: $modal-scale-transform;\n }\n}\n\n.modal-dialog-scrollable {\n max-height: subtract(100%, $modal-dialog-margin * 2);\n\n .modal-content {\n overflow: hidden;\n }\n\n .modal-header,\n .modal-footer {\n flex-shrink: 0;\n }\n\n .modal-body {\n overflow-y: auto;\n }\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: subtract(100%, $modal-dialog-margin * 2);\n}\n\n// Actual modal\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%; // Ensure `.modal-content` extends the full width of the parent `.modal-dialog`\n // counteract the pointer-events: none; in the .modal-dialog\n color: $modal-content-color;\n pointer-events: auto;\n background-color: $modal-content-bg;\n background-clip: padding-box;\n border: $modal-content-border-width solid $modal-content-border-color;\n @include border-radius($modal-content-border-radius);\n @include box-shadow($modal-content-box-shadow-xs);\n // Remove focus outline from opened modal\n outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal-backdrop;\n width: 100vw;\n height: 100vh;\n background-color: $modal-backdrop-bg;\n\n // Fade for backdrop\n &.fade { opacity: 0; }\n &.show { opacity: $modal-backdrop-opacity; }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n display: flex;\n align-items: flex-start; // so the close btn always stays on the upper right corner\n justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends\n padding: $modal-header-padding;\n border-bottom: $modal-header-border-width solid $modal-header-border-color;\n @include border-top-radius($modal-content-inner-border-radius);\n\n .close {\n padding: $modal-header-padding;\n // auto on the left force icon to the right even when there is no .modal-title\n margin: (-$modal-header-padding-y) (-$modal-header-padding-x) (-$modal-header-padding-y) auto;\n }\n}\n\n// Title text within header\n.modal-title {\n margin-bottom: 0;\n line-height: $modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n position: relative;\n // Enable `flex-grow: 1` so that the body take up as much space as possible\n // when there should be a fixed height on `.modal-dialog`.\n flex: 1 1 auto;\n padding: $modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center; // vertically center\n justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items\n padding: $modal-inner-padding - $modal-footer-margin-between / 2;\n border-top: $modal-footer-border-width solid $modal-footer-border-color;\n @include border-bottom-radius($modal-content-inner-border-radius);\n\n // Place margin between footer elements\n // This solution is far from ideal because of the universal selector usage,\n // but is needed to fix https://github.com/twbs/bootstrap/issues/24800\n > * {\n margin: $modal-footer-margin-between / 2;\n }\n}\n\n// Measure scrollbar width for padding body during modal show/hide\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n// Scale up the modal\n@include media-breakpoint-up(sm) {\n // Automatically set modal's width for larger viewports\n .modal-dialog {\n max-width: $modal-md;\n margin: $modal-dialog-margin-y-sm-up auto;\n }\n\n .modal-dialog-scrollable {\n max-height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);\n }\n\n .modal-dialog-centered {\n min-height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);\n }\n\n .modal-content {\n @include box-shadow($modal-content-box-shadow-sm-up);\n }\n\n .modal-sm { max-width: $modal-sm; }\n}\n\n@include media-breakpoint-up(lg) {\n .modal-lg,\n .modal-xl {\n max-width: $modal-lg;\n }\n}\n\n@include media-breakpoint-up(xl) {\n .modal-xl { max-width: $modal-xl; }\n}\n","// Base class\n.tooltip {\n position: absolute;\n z-index: $zindex-tooltip;\n display: block;\n margin: $tooltip-margin;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($tooltip-font-size);\n // Allow breaking very long words so they don't overflow the tooltip's bounds\n word-wrap: break-word;\n opacity: 0;\n\n &.show { opacity: $tooltip-opacity; }\n\n .tooltip-arrow {\n position: absolute;\n display: block;\n width: $tooltip-arrow-width;\n height: $tooltip-arrow-height;\n\n &::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-tooltip-top {\n padding: $tooltip-arrow-height 0;\n\n .tooltip-arrow {\n bottom: 0;\n\n &::before {\n top: 0;\n border-width: $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-top-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-right {\n padding: 0 $tooltip-arrow-height;\n\n .tooltip-arrow {\n left: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n right: 0;\n border-width: ($tooltip-arrow-width / 2) $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-right-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-bottom {\n padding: $tooltip-arrow-height 0;\n\n .tooltip-arrow {\n top: 0;\n\n &::before {\n bottom: 0;\n border-width: 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-bottom-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-left {\n padding: 0 $tooltip-arrow-height;\n\n .tooltip-arrow {\n right: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n left: 0;\n border-width: ($tooltip-arrow-width / 2) 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-left-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-tooltip-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-tooltip-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-tooltip-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-tooltip-left;\n }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n max-width: $tooltip-max-width;\n padding: $tooltip-padding-y $tooltip-padding-x;\n color: $tooltip-color;\n text-align: center;\n background-color: $tooltip-bg;\n @include border-radius($tooltip-border-radius);\n}\n","@mixin reset-text {\n font-family: $font-family-base;\n // We deliberately do NOT reset font-size or overflow-wrap / word-wrap.\n font-style: normal;\n font-weight: $font-weight-normal;\n line-height: $line-height-base;\n text-align: left; // Fallback for where `start` is not supported\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n}\n",".popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: $zindex-popover;\n display: block;\n max-width: $popover-max-width;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($popover-font-size);\n // Allow breaking very long words so they don't overflow the popover's bounds\n word-wrap: break-word;\n background-color: $popover-bg;\n background-clip: padding-box;\n border: $popover-border-width solid $popover-border-color;\n @include border-radius($popover-border-radius);\n @include box-shadow($popover-box-shadow);\n\n .popover-arrow {\n position: absolute;\n display: block;\n width: $popover-arrow-width;\n height: $popover-arrow-height;\n margin: 0 $popover-border-radius;\n\n &::before,\n &::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-popover-top {\n margin-bottom: $popover-arrow-height;\n\n > .popover-arrow {\n bottom: subtract(-$popover-arrow-height, $popover-border-width);\n\n &::before {\n bottom: 0;\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-top-color: $popover-arrow-outer-color;\n }\n\n &::after {\n bottom: $popover-border-width;\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-top-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-right {\n margin-left: $popover-arrow-height;\n\n > .popover-arrow {\n left: subtract(-$popover-arrow-height, $popover-border-width);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners\n\n &::before {\n left: 0;\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-right-color: $popover-arrow-outer-color;\n }\n\n &::after {\n left: $popover-border-width;\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-right-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-bottom {\n margin-top: $popover-arrow-height;\n\n > .popover-arrow {\n top: subtract(-$popover-arrow-height, $popover-border-width);\n\n &::before {\n top: 0;\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\n border-bottom-color: $popover-arrow-outer-color;\n }\n\n &::after {\n top: $popover-border-width;\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\n border-bottom-color: $popover-arrow-color;\n }\n }\n\n // This will remove the popover-header's border just below the arrow\n .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: $popover-arrow-width;\n margin-left: -$popover-arrow-width / 2;\n content: \"\";\n border-bottom: $popover-border-width solid $popover-header-bg;\n }\n}\n\n.bs-popover-left {\n margin-right: $popover-arrow-height;\n\n > .popover-arrow {\n right: subtract(-$popover-arrow-height, $popover-border-width);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners\n\n &::before {\n right: 0;\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\n border-left-color: $popover-arrow-outer-color;\n }\n\n &::after {\n right: $popover-border-width;\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\n border-left-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-popover-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-popover-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-popover-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-popover-left;\n }\n}\n\n\n// Offset the popover to account for the popover arrow\n.popover-header {\n padding: $popover-header-padding-y $popover-header-padding-x;\n margin-bottom: 0; // Reset the default from Reboot\n @include font-size($font-size-base);\n color: $popover-header-color;\n background-color: $popover-header-bg;\n border-bottom: $popover-border-width solid darken($popover-header-bg, 5%);\n @include border-top-radius($popover-inner-border-radius);\n\n &:empty {\n display: none;\n }\n}\n\n.popover-body {\n padding: $popover-body-padding-y $popover-body-padding-x;\n color: $popover-body-color;\n}\n","// Notes on the classes:\n//\n// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically)\n// even when their scroll action started on a carousel, but for compatibility (with Firefox)\n// we're preventing all actions instead\n// 2. The .carousel-item-left and .carousel-item-right is used to indicate where\n// the active slide is heading.\n// 3. .active.carousel-item is the current slide.\n// 4. .active.carousel-item-left and .active.carousel-item-right is the current\n// slide in its in-transition state. Only one of these occurs at a time.\n// 5. .carousel-item-next.carousel-item-left and .carousel-item-prev.carousel-item-right\n// is the upcoming slide in transition.\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n @include clearfix();\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n @include transition($carousel-transition);\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n\n//\n// Alternate transitions\n//\n\n.carousel-fade {\n .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n }\n\n .carousel-item.active,\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n }\n\n .active.carousel-item-left,\n .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n @include transition(opacity 0s $carousel-transition-duration);\n }\n}\n\n\n//\n// Left/right controls for nav\n//\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n // Use flex for alignment (1-3)\n display: flex; // 1. allow flex styles\n align-items: center; // 2. vertically center contents\n justify-content: center; // 3. horizontally center contents\n width: $carousel-control-width;\n color: $carousel-control-color;\n text-align: center;\n opacity: $carousel-control-opacity;\n @include transition($carousel-control-transition);\n\n // Hover/focus state\n &:hover,\n &:focus {\n color: $carousel-control-color;\n text-decoration: none;\n outline: 0;\n opacity: $carousel-control-hover-opacity;\n }\n}\n.carousel-control-prev {\n left: 0;\n background-image: if($enable-gradients, linear-gradient(90deg, rgba($black, .25), rgba($black, .001)), null);\n}\n.carousel-control-next {\n right: 0;\n background-image: if($enable-gradients, linear-gradient(270deg, rgba($black, .25), rgba($black, .001)), null);\n}\n\n// Icons for within\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: $carousel-control-icon-width;\n height: $carousel-control-icon-width;\n background-repeat: no-repeat;\n background-position: 50%;\n background-size: 100% 100%;\n}\n.carousel-control-prev-icon {\n background-image: escape-svg($carousel-control-prev-icon-bg);\n}\n.carousel-control-next-icon {\n background-image: escape-svg($carousel-control-next-icon-bg);\n}\n\n\n// Optional indicator pips\n//\n// Add an ordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n display: flex;\n justify-content: center;\n padding-left: 0; // override <ol> default\n // Use the .carousel-control's width as margin so we don't overlay those\n margin-right: $carousel-control-width;\n margin-left: $carousel-control-width;\n list-style: none;\n\n li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: $carousel-indicator-width;\n height: $carousel-indicator-height;\n margin-right: $carousel-indicator-spacer;\n margin-left: $carousel-indicator-spacer;\n text-indent: -999px;\n cursor: pointer;\n background-color: $carousel-indicator-active-bg;\n background-clip: padding-box;\n // Use transparent borders to increase the hit area by 10px on top and bottom.\n border-top: $carousel-indicator-hit-area-height solid transparent;\n border-bottom: $carousel-indicator-hit-area-height solid transparent;\n opacity: $carousel-indicator-opacity;\n @include transition($carousel-indicator-transition);\n }\n\n .active {\n opacity: $carousel-indicator-active-opacity;\n }\n}\n\n\n// Optional captions\n//\n//\n\n.carousel-caption {\n position: absolute;\n right: (100% - $carousel-caption-width) / 2;\n bottom: $carousel-caption-spacer;\n left: (100% - $carousel-caption-width) / 2;\n padding-top: $carousel-caption-padding-y;\n padding-bottom: $carousel-caption-padding-y;\n color: $carousel-caption-color;\n text-align: center;\n}\n","@mixin clearfix() {\n &::after {\n display: block;\n clear: both;\n content: \"\";\n }\n}\n","//\n// Rotating border\n//\n\n@keyframes spinner-border {\n to { transform: rotate(360deg); }\n}\n\n.spinner-border {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: text-bottom;\n border: $spinner-border-width solid currentColor;\n border-right-color: transparent;\n // stylelint-disable-next-line property-blacklist\n border-radius: 50%;\n animation: spinner-border $spinner-animation-speed linear infinite;\n}\n\n.spinner-border-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n border-width: $spinner-border-width-sm;\n}\n\n//\n// Growing circle\n//\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: text-bottom;\n background-color: currentColor;\n // stylelint-disable-next-line property-blacklist\n border-radius: 50%;\n opacity: 0;\n animation: spinner-grow $spinner-animation-speed linear infinite;\n}\n\n.spinner-grow-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n}\n","@each $color, $value in $theme-colors {\n .link-#{$color} {\n color: $value;\n\n @if $emphasized-link-hover-darken-percentage != 0 {\n &:hover,\n &:focus {\n color: darken($value, $emphasized-link-hover-darken-percentage);\n }\n }\n }\n}\n","// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n position: relative;\n width: 100%;\n\n &::before {\n display: block;\n content: \"\";\n }\n\n .embed-responsive-item,\n iframe,\n embed,\n object,\n video {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n }\n}\n\n@each $key, $ratio in $embed-responsive-aspect-ratios {\n .embed-responsive-#{$key} {\n &::before {\n padding-top: percentage(map-get($ratio, y) / map-get($ratio, x));\n }\n }\n}\n","// Shorthand\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n// Responsive sticky top\n@supports (position: sticky) {\n @each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .sticky#{$infix}-top {\n position: sticky;\n top: 0;\n z-index: $zindex-sticky;\n }\n }\n }\n}\n","//\n// Screenreaders\n//\n\n.sr-only,\n.sr-only-focusable:not(:focus) {\n @include sr-only();\n}\n","// stylelint-disable declaration-no-important\n\n// Only display content to screen readers\n//\n// See: https://a11yproject.com/posts/how-to-hide-content/\n// See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin sr-only {\n position: absolute !important;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important; // Fix for https://github.com/twbs/bootstrap/issues/25686\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n}\n\n// Use to only display content when it's focused.\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n\n@mixin sr-only-focusable {\n &:not(:focus) {\n @include sr-only();\n }\n}\n","//\n// Stretched link\n//\n\n.stretched-link {\n &::#{$stretched-link-pseudo-element} {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $stretched-link-z-index;\n content: \"\";\n }\n}\n","//\n// Text truncation\n//\n\n.text-truncate {\n @include text-truncate();\n}\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix, $is-rfs-media-query: false) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (eg. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n @if map-get($utility, rfs) {\n // Inside the media query\n @if $is-rfs-media-query {\n $val: rfs-value($value);\n\n // Do not render anything if fluid and non fluid values are the same\n $value: if($val == rfs-fluid-value($value), null, $val);\n }\n @else {\n $value: rfs-fluid-value($value);\n }\n }\n\n @if $value != null {\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n// RFS rescaling\n@media (min-width: $rfs-mq-value) {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and map-get($utility, rfs) {\n @include generate-utility($utility, $infix, true);\n }\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file
diff --git a/dist/css/bootstrap.min.css b/dist/css/bootstrap.min.css
index 9fb4ecb395..0d47e9887c 100644
--- a/dist/css/bootstrap.min.css
+++ b/dist/css/bootstrap.min.css
@@ -1,7 +1,7 @@
/*!
* Bootstrap v4.3.1 (https://getbootstrap.com/)
- * Copyright 2011-2019 The Bootstrap Authors
- * Copyright 2011-2019 Twitter, Inc.
+ * Copyright 2011-2020 The Bootstrap Authors
+ * Copyright 2011-2020 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- */:root{--blue:#0d6efd;--indigo:#6610f2;--purple:#6f42c1;--pink:#d63384;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#0d6efd;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:none}a:hover{color:#024dbc;text-decoration:underline}a:not([href]),a:not([href]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img{vertical-align:middle}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:textfield}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}.mark,mark{padding:.2em;background-color:#fcf8e3}progress{vertical-align:baseline}::-webkit-datetime-edit{overflow:visible;line-height:0}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}main{display:block}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:#6c757d}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-1>*{flex:0 0 100%;max-width:100%}.row-cols-2>*{flex:0 0 50%;max-width:50%}.row-cols-3>*{flex:0 0 33.333333%;max-width:33.333333%}.row-cols-4>*{flex:0 0 25%;max-width:25%}.row-cols-5>*{flex:0 0 20%;max-width:20%}.row-cols-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-auto{flex:0 0 auto;width:auto;max-width:100%}.col-1{flex:0 0 8.333333%;max-width:8.333333%}.col-2{flex:0 0 16.666667%;max-width:16.666667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.333333%;max-width:33.333333%}.col-5{flex:0 0 41.666667%;max-width:41.666667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.333333%;max-width:58.333333%}.col-8{flex:0 0 66.666667%;max-width:66.666667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.333333%;max-width:83.333333%}.col-11{flex:0 0 91.666667%;max-width:91.666667%}.col-12{flex:0 0 100%;max-width:100%}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-sm-1>*{flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{flex:0 0 33.333333%;max-width:33.333333%}.row-cols-sm-4>*{flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-sm-auto{flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{flex:0 0 100%;max-width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-md-1>*{flex:0 0 100%;max-width:100%}.row-cols-md-2>*{flex:0 0 50%;max-width:50%}.row-cols-md-3>*{flex:0 0 33.333333%;max-width:33.333333%}.row-cols-md-4>*{flex:0 0 25%;max-width:25%}.row-cols-md-5>*{flex:0 0 20%;max-width:20%}.row-cols-md-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-md-auto{flex:0 0 auto;width:auto;max-width:100%}.col-md-1{flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{flex:0 0 100%;max-width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-lg-1>*{flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{flex:0 0 33.333333%;max-width:33.333333%}.row-cols-lg-4>*{flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-lg-auto{flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{flex:0 0 100%;max-width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-xl-1>*{flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{flex:0 0 33.333333%;max-width:33.333333%}.row-cols-xl-4>*{flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-xl-auto{flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{flex:0 0 100%;max-width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;margin-bottom:1rem;color:#212529;vertical-align:top}.table td,.table th{padding:.5rem;border-bottom:1px solid #dee2e6}.table tbody{vertical-align:inherit}.table thead th{vertical-align:bottom;border-bottom-color:#495057}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.25rem}.table-bordered{border:1px solid #dee2e6}.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#bbd6fe}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#81b4fe}.table-hover .table-primary:hover{background-color:#a2c7fe}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#a2c7fe}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#b3b7bb}.table-hover .table-secondary:hover{background-color:#c8cbcf}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#8fd19e}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#86cfda}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7e}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ed969e}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover{background-color:#ececf6}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#343a40}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}.form-control{display:block;width:100%;min-height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#495057;background-color:#fff;border-color:#8bbafe;outline:0;box-shadow:0 0 0 .2rem rgba(13,110,253,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.form-control-lg{min-height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.form-control-color{max-width:3rem;padding:.375rem}.form-control-color::-moz-color-swatch{border-radius:.25rem}.form-control-color::-webkit-color-swatch{border-radius:.25rem}.form-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e") no-repeat right .75rem center/16px 12px;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-select:focus{border-color:#8bbafe;outline:0;box-shadow:0 0 0 .2rem rgba(13,110,253,.25)}.form-select:focus::-ms-value{color:#495057;background-color:#fff}.form-select[multiple],.form-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.form-select:disabled{color:#6c757d;background-color:#e9ecef}.form-select::-ms-expand{display:none}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.form-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.form-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.form-check{display:block;min-height:1.5rem;padding-left:1.75em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.75em}.form-check-input{width:1.25em;height:1.25em;margin-top:.125em;background-color:#fff;border:1px solid rgba(0,0,0,.25);-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{-webkit-filter:brightness(90%);filter:brightness(90%)}.form-check-input:focus{border-color:#8bbafe;outline:0;box-shadow:0 0 0 .2rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;background-repeat:no-repeat;background-position:center center;background-size:1em;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M4 8.5L6.5 11l6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;background-repeat:no-repeat;background-position:center center;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M5 8h6'/%3e%3c/svg%3e");background-size:1em;border-color:#0d6efd}.form-check-input[disabled]{pointer-events:none;-webkit-filter:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label{opacity:.5}.form-check-label{margin-bottom:0}.form-switch{padding-left:2.5em}.form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba(0, 0, 0, 0.25)'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:left center;background-size:contain;border-radius:2em}.form-switch .form-check-input:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2380bdff'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-check-inline{display:inline-block;margin-right:1rem}.form-file{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}.form-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;opacity:0}.form-file-input:focus~.form-file-label{border-color:#8bbafe;box-shadow:0 0 0 .2rem rgba(13,110,253,.25)}.form-file-input:focus-within~.form-file-label{border-color:#8bbafe;box-shadow:0 0 0 .2rem rgba(13,110,253,.25)}.form-file-input[disabled]~.form-file-label .form-file-text{background-color:#e9ecef}.form-file-label{position:absolute;top:0;right:0;left:0;z-index:1;display:flex;height:calc(1.5em + .75rem + 2px);border-color:#ced4da;border-radius:.25rem}.form-file-text{display:block;flex-grow:1;padding:.375rem .75rem;overflow:hidden;font-weight:400;line-height:1.5;color:#495057;text-overflow:ellipsis;white-space:nowrap;background-color:#fff;border-color:inherit;border-style:solid;border-width:1px;border-top-left-radius:inherit;border-bottom-left-radius:inherit}.form-file-button{display:block;flex-shrink:0;padding:.375rem .75rem;margin-left:-1px;line-height:1.5;color:#495057;background-color:#e9ecef;border-color:inherit;border-style:solid;border-width:1px;border-top-right-radius:inherit;border-bottom-right-radius:inherit}.form-range{width:100%;height:1.4rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(13,110,253,.25)}.form-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#bed8fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#bed8fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#0d6efd;border:0;border-radius:1rem;-ms-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-ms-thumb{-ms-transition:none;transition:none}}.form-range::-ms-thumb:active{background-color:#bed8fe}.form-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.form-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.form-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.form-range:disabled::-webkit-slider-runnable-track{cursor:default}.form-range:disabled::-moz-range-thumb{background-color:#adb5bd}.form-range:disabled::-moz-range-track{cursor:default}.form-range:disabled::-ms-thumb{background-color:#adb5bd}.form-row{display:flex;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-inline{display:flex;flex-flow:row wrap;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:flex;align-items:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:flex;flex:0 0 auto;flex-flow:row wrap;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .form-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:flex;align-items:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-file,.input-group>.form-select{position:relative;flex:1 1 0%;min-width:0;margin-bottom:0}.input-group>.form-control+.form-control,.input-group>.form-control+.form-file,.input-group>.form-control+.form-select,.input-group>.form-file+.form-control,.input-group>.form-file+.form-file,.input-group>.form-file+.form-select,.input-group>.form-select+.form-control,.input-group>.form-select+.form-file,.input-group>.form-select+.form-select{margin-left:-1px}.input-group>.form-control:focus,.input-group>.form-file .form-file-input:focus~.form-file-label,.input-group>.form-select:focus{z-index:3}.input-group>.form-file .form-file-input:focus{z-index:4}.input-group>.form-control:not(:last-child),.input-group>.form-select:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.form-control:not(:first-child),.input-group>.form-select:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-file{display:flex;align-items:center}.input-group>.form-file:not(:last-child) .form-file-label{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.form-file:not(:first-child) .form-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.form-control{min-height:calc(1.5em + 1rem + 2px)}.input-group-lg>.form-select{height:calc(1.5em + 1rem + 2px)}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group-sm>.form-control{min-height:calc(1.5em + .5rem + 2px)}.input-group-sm>.form-select{height:calc(1.5em + .5rem + 2px)}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:1.75rem}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#28a745}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#28a745;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:#28a745;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e") no-repeat right .75rem center/16px 12px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:#28a745}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:#34ce57}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.form-file-input.is-valid~.form-file-label,.was-validated .form-file-input:valid~.form-file-label{border-color:#28a745}.form-file-input.is-valid:focus~.form-file-label,.was-validated .form-file-input:valid:focus~.form-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:#dc3545;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e") no-repeat right .75rem center/16px 12px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:#dc3545}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:#e4606d}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.form-file-input.is-invalid~.form-file-label,.was-validated .form-file-input:invalid~.form-file-label{border-color:#dc3545}.form-file-input.is-invalid:focus~.form-file-label,.was-validated .form-file-input:invalid:focus~.form-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.btn{display:inline-block;font-weight:400;line-height:1.5;color:#212529;text-align:center;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(13,110,253,.25)}.btn.disabled,.btn:disabled{opacity:.65}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-primary:hover{color:#fff;background-color:#025ce2;border-color:#0257d5}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#025ce2;border-color:#0257d5;box-shadow:0 0 0 .2rem rgba(49,132,253,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0257d5;border-color:#0252c9}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(49,132,253,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{color:#fff;background-color:#5a6268;border-color:#545b62;box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#218838;border-color:#1e7e34;box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#138496;border-color:#117a8b;box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{color:#212529;background-color:#e0a800;border-color:#d39e00;box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c82333;border-color:#bd2130;box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{color:#212529;background-color:#e2e6ea;border-color:#dae0e5;box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{color:#fff;background-color:#23272b;border-color:#1d2124;box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-outline-primary{color:#0d6efd;border-color:#0d6efd}.btn-outline-primary:hover{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(13,110,253,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#0d6efd;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(13,110,253,.5)}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#0d6efd;text-decoration:none}.btn-link:hover{color:#024dbc;text-decoration:underline}.btn-link.focus,.btn-link:focus{text-decoration:underline;box-shadow:none}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#0d6efd}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#0d6efd}.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem}.navbar .container,.navbar .container-fluid,.navbar .container-lg,.navbar .container-md,.navbar .container-sm,.navbar .container-xl{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@media (min-width:576px){.navbar-expand-sm{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (min-width:768px){.navbar-expand-md{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (min-width:992px){.navbar-expand-lg{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (min-width:1200px){.navbar-expand-xl{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body{flex:1 1 auto;min-height:1px;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img,.card-img-bottom,.card-img-top{flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{display:flex;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{flex:1 0 0%;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb{display:flex;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;color:#0d6efd;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#024dbc;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(13,110,253,.25)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item.active .page-link{z-index:3;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.page-link{padding:.375rem .75rem}.page-item:first-child .page-link{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .5em;font-size:.75em;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#073984;background-color:#cfe2ff;border-color:#bbd6fe}.alert-primary .alert-link{color:#042454}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{0%{background-position-x:1rem}}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#0d6efd;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:0;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal .list-group-item.active{margin-top:0}.list-group-horizontal .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm .list-group-item.active{margin-top:0}.list-group-horizontal-sm .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md .list-group-item.active{margin-top:0}.list-group-horizontal-md .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg .list-group-item.active{margin-top:0}.list-group-horizontal-lg .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl .list-group-item.active{margin-top:0}.list-group-horizontal-xl .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush .list-group-item{border-right-width:0;border-left-width:0;border-radius:0}.list-group-flush .list-group-item:first-child{border-top-width:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#073984;background-color:#bbd6fe}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#073984;background-color:#a2c7fe}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#073984;border-color:#073984}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}a.close.disabled{pointer-events:none}.toast{max-width:350px;overflow:hidden;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .5rem 1rem rgba(0,0,0,.15);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:flex;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);content:""}.modal-dialog-centered.modal-dialog-scrollable{flex-direction:column;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .tooltip-arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .tooltip-arrow,.bs-tooltip-right .tooltip-arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .tooltip-arrow::before,.bs-tooltip-right .tooltip-arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .tooltip-arrow,.bs-tooltip-left .tooltip-arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .tooltip-arrow::before,.bs-tooltip-left .tooltip-arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .popover-arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.popover-arrow,.bs-popover-right>.popover-arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.popover-arrow::before,.bs-popover-right>.popover-arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right]>.popover-arrow::after,.bs-popover-right>.popover-arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.popover-arrow,.bs-popover-left>.popover-arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.popover-arrow::before,.bs-popover-left>.popover-arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.popover-arrow::after,.bs-popover-left>.popover-arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:no-repeat 50%/100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}@-webkit-keyframes spinner-border{to{transform:rotate(360deg)}}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:spinner-border .75s linear infinite;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1}}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:spinner-grow .75s linear infinite;animation:spinner-grow .75s linear infinite}.spinner-grow-sm{width:1rem;height:1rem}.clearfix::after{display:block;clear:both;content:""}.link-primary{color:#0d6efd}.link-primary:focus,.link-primary:hover{color:#024dbc}.link-secondary{color:#6c757d}.link-secondary:focus,.link-secondary:hover{color:#494f54}.link-success{color:#28a745}.link-success:focus,.link-success:hover{color:#19692c}.link-info{color:#17a2b8}.link-info:focus,.link-info:hover{color:#0f6674}.link-warning{color:#ffc107}.link-warning:focus,.link-warning:hover{color:#ba8b00}.link-danger{color:#dc3545}.link-danger:focus,.link-danger:hover{color:#a71d2a}.link-light{color:#f8f9fa}.link-light:focus,.link-light:hover{color:#cbd3da}.link-dark{color:#343a40}.link-dark:focus,.link-dark:hover{color:#121416}.embed-responsive{position:relative;width:100%}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}}.sr-only,.sr-only-focusable:not(:focus){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.border{border:1px solid #dee2e6!important}.border-0{border:0!important}.border-top{border-top:1px solid #dee2e6!important}.border-top-0{border-top:0!important}.border-right{border-right:1px solid #dee2e6!important}.border-right-0{border-right:0!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-bottom-0{border-bottom:0!important}.border-left{border-left:1px solid #dee2e6!important}.border-left-0{border-left:0!important}.border-primary{border-color:#0d6efd!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.mr-0{margin-right:0!important}.mr-1{margin-right:.25rem!important}.mr-2{margin-right:.5rem!important}.mr-3{margin-right:1rem!important}.mr-4{margin-right:1.5rem!important}.mr-5{margin-right:3rem!important}.mr-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ml-0{margin-left:0!important}.ml-1{margin-left:.25rem!important}.ml-2{margin-left:.5rem!important}.ml-3{margin-left:1rem!important}.ml-4{margin-left:1.5rem!important}.ml-5{margin-left:3rem!important}.ml-auto{margin-left:auto!important}.m-n1{margin:-.25rem!important}.m-n2{margin:-.5rem!important}.m-n3{margin:-1rem!important}.m-n4{margin:-1.5rem!important}.m-n5{margin:-3rem!important}.mx-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-n1{margin-top:-.25rem!important}.mt-n2{margin-top:-.5rem!important}.mt-n3{margin-top:-1rem!important}.mt-n4{margin-top:-1.5rem!important}.mt-n5{margin-top:-3rem!important}.mr-n1{margin-right:-.25rem!important}.mr-n2{margin-right:-.5rem!important}.mr-n3{margin-right:-1rem!important}.mr-n4{margin-right:-1.5rem!important}.mr-n5{margin-right:-3rem!important}.mb-n1{margin-bottom:-.25rem!important}.mb-n2{margin-bottom:-.5rem!important}.mb-n3{margin-bottom:-1rem!important}.mb-n4{margin-bottom:-1.5rem!important}.mb-n5{margin-bottom:-3rem!important}.ml-n1{margin-left:-.25rem!important}.ml-n2{margin-left:-.5rem!important}.ml-n3{margin-left:-1rem!important}.ml-n4{margin-left:-1.5rem!important}.ml-n5{margin-left:-3rem!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pr-0{padding-right:0!important}.pr-1{padding-right:.25rem!important}.pr-2{padding-right:.5rem!important}.pr-3{padding-right:1rem!important}.pr-4{padding-right:1.5rem!important}.pr-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.pl-0{padding-left:0!important}.pl-1{padding-left:.25rem!important}.pl-2{padding-left:.5rem!important}.pl-3{padding-left:1rem!important}.pl-4{padding-left:1.5rem!important}.pl-5{padding-left:3rem!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}.text-justify{text-align:justify!important}.text-primary{color:#0d6efd!important}.text-secondary{color:#6c757d!important}.text-success{color:#28a745!important}.text-info{color:#17a2b8!important}.text-warning{color:#ffc107!important}.text-danger{color:#dc3545!important}.text-light{color:#f8f9fa!important}.text-dark{color:#343a40!important}.text-white{color:#fff!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-reset{color:inherit!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.bg-primary{background-color:#0d6efd!important}.bg-secondary{background-color:#6c757d!important}.bg-success{background-color:#28a745!important}.bg-info{background-color:#17a2b8!important}.bg-warning{background-color:#ffc107!important}.bg-danger{background-color:#dc3545!important}.bg-light{background-color:#f8f9fa!important}.bg-dark{background-color:#343a40!important}.bg-body{background-color:#fff!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-decoration-none{text-decoration:none!important}.font-italic{font-style:italic!important}.text-break{overflow-wrap:break-word!important;word-break:break-word!important}.font-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}.rounded{border-radius:.25rem!important}.rounded-sm{border-radius:.2rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-bottom-left-radius:.25rem!important;border-top-left-radius:.25rem!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.mr-sm-0{margin-right:0!important}.mr-sm-1{margin-right:.25rem!important}.mr-sm-2{margin-right:.5rem!important}.mr-sm-3{margin-right:1rem!important}.mr-sm-4{margin-right:1.5rem!important}.mr-sm-5{margin-right:3rem!important}.mr-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ml-sm-0{margin-left:0!important}.ml-sm-1{margin-left:.25rem!important}.ml-sm-2{margin-left:.5rem!important}.ml-sm-3{margin-left:1rem!important}.ml-sm-4{margin-left:1.5rem!important}.ml-sm-5{margin-left:3rem!important}.ml-sm-auto{margin-left:auto!important}.m-sm-n1{margin:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.m-sm-n3{margin:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mx-sm-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-sm-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-sm-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-sm-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-sm-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-sm-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-sm-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-sm-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-sm-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-sm-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-sm-n1{margin-top:-.25rem!important}.mt-sm-n2{margin-top:-.5rem!important}.mt-sm-n3{margin-top:-1rem!important}.mt-sm-n4{margin-top:-1.5rem!important}.mt-sm-n5{margin-top:-3rem!important}.mr-sm-n1{margin-right:-.25rem!important}.mr-sm-n2{margin-right:-.5rem!important}.mr-sm-n3{margin-right:-1rem!important}.mr-sm-n4{margin-right:-1.5rem!important}.mr-sm-n5{margin-right:-3rem!important}.mb-sm-n1{margin-bottom:-.25rem!important}.mb-sm-n2{margin-bottom:-.5rem!important}.mb-sm-n3{margin-bottom:-1rem!important}.mb-sm-n4{margin-bottom:-1.5rem!important}.mb-sm-n5{margin-bottom:-3rem!important}.ml-sm-n1{margin-left:-.25rem!important}.ml-sm-n2{margin-left:-.5rem!important}.ml-sm-n3{margin-left:-1rem!important}.ml-sm-n4{margin-left:-1.5rem!important}.ml-sm-n5{margin-left:-3rem!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pr-sm-0{padding-right:0!important}.pr-sm-1{padding-right:.25rem!important}.pr-sm-2{padding-right:.5rem!important}.pr-sm-3{padding-right:1rem!important}.pr-sm-4{padding-right:1.5rem!important}.pr-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.pl-sm-0{padding-left:0!important}.pl-sm-1{padding-left:.25rem!important}.pl-sm-2{padding-left:.5rem!important}.pl-sm-3{padding-left:1rem!important}.pl-sm-4{padding-left:1.5rem!important}.pl-sm-5{padding-left:3rem!important}.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}.text-sm-justify{text-align:justify!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.mr-md-0{margin-right:0!important}.mr-md-1{margin-right:.25rem!important}.mr-md-2{margin-right:.5rem!important}.mr-md-3{margin-right:1rem!important}.mr-md-4{margin-right:1.5rem!important}.mr-md-5{margin-right:3rem!important}.mr-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ml-md-0{margin-left:0!important}.ml-md-1{margin-left:.25rem!important}.ml-md-2{margin-left:.5rem!important}.ml-md-3{margin-left:1rem!important}.ml-md-4{margin-left:1.5rem!important}.ml-md-5{margin-left:3rem!important}.ml-md-auto{margin-left:auto!important}.m-md-n1{margin:-.25rem!important}.m-md-n2{margin:-.5rem!important}.m-md-n3{margin:-1rem!important}.m-md-n4{margin:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mx-md-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-md-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-md-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-md-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-md-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-md-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-md-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-md-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-md-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-md-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-md-n1{margin-top:-.25rem!important}.mt-md-n2{margin-top:-.5rem!important}.mt-md-n3{margin-top:-1rem!important}.mt-md-n4{margin-top:-1.5rem!important}.mt-md-n5{margin-top:-3rem!important}.mr-md-n1{margin-right:-.25rem!important}.mr-md-n2{margin-right:-.5rem!important}.mr-md-n3{margin-right:-1rem!important}.mr-md-n4{margin-right:-1.5rem!important}.mr-md-n5{margin-right:-3rem!important}.mb-md-n1{margin-bottom:-.25rem!important}.mb-md-n2{margin-bottom:-.5rem!important}.mb-md-n3{margin-bottom:-1rem!important}.mb-md-n4{margin-bottom:-1.5rem!important}.mb-md-n5{margin-bottom:-3rem!important}.ml-md-n1{margin-left:-.25rem!important}.ml-md-n2{margin-left:-.5rem!important}.ml-md-n3{margin-left:-1rem!important}.ml-md-n4{margin-left:-1.5rem!important}.ml-md-n5{margin-left:-3rem!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pr-md-0{padding-right:0!important}.pr-md-1{padding-right:.25rem!important}.pr-md-2{padding-right:.5rem!important}.pr-md-3{padding-right:1rem!important}.pr-md-4{padding-right:1.5rem!important}.pr-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.pl-md-0{padding-left:0!important}.pl-md-1{padding-left:.25rem!important}.pl-md-2{padding-left:.5rem!important}.pl-md-3{padding-left:1rem!important}.pl-md-4{padding-left:1.5rem!important}.pl-md-5{padding-left:3rem!important}.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}.text-md-justify{text-align:justify!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.mr-lg-0{margin-right:0!important}.mr-lg-1{margin-right:.25rem!important}.mr-lg-2{margin-right:.5rem!important}.mr-lg-3{margin-right:1rem!important}.mr-lg-4{margin-right:1.5rem!important}.mr-lg-5{margin-right:3rem!important}.mr-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ml-lg-0{margin-left:0!important}.ml-lg-1{margin-left:.25rem!important}.ml-lg-2{margin-left:.5rem!important}.ml-lg-3{margin-left:1rem!important}.ml-lg-4{margin-left:1.5rem!important}.ml-lg-5{margin-left:3rem!important}.ml-lg-auto{margin-left:auto!important}.m-lg-n1{margin:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.m-lg-n3{margin:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mx-lg-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-lg-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-lg-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-lg-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-lg-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-lg-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-lg-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-lg-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-lg-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-lg-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-lg-n1{margin-top:-.25rem!important}.mt-lg-n2{margin-top:-.5rem!important}.mt-lg-n3{margin-top:-1rem!important}.mt-lg-n4{margin-top:-1.5rem!important}.mt-lg-n5{margin-top:-3rem!important}.mr-lg-n1{margin-right:-.25rem!important}.mr-lg-n2{margin-right:-.5rem!important}.mr-lg-n3{margin-right:-1rem!important}.mr-lg-n4{margin-right:-1.5rem!important}.mr-lg-n5{margin-right:-3rem!important}.mb-lg-n1{margin-bottom:-.25rem!important}.mb-lg-n2{margin-bottom:-.5rem!important}.mb-lg-n3{margin-bottom:-1rem!important}.mb-lg-n4{margin-bottom:-1.5rem!important}.mb-lg-n5{margin-bottom:-3rem!important}.ml-lg-n1{margin-left:-.25rem!important}.ml-lg-n2{margin-left:-.5rem!important}.ml-lg-n3{margin-left:-1rem!important}.ml-lg-n4{margin-left:-1.5rem!important}.ml-lg-n5{margin-left:-3rem!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pr-lg-0{padding-right:0!important}.pr-lg-1{padding-right:.25rem!important}.pr-lg-2{padding-right:.5rem!important}.pr-lg-3{padding-right:1rem!important}.pr-lg-4{padding-right:1.5rem!important}.pr-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.pl-lg-0{padding-left:0!important}.pl-lg-1{padding-left:.25rem!important}.pl-lg-2{padding-left:.5rem!important}.pl-lg-3{padding-left:1rem!important}.pl-lg-4{padding-left:1.5rem!important}.pl-lg-5{padding-left:3rem!important}.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}.text-lg-justify{text-align:justify!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.mr-xl-0{margin-right:0!important}.mr-xl-1{margin-right:.25rem!important}.mr-xl-2{margin-right:.5rem!important}.mr-xl-3{margin-right:1rem!important}.mr-xl-4{margin-right:1.5rem!important}.mr-xl-5{margin-right:3rem!important}.mr-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ml-xl-0{margin-left:0!important}.ml-xl-1{margin-left:.25rem!important}.ml-xl-2{margin-left:.5rem!important}.ml-xl-3{margin-left:1rem!important}.ml-xl-4{margin-left:1.5rem!important}.ml-xl-5{margin-left:3rem!important}.ml-xl-auto{margin-left:auto!important}.m-xl-n1{margin:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.m-xl-n3{margin:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mx-xl-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-xl-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-xl-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-xl-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-xl-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-xl-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-xl-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-xl-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-xl-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-xl-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-xl-n1{margin-top:-.25rem!important}.mt-xl-n2{margin-top:-.5rem!important}.mt-xl-n3{margin-top:-1rem!important}.mt-xl-n4{margin-top:-1.5rem!important}.mt-xl-n5{margin-top:-3rem!important}.mr-xl-n1{margin-right:-.25rem!important}.mr-xl-n2{margin-right:-.5rem!important}.mr-xl-n3{margin-right:-1rem!important}.mr-xl-n4{margin-right:-1.5rem!important}.mr-xl-n5{margin-right:-3rem!important}.mb-xl-n1{margin-bottom:-.25rem!important}.mb-xl-n2{margin-bottom:-.5rem!important}.mb-xl-n3{margin-bottom:-1rem!important}.mb-xl-n4{margin-bottom:-1.5rem!important}.mb-xl-n5{margin-bottom:-3rem!important}.ml-xl-n1{margin-left:-.25rem!important}.ml-xl-n2{margin-left:-.5rem!important}.ml-xl-n3{margin-left:-1rem!important}.ml-xl-n4{margin-left:-1.5rem!important}.ml-xl-n5{margin-left:-3rem!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pr-xl-0{padding-right:0!important}.pr-xl-1{padding-right:.25rem!important}.pr-xl-2{padding-right:.5rem!important}.pr-xl-3{padding-right:1rem!important}.pr-xl-4{padding-right:1.5rem!important}.pr-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.pl-xl-0{padding-left:0!important}.pl-xl-1{padding-left:.25rem!important}.pl-xl-2{padding-left:.5rem!important}.pl-xl-3{padding-left:1rem!important}.pl-xl-4{padding-left:1.5rem!important}.pl-xl-5{padding-left:3rem!important}.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}.text-xl-justify{text-align:justify!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}}
+ */:root{--blue:#0d6efd;--indigo:#6610f2;--purple:#6f42c1;--pink:#d63384;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#0d6efd;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#024dbc}a:not([href]),a:not([href]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:textfield}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit;white-space:normal}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.725rem + 5.7vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-1{font-size:6rem}}.display-2{font-size:calc(1.675rem + 5.1vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-2{font-size:5.5rem}}.display-3{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-3{font-size:4.5rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-4{font-size:3.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:#6c757d}.container{width:100%;padding-right:1rem;padding-left:1rem;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:1rem;padding-left:1rem;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row{display:flex;flex-wrap:wrap;margin-right:-.75rem;margin-left:-.75rem}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:.75rem;padding-left:.75rem}.g-0,.gx-0{margin-right:0;margin-left:0}.g-0>*,.gx-0>*{padding-right:0;padding-left:0}.g-0,.gy-0{margin-top:0}.g-0>*,.gy-0>*{margin-top:0}.g-1,.gx-1{margin-right:-.125rem;margin-left:-.125rem}.g-1>*,.gx-1>*{padding-right:.125rem;padding-left:.125rem}.g-1,.gy-1{margin-top:-.25rem}.g-1>*,.gy-1>*{margin-top:.25rem}.g-2,.gx-2{margin-right:-.25rem;margin-left:-.25rem}.g-2>*,.gx-2>*{padding-right:.25rem;padding-left:.25rem}.g-2,.gy-2{margin-top:-.5rem}.g-2>*,.gy-2>*{margin-top:.5rem}.g-3,.gx-3{margin-right:-.5rem;margin-left:-.5rem}.g-3>*,.gx-3>*{padding-right:.5rem;padding-left:.5rem}.g-3,.gy-3{margin-top:-1rem}.g-3>*,.gy-3>*{margin-top:1rem}.g-4,.gx-4{margin-right:-.75rem;margin-left:-.75rem}.g-4>*,.gx-4>*{padding-right:.75rem;padding-left:.75rem}.g-4,.gy-4{margin-top:-1.5rem}.g-4>*,.gy-4>*{margin-top:1.5rem}.g-5,.gx-5{margin-right:-1.5rem;margin-left:-1.5rem}.g-5>*,.gx-5>*{padding-right:1.5rem;padding-left:1.5rem}.g-5,.gy-5{margin-top:-3rem}.g-5>*,.gy-5>*{margin-top:3rem}@media (min-width:576px){.g-sm-0,.gx-sm-0{margin-right:0;margin-left:0}.g-sm-0>*,.gx-sm-0>*{padding-right:0;padding-left:0}.g-sm-0,.gy-sm-0{margin-top:0}.g-sm-0>*,.gy-sm-0>*{margin-top:0}.g-sm-1,.gx-sm-1{margin-right:-.125rem;margin-left:-.125rem}.g-sm-1>*,.gx-sm-1>*{padding-right:.125rem;padding-left:.125rem}.g-sm-1,.gy-sm-1{margin-top:-.25rem}.g-sm-1>*,.gy-sm-1>*{margin-top:.25rem}.g-sm-2,.gx-sm-2{margin-right:-.25rem;margin-left:-.25rem}.g-sm-2>*,.gx-sm-2>*{padding-right:.25rem;padding-left:.25rem}.g-sm-2,.gy-sm-2{margin-top:-.5rem}.g-sm-2>*,.gy-sm-2>*{margin-top:.5rem}.g-sm-3,.gx-sm-3{margin-right:-.5rem;margin-left:-.5rem}.g-sm-3>*,.gx-sm-3>*{padding-right:.5rem;padding-left:.5rem}.g-sm-3,.gy-sm-3{margin-top:-1rem}.g-sm-3>*,.gy-sm-3>*{margin-top:1rem}.g-sm-4,.gx-sm-4{margin-right:-.75rem;margin-left:-.75rem}.g-sm-4>*,.gx-sm-4>*{padding-right:.75rem;padding-left:.75rem}.g-sm-4,.gy-sm-4{margin-top:-1.5rem}.g-sm-4>*,.gy-sm-4>*{margin-top:1.5rem}.g-sm-5,.gx-sm-5{margin-right:-1.5rem;margin-left:-1.5rem}.g-sm-5>*,.gx-sm-5>*{padding-right:1.5rem;padding-left:1.5rem}.g-sm-5,.gy-sm-5{margin-top:-3rem}.g-sm-5>*,.gy-sm-5>*{margin-top:3rem}}@media (min-width:768px){.g-md-0,.gx-md-0{margin-right:0;margin-left:0}.g-md-0>*,.gx-md-0>*{padding-right:0;padding-left:0}.g-md-0,.gy-md-0{margin-top:0}.g-md-0>*,.gy-md-0>*{margin-top:0}.g-md-1,.gx-md-1{margin-right:-.125rem;margin-left:-.125rem}.g-md-1>*,.gx-md-1>*{padding-right:.125rem;padding-left:.125rem}.g-md-1,.gy-md-1{margin-top:-.25rem}.g-md-1>*,.gy-md-1>*{margin-top:.25rem}.g-md-2,.gx-md-2{margin-right:-.25rem;margin-left:-.25rem}.g-md-2>*,.gx-md-2>*{padding-right:.25rem;padding-left:.25rem}.g-md-2,.gy-md-2{margin-top:-.5rem}.g-md-2>*,.gy-md-2>*{margin-top:.5rem}.g-md-3,.gx-md-3{margin-right:-.5rem;margin-left:-.5rem}.g-md-3>*,.gx-md-3>*{padding-right:.5rem;padding-left:.5rem}.g-md-3,.gy-md-3{margin-top:-1rem}.g-md-3>*,.gy-md-3>*{margin-top:1rem}.g-md-4,.gx-md-4{margin-right:-.75rem;margin-left:-.75rem}.g-md-4>*,.gx-md-4>*{padding-right:.75rem;padding-left:.75rem}.g-md-4,.gy-md-4{margin-top:-1.5rem}.g-md-4>*,.gy-md-4>*{margin-top:1.5rem}.g-md-5,.gx-md-5{margin-right:-1.5rem;margin-left:-1.5rem}.g-md-5>*,.gx-md-5>*{padding-right:1.5rem;padding-left:1.5rem}.g-md-5,.gy-md-5{margin-top:-3rem}.g-md-5>*,.gy-md-5>*{margin-top:3rem}}@media (min-width:992px){.g-lg-0,.gx-lg-0{margin-right:0;margin-left:0}.g-lg-0>*,.gx-lg-0>*{padding-right:0;padding-left:0}.g-lg-0,.gy-lg-0{margin-top:0}.g-lg-0>*,.gy-lg-0>*{margin-top:0}.g-lg-1,.gx-lg-1{margin-right:-.125rem;margin-left:-.125rem}.g-lg-1>*,.gx-lg-1>*{padding-right:.125rem;padding-left:.125rem}.g-lg-1,.gy-lg-1{margin-top:-.25rem}.g-lg-1>*,.gy-lg-1>*{margin-top:.25rem}.g-lg-2,.gx-lg-2{margin-right:-.25rem;margin-left:-.25rem}.g-lg-2>*,.gx-lg-2>*{padding-right:.25rem;padding-left:.25rem}.g-lg-2,.gy-lg-2{margin-top:-.5rem}.g-lg-2>*,.gy-lg-2>*{margin-top:.5rem}.g-lg-3,.gx-lg-3{margin-right:-.5rem;margin-left:-.5rem}.g-lg-3>*,.gx-lg-3>*{padding-right:.5rem;padding-left:.5rem}.g-lg-3,.gy-lg-3{margin-top:-1rem}.g-lg-3>*,.gy-lg-3>*{margin-top:1rem}.g-lg-4,.gx-lg-4{margin-right:-.75rem;margin-left:-.75rem}.g-lg-4>*,.gx-lg-4>*{padding-right:.75rem;padding-left:.75rem}.g-lg-4,.gy-lg-4{margin-top:-1.5rem}.g-lg-4>*,.gy-lg-4>*{margin-top:1.5rem}.g-lg-5,.gx-lg-5{margin-right:-1.5rem;margin-left:-1.5rem}.g-lg-5>*,.gx-lg-5>*{padding-right:1.5rem;padding-left:1.5rem}.g-lg-5,.gy-lg-5{margin-top:-3rem}.g-lg-5>*,.gy-lg-5>*{margin-top:3rem}}@media (min-width:1200px){.g-xl-0,.gx-xl-0{margin-right:0;margin-left:0}.g-xl-0>*,.gx-xl-0>*{padding-right:0;padding-left:0}.g-xl-0,.gy-xl-0{margin-top:0}.g-xl-0>*,.gy-xl-0>*{margin-top:0}.g-xl-1,.gx-xl-1{margin-right:-.125rem;margin-left:-.125rem}.g-xl-1>*,.gx-xl-1>*{padding-right:.125rem;padding-left:.125rem}.g-xl-1,.gy-xl-1{margin-top:-.25rem}.g-xl-1>*,.gy-xl-1>*{margin-top:.25rem}.g-xl-2,.gx-xl-2{margin-right:-.25rem;margin-left:-.25rem}.g-xl-2>*,.gx-xl-2>*{padding-right:.25rem;padding-left:.25rem}.g-xl-2,.gy-xl-2{margin-top:-.5rem}.g-xl-2>*,.gy-xl-2>*{margin-top:.5rem}.g-xl-3,.gx-xl-3{margin-right:-.5rem;margin-left:-.5rem}.g-xl-3>*,.gx-xl-3>*{padding-right:.5rem;padding-left:.5rem}.g-xl-3,.gy-xl-3{margin-top:-1rem}.g-xl-3>*,.gy-xl-3>*{margin-top:1rem}.g-xl-4,.gx-xl-4{margin-right:-.75rem;margin-left:-.75rem}.g-xl-4>*,.gx-xl-4>*{padding-right:.75rem;padding-left:.75rem}.g-xl-4,.gy-xl-4{margin-top:-1.5rem}.g-xl-4>*,.gy-xl-4>*{margin-top:1.5rem}.g-xl-5,.gx-xl-5{margin-right:-1.5rem;margin-left:-1.5rem}.g-xl-5>*,.gx-xl-5>*{padding-right:1.5rem;padding-left:1.5rem}.g-xl-5,.gy-xl-5{margin-top:-3rem}.g-xl-5>*,.gy-xl-5>*{margin-top:3rem}}.col{flex:1 0 0%;min-width:0}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.333333%}.col-2{flex:0 0 auto;width:16.666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.333333%}.col-5{flex:0 0 auto;width:41.666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.333333%}.col-8{flex:0 0 auto;width:66.666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.333333%}.col-11{flex:0 0 auto;width:91.666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{flex:1 0 0%;min-width:0}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.333333%}.col-sm-2{flex:0 0 auto;width:16.666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.333333%}.col-sm-5{flex:0 0 auto;width:41.666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.333333%}.col-sm-8{flex:0 0 auto;width:66.666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.333333%}.col-sm-11{flex:0 0 auto;width:91.666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{flex:1 0 0%;min-width:0}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.333333%}.col-md-2{flex:0 0 auto;width:16.666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.333333%}.col-md-5{flex:0 0 auto;width:41.666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.333333%}.col-md-8{flex:0 0 auto;width:66.666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.333333%}.col-md-11{flex:0 0 auto;width:91.666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{flex:1 0 0%;min-width:0}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.333333%}.col-lg-2{flex:0 0 auto;width:16.666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.333333%}.col-lg-5{flex:0 0 auto;width:41.666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.333333%}.col-lg-8{flex:0 0 auto;width:66.666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.333333%}.col-lg-11{flex:0 0 auto;width:91.666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{flex:1 0 0%;min-width:0}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.333333%}.col-xl-2{flex:0 0 auto;width:16.666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.333333%}.col-xl-5{flex:0 0 auto;width:41.666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.333333%}.col-xl-8{flex:0 0 auto;width:66.666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.333333%}.col-xl-11{flex:0 0 auto;width:91.666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;margin-bottom:1rem;color:#212529;vertical-align:top}.table td,.table th{padding:.5rem;border-bottom:1px solid #dee2e6}.table tbody{vertical-align:inherit}.table thead th{vertical-align:bottom;border-bottom-color:#495057}.table tbody+tbody{border-top:2px solid #dee2e6}.caption-top{caption-side:top}.table-sm td,.table-sm th{padding:.25rem}.table-bordered{border:1px solid #dee2e6}.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#bbd6fe}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#81b4fe}.table-hover .table-primary:hover{background-color:#a2c7fe}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#a2c7fe}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#b3b7bb}.table-hover .table-secondary:hover{background-color:#c8cbcf}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#8fd19e}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#86cfda}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7e}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ed969e}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover{background-color:#ececf6}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#343a40}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}.form-control{display:block;width:100%;min-height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control:focus{color:#495057;background-color:#fff;border-color:#8bbafe;outline:0;box-shadow:0 0 0 .2rem rgba(13,110,253,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.form-control-lg{min-height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.form-control-color{max-width:3rem;padding:.375rem}.form-control-color::-moz-color-swatch{border-radius:.25rem}.form-control-color::-webkit-color-swatch{border-radius:.25rem}.form-select{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-select:focus{border-color:#8bbafe;outline:0;box-shadow:0 0 0 .2rem rgba(13,110,253,.25)}.form-select:focus::-ms-value{color:#495057;background-color:#fff}.form-select[multiple],.form-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.form-select:disabled{color:#6c757d;background-color:#e9ecef}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.form-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.form-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.form-check{display:block;min-height:1.5rem;padding-left:1.75em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.75em}.form-check-input{width:1.25em;height:1.25em;margin-top:.125em;vertical-align:top;background-color:#fff;border:1px solid rgba(0,0,0,.25);-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{-webkit-filter:brightness(90%);filter:brightness(90%)}.form-check-input:focus{border-color:#8bbafe;outline:0;box-shadow:0 0 0 .2rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;background-repeat:no-repeat;background-position:center center;background-size:1em;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M4 8.5L6.5 11l6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;background-repeat:no-repeat;background-position:center center;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M5 8h6'/%3e%3c/svg%3e");background-size:1em;border-color:#0d6efd}.form-check-input:disabled{pointer-events:none;-webkit-filter:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{opacity:.5}.form-check-label{margin-bottom:0}.form-switch{padding-left:2.5em}.form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:left center;background-size:contain;border-radius:2em;-webkit-print-color-adjust:exact;color-adjust:exact}.form-switch .form-check-input:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2380bdff'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-check-inline{display:inline-block;margin-right:1rem}.form-file{position:relative;height:calc(1.5em + .75rem + 2px)}.form-file-input{position:relative;z-index:2;width:100%;height:100%;margin:0;opacity:0}.form-file-input:focus-within~.form-file-label{border-color:#8bbafe;box-shadow:0 0 0 .2rem rgba(13,110,253,.25)}.form-file-input:disabled~.form-file-label .form-file-text,.form-file-input[disabled]~.form-file-label .form-file-text{background-color:#e9ecef}.form-file-label{position:absolute;top:0;right:0;left:0;z-index:1;display:flex;height:100%;border-color:#ced4da;border-radius:.25rem}.form-file-text{display:block;flex-grow:1;padding:.375rem .75rem;overflow:hidden;font-weight:400;line-height:1.5;color:#495057;text-overflow:ellipsis;white-space:nowrap;background-color:#fff;border-color:inherit;border-style:solid;border-width:1px;border-top-left-radius:inherit;border-bottom-left-radius:inherit}.form-file-button{display:block;flex-shrink:0;padding:.375rem .75rem;margin-left:-1px;line-height:1.5;color:#495057;background-color:#e9ecef;border-color:inherit;border-style:solid;border-width:1px;border-top-right-radius:inherit;border-bottom-right-radius:inherit}.form-file-sm{height:calc(1.5em + .5rem + 2px);font-size:.875rem}.form-file-sm .form-file-button,.form-file-sm .form-file-text{padding:.25rem .5rem}.form-file-lg{height:calc(1.5em + 1rem + 2px);font-size:1.25rem}.form-file-lg .form-file-button,.form-file-lg .form-file-text{padding:.5rem 1rem}.form-range{width:100%;height:1.4rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(13,110,253,.25)}.form-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#bed8fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#bed8fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#0d6efd;border:0;border-radius:1rem;-ms-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-ms-thumb{-ms-transition:none;transition:none}}.form-range::-ms-thumb:active{background-color:#bed8fe}.form-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.form-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.form-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.form-range:disabled::-moz-range-thumb{background-color:#adb5bd}.form-range:disabled::-ms-thumb{background-color:#adb5bd}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-file,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-file .form-file-input:focus~.form-file-label,.input-group>.form-select:focus{z-index:3}.input-group>.form-file>.form-file-input:focus{z-index:4}.input-group>.form-file:not(:last-child)>.form-file-label{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.form-file:not(:first-child)>.form-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:3}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-lg>.form-control{min-height:calc(1.5em + 1rem + 2px)}.input-group-lg>.form-select{height:calc(1.5em + 1rem + 2px)}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group-sm>.form-control{min-height:calc(1.5em + .5rem + 2px)}.input-group-sm>.form-select{height:calc(1.5em + .5rem + 2px)}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:1.75rem}.input-group>.dropdown-toggle:nth-last-child(n+3),.input-group>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#28a745}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#28a745;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:#28a745;padding-right:calc(.75em + 2.3125rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-position:right .75rem center,center right 1.75rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:#28a745}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:#34ce57}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.form-file-input.is-valid~.form-file-label,.was-validated .form-file-input:valid~.form-file-label{border-color:#28a745}.form-file-input.is-valid:focus~.form-file-label,.was-validated .form-file-input:valid:focus~.form-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:#dc3545;padding-right:calc(.75em + 2.3125rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-position:right .75rem center,center right 1.75rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:#dc3545}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:#e4606d}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.form-file-input.is-invalid~.form-file-label,.was-validated .form-file-input:invalid~.form-file-label{border-color:#dc3545}.form-file-input.is-invalid:focus~.form-file-label,.was-validated .form-file-input:invalid:focus~.form-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.btn{display:inline-block;font-weight:400;line-height:1.5;color:#212529;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(13,110,253,.25)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{pointer-events:none;opacity:.65}.btn-primary{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-primary:hover{color:#fff;background-color:#025ce2;border-color:#0257d5}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#025ce2;border-color:#0257d5;box-shadow:0 0 0 .2rem rgba(49,132,253,.5)}.btn-primary.active,.btn-primary:active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0257d5;border-color:#0252c9}.btn-primary.active:focus,.btn-primary:active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(49,132,253,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{color:#fff;background-color:#5a6268;border-color:#545b62;box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-secondary.active,.btn-secondary:active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary.active:focus,.btn-secondary:active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#218838;border-color:#1e7e34;box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.active,.btn-success:active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success.active:focus,.btn-success:active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#138496;border-color:#117a8b;box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.active,.btn-info:active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info.active:focus,.btn-info:active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{color:#212529;background-color:#e0a800;border-color:#d39e00;box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.active,.btn-warning:active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning.active:focus,.btn-warning:active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c82333;border-color:#bd2130;box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.active,.btn-danger:active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger.active:focus,.btn-danger:active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{color:#212529;background-color:#e2e6ea;border-color:#dae0e5;box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.active,.btn-light:active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light.active:focus,.btn-light:active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{color:#fff;background-color:#23272b;border-color:#1d2124;box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-dark.active,.btn-dark:active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark.active:focus,.btn-dark:active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-primary{color:#0d6efd;border-color:#0d6efd}.btn-outline-primary:hover{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(13,110,253,.5)}.btn-outline-primary.active,.btn-outline-primary.dropdown-toggle.show,.btn-outline-primary:active{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-outline-primary.active:focus,.btn-outline-primary.dropdown-toggle.show:focus,.btn-outline-primary:active:focus{box-shadow:0 0 0 .2rem rgba(13,110,253,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#0d6efd;background-color:transparent}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.active,.btn-outline-secondary.dropdown-toggle.show,.btn-outline-secondary:active{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.active:focus,.btn-outline-secondary.dropdown-toggle.show:focus,.btn-outline-secondary:active:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.active,.btn-outline-success.dropdown-toggle.show,.btn-outline-success:active{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.active:focus,.btn-outline-success.dropdown-toggle.show:focus,.btn-outline-success:active:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.active,.btn-outline-info.dropdown-toggle.show,.btn-outline-info:active{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.active:focus,.btn-outline-info.dropdown-toggle.show:focus,.btn-outline-info:active:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.active,.btn-outline-warning.dropdown-toggle.show,.btn-outline-warning:active{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.active:focus,.btn-outline-warning.dropdown-toggle.show:focus,.btn-outline-warning:active:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.active,.btn-outline-danger.dropdown-toggle.show,.btn-outline-danger:active{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.active:focus,.btn-outline-danger.dropdown-toggle.show:focus,.btn-outline-danger:active:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.active,.btn-outline-light.dropdown-toggle.show,.btn-outline-light:active{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.active:focus,.btn-outline-light.dropdown-toggle.show:focus,.btn-outline-light:active:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.active,.btn-outline-dark.dropdown-toggle.show,.btn-outline-dark:active{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.active:focus,.btn-outline-dark.dropdown-toggle.show:focus,.btn-outline-dark:active:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-link{font-weight:400;color:#0d6efd;text-decoration:underline}.btn-link:hover{color:#024dbc}.btn-link.disabled,.btn-link:disabled{color:#6c757d}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#0d6efd}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem;text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{margin-bottom:-1px;border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#0d6efd}.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{align-items:center;width:100%}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem;transition:box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 .2rem}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-repeat:no-repeat;background-position:center;background-size:100%}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm .navbar-collapse{display:flex!important}.navbar-expand-sm .navbar-toggler{display:none}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md .navbar-collapse{display:flex!important}.navbar-expand-md .navbar-toggler{display:none}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg .navbar-collapse{display:flex!important}.navbar-expand-lg .navbar-toggler{display:none}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl .navbar-collapse{display:flex!important}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand .navbar-collapse{display:flex!important}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.55)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.55);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.55)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.55)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.55);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.55)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body{flex:1 1 auto;padding:1.25rem 1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-group>.card{margin-bottom:.75rem}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb{display:flex;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item{display:flex}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item.active{color:#6c757d}.pagination{display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;color:#0d6efd;text-decoration:none;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#024dbc;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(13,110,253,.25)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item.active .page-link{z-index:3;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;background-color:#fff;border-color:#dee2e6}.page-link{padding:.375rem .75rem}.page-item:first-child .page-link{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .5em;font-size:.75em;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#073984;background-color:#cfe2ff;border-color:#bbd6fe}.alert-primary .alert-link{color:#042454}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{0%{background-position-x:1rem}}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#0d6efd;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:0;text-decoration:none;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal .list-group-item.active{margin-top:0}.list-group-horizontal .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm .list-group-item.active{margin-top:0}.list-group-horizontal-sm .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md .list-group-item.active{margin-top:0}.list-group-horizontal-md .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg .list-group-item.active{margin-top:0}.list-group-horizontal-lg .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl .list-group-item.active{margin-top:0}.list-group-horizontal-xl .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush .list-group-item{border-right-width:0;border-left-width:0;border-radius:0}.list-group-flush .list-group-item:first-child{border-top-width:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#073984;background-color:#bbd6fe}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#073984;background-color:#a2c7fe}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#073984;border-color:#073984}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{font-size:calc(1.275rem + .3vw);font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}@media (min-width:1200px){.close{font-size:1.5rem}}.close:hover{color:#000;text-decoration:none}.close:focus,.close:hover{opacity:.75}.close.disabled,.close:disabled{pointer-events:none}button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.toast{max-width:350px;overflow:hidden;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .5rem 1rem rgba(0,0,0,.15);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:flex;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .tooltip-arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .tooltip-arrow,.bs-tooltip-right .tooltip-arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .tooltip-arrow::before,.bs-tooltip-right .tooltip-arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .tooltip-arrow,.bs-tooltip-left .tooltip-arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .tooltip-arrow::before,.bs-tooltip-left .tooltip-arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .popover-arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.popover-arrow,.bs-popover-right>.popover-arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.popover-arrow::before,.bs-popover-right>.popover-arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right]>.popover-arrow::after,.bs-popover-right>.popover-arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.popover-arrow,.bs-popover-left>.popover-arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.popover-arrow::before,.bs-popover-left>.popover-arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.popover-arrow::after,.bs-popover-left>.popover-arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}@-webkit-keyframes spinner-border{to{transform:rotate(360deg)}}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:spinner-border .75s linear infinite;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1}}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:spinner-grow .75s linear infinite;animation:spinner-grow .75s linear infinite}.spinner-grow-sm{width:1rem;height:1rem}.clearfix::after{display:block;clear:both;content:""}.link-primary{color:#0d6efd}.link-primary:focus,.link-primary:hover{color:#024dbc}.link-secondary{color:#6c757d}.link-secondary:focus,.link-secondary:hover{color:#494f54}.link-success{color:#28a745}.link-success:focus,.link-success:hover{color:#19692c}.link-info{color:#17a2b8}.link-info:focus,.link-info:hover{color:#0f6674}.link-warning{color:#ffc107}.link-warning:focus,.link-warning:hover{color:#ba8b00}.link-danger{color:#dc3545}.link-danger:focus,.link-danger:hover{color:#a71d2a}.link-light{color:#f8f9fa}.link-light:focus,.link-light:hover{color:#cbd3da}.link-dark{color:#343a40}.link-dark:focus,.link-dark:hover{color:#121416}.embed-responsive{position:relative;width:100%}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}}.sr-only,.sr-only-focusable:not(:focus){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.border{border:1px solid #dee2e6!important}.border-0{border:0!important}.border-top{border-top:1px solid #dee2e6!important}.border-top-0{border-top:0!important}.border-right{border-right:1px solid #dee2e6!important}.border-right-0{border-right:0!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-bottom-0{border-bottom:0!important}.border-left{border-left:1px solid #dee2e6!important}.border-left-0{border-left:0!important}.border-primary{border-color:#0d6efd!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.mr-0{margin-right:0!important}.mr-1{margin-right:.25rem!important}.mr-2{margin-right:.5rem!important}.mr-3{margin-right:1rem!important}.mr-4{margin-right:1.5rem!important}.mr-5{margin-right:3rem!important}.mr-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ml-0{margin-left:0!important}.ml-1{margin-left:.25rem!important}.ml-2{margin-left:.5rem!important}.ml-3{margin-left:1rem!important}.ml-4{margin-left:1.5rem!important}.ml-5{margin-left:3rem!important}.ml-auto{margin-left:auto!important}.m-n1{margin:-.25rem!important}.m-n2{margin:-.5rem!important}.m-n3{margin:-1rem!important}.m-n4{margin:-1.5rem!important}.m-n5{margin:-3rem!important}.mx-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-n1{margin-top:-.25rem!important}.mt-n2{margin-top:-.5rem!important}.mt-n3{margin-top:-1rem!important}.mt-n4{margin-top:-1.5rem!important}.mt-n5{margin-top:-3rem!important}.mr-n1{margin-right:-.25rem!important}.mr-n2{margin-right:-.5rem!important}.mr-n3{margin-right:-1rem!important}.mr-n4{margin-right:-1.5rem!important}.mr-n5{margin-right:-3rem!important}.mb-n1{margin-bottom:-.25rem!important}.mb-n2{margin-bottom:-.5rem!important}.mb-n3{margin-bottom:-1rem!important}.mb-n4{margin-bottom:-1.5rem!important}.mb-n5{margin-bottom:-3rem!important}.ml-n1{margin-left:-.25rem!important}.ml-n2{margin-left:-.5rem!important}.ml-n3{margin-left:-1rem!important}.ml-n4{margin-left:-1.5rem!important}.ml-n5{margin-left:-3rem!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pr-0{padding-right:0!important}.pr-1{padding-right:.25rem!important}.pr-2{padding-right:.5rem!important}.pr-3{padding-right:1rem!important}.pr-4{padding-right:1.5rem!important}.pr-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.pl-0{padding-left:0!important}.pl-1{padding-left:.25rem!important}.pl-2{padding-left:.5rem!important}.pl-3{padding-left:1rem!important}.pl-4{padding-left:1.5rem!important}.pl-5{padding-left:3rem!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}.text-primary{color:#0d6efd!important}.text-secondary{color:#6c757d!important}.text-success{color:#28a745!important}.text-info{color:#17a2b8!important}.text-warning{color:#ffc107!important}.text-danger{color:#dc3545!important}.text-light{color:#f8f9fa!important}.text-dark{color:#343a40!important}.text-white{color:#fff!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-reset{color:inherit!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.bg-primary{background-color:#0d6efd!important}.bg-secondary{background-color:#6c757d!important}.bg-success{background-color:#28a745!important}.bg-info{background-color:#17a2b8!important}.bg-warning{background-color:#ffc107!important}.bg-danger{background-color:#dc3545!important}.bg-light{background-color:#f8f9fa!important}.bg-dark{background-color:#343a40!important}.bg-body{background-color:#fff!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.font-italic{font-style:italic!important}.font-normal{font-style:normal!important}.text-break{word-wrap:break-word!important}.font-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;-ms-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;-ms-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:.25rem!important}.rounded-sm{border-radius:.2rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-bottom-left-radius:.25rem!important;border-top-left-radius:.25rem!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.mr-sm-0{margin-right:0!important}.mr-sm-1{margin-right:.25rem!important}.mr-sm-2{margin-right:.5rem!important}.mr-sm-3{margin-right:1rem!important}.mr-sm-4{margin-right:1.5rem!important}.mr-sm-5{margin-right:3rem!important}.mr-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ml-sm-0{margin-left:0!important}.ml-sm-1{margin-left:.25rem!important}.ml-sm-2{margin-left:.5rem!important}.ml-sm-3{margin-left:1rem!important}.ml-sm-4{margin-left:1.5rem!important}.ml-sm-5{margin-left:3rem!important}.ml-sm-auto{margin-left:auto!important}.m-sm-n1{margin:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.m-sm-n3{margin:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mx-sm-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-sm-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-sm-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-sm-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-sm-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-sm-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-sm-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-sm-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-sm-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-sm-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-sm-n1{margin-top:-.25rem!important}.mt-sm-n2{margin-top:-.5rem!important}.mt-sm-n3{margin-top:-1rem!important}.mt-sm-n4{margin-top:-1.5rem!important}.mt-sm-n5{margin-top:-3rem!important}.mr-sm-n1{margin-right:-.25rem!important}.mr-sm-n2{margin-right:-.5rem!important}.mr-sm-n3{margin-right:-1rem!important}.mr-sm-n4{margin-right:-1.5rem!important}.mr-sm-n5{margin-right:-3rem!important}.mb-sm-n1{margin-bottom:-.25rem!important}.mb-sm-n2{margin-bottom:-.5rem!important}.mb-sm-n3{margin-bottom:-1rem!important}.mb-sm-n4{margin-bottom:-1.5rem!important}.mb-sm-n5{margin-bottom:-3rem!important}.ml-sm-n1{margin-left:-.25rem!important}.ml-sm-n2{margin-left:-.5rem!important}.ml-sm-n3{margin-left:-1rem!important}.ml-sm-n4{margin-left:-1.5rem!important}.ml-sm-n5{margin-left:-3rem!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pr-sm-0{padding-right:0!important}.pr-sm-1{padding-right:.25rem!important}.pr-sm-2{padding-right:.5rem!important}.pr-sm-3{padding-right:1rem!important}.pr-sm-4{padding-right:1.5rem!important}.pr-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.pl-sm-0{padding-left:0!important}.pl-sm-1{padding-left:.25rem!important}.pl-sm-2{padding-left:.5rem!important}.pl-sm-3{padding-left:1rem!important}.pl-sm-4{padding-left:1.5rem!important}.pl-sm-5{padding-left:3rem!important}.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.mr-md-0{margin-right:0!important}.mr-md-1{margin-right:.25rem!important}.mr-md-2{margin-right:.5rem!important}.mr-md-3{margin-right:1rem!important}.mr-md-4{margin-right:1.5rem!important}.mr-md-5{margin-right:3rem!important}.mr-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ml-md-0{margin-left:0!important}.ml-md-1{margin-left:.25rem!important}.ml-md-2{margin-left:.5rem!important}.ml-md-3{margin-left:1rem!important}.ml-md-4{margin-left:1.5rem!important}.ml-md-5{margin-left:3rem!important}.ml-md-auto{margin-left:auto!important}.m-md-n1{margin:-.25rem!important}.m-md-n2{margin:-.5rem!important}.m-md-n3{margin:-1rem!important}.m-md-n4{margin:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mx-md-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-md-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-md-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-md-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-md-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-md-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-md-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-md-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-md-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-md-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-md-n1{margin-top:-.25rem!important}.mt-md-n2{margin-top:-.5rem!important}.mt-md-n3{margin-top:-1rem!important}.mt-md-n4{margin-top:-1.5rem!important}.mt-md-n5{margin-top:-3rem!important}.mr-md-n1{margin-right:-.25rem!important}.mr-md-n2{margin-right:-.5rem!important}.mr-md-n3{margin-right:-1rem!important}.mr-md-n4{margin-right:-1.5rem!important}.mr-md-n5{margin-right:-3rem!important}.mb-md-n1{margin-bottom:-.25rem!important}.mb-md-n2{margin-bottom:-.5rem!important}.mb-md-n3{margin-bottom:-1rem!important}.mb-md-n4{margin-bottom:-1.5rem!important}.mb-md-n5{margin-bottom:-3rem!important}.ml-md-n1{margin-left:-.25rem!important}.ml-md-n2{margin-left:-.5rem!important}.ml-md-n3{margin-left:-1rem!important}.ml-md-n4{margin-left:-1.5rem!important}.ml-md-n5{margin-left:-3rem!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pr-md-0{padding-right:0!important}.pr-md-1{padding-right:.25rem!important}.pr-md-2{padding-right:.5rem!important}.pr-md-3{padding-right:1rem!important}.pr-md-4{padding-right:1.5rem!important}.pr-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.pl-md-0{padding-left:0!important}.pl-md-1{padding-left:.25rem!important}.pl-md-2{padding-left:.5rem!important}.pl-md-3{padding-left:1rem!important}.pl-md-4{padding-left:1.5rem!important}.pl-md-5{padding-left:3rem!important}.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.mr-lg-0{margin-right:0!important}.mr-lg-1{margin-right:.25rem!important}.mr-lg-2{margin-right:.5rem!important}.mr-lg-3{margin-right:1rem!important}.mr-lg-4{margin-right:1.5rem!important}.mr-lg-5{margin-right:3rem!important}.mr-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ml-lg-0{margin-left:0!important}.ml-lg-1{margin-left:.25rem!important}.ml-lg-2{margin-left:.5rem!important}.ml-lg-3{margin-left:1rem!important}.ml-lg-4{margin-left:1.5rem!important}.ml-lg-5{margin-left:3rem!important}.ml-lg-auto{margin-left:auto!important}.m-lg-n1{margin:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.m-lg-n3{margin:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mx-lg-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-lg-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-lg-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-lg-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-lg-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-lg-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-lg-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-lg-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-lg-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-lg-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-lg-n1{margin-top:-.25rem!important}.mt-lg-n2{margin-top:-.5rem!important}.mt-lg-n3{margin-top:-1rem!important}.mt-lg-n4{margin-top:-1.5rem!important}.mt-lg-n5{margin-top:-3rem!important}.mr-lg-n1{margin-right:-.25rem!important}.mr-lg-n2{margin-right:-.5rem!important}.mr-lg-n3{margin-right:-1rem!important}.mr-lg-n4{margin-right:-1.5rem!important}.mr-lg-n5{margin-right:-3rem!important}.mb-lg-n1{margin-bottom:-.25rem!important}.mb-lg-n2{margin-bottom:-.5rem!important}.mb-lg-n3{margin-bottom:-1rem!important}.mb-lg-n4{margin-bottom:-1.5rem!important}.mb-lg-n5{margin-bottom:-3rem!important}.ml-lg-n1{margin-left:-.25rem!important}.ml-lg-n2{margin-left:-.5rem!important}.ml-lg-n3{margin-left:-1rem!important}.ml-lg-n4{margin-left:-1.5rem!important}.ml-lg-n5{margin-left:-3rem!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pr-lg-0{padding-right:0!important}.pr-lg-1{padding-right:.25rem!important}.pr-lg-2{padding-right:.5rem!important}.pr-lg-3{padding-right:1rem!important}.pr-lg-4{padding-right:1.5rem!important}.pr-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.pl-lg-0{padding-left:0!important}.pl-lg-1{padding-left:.25rem!important}.pl-lg-2{padding-left:.5rem!important}.pl-lg-3{padding-left:1rem!important}.pl-lg-4{padding-left:1.5rem!important}.pl-lg-5{padding-left:3rem!important}.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.mr-xl-0{margin-right:0!important}.mr-xl-1{margin-right:.25rem!important}.mr-xl-2{margin-right:.5rem!important}.mr-xl-3{margin-right:1rem!important}.mr-xl-4{margin-right:1.5rem!important}.mr-xl-5{margin-right:3rem!important}.mr-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ml-xl-0{margin-left:0!important}.ml-xl-1{margin-left:.25rem!important}.ml-xl-2{margin-left:.5rem!important}.ml-xl-3{margin-left:1rem!important}.ml-xl-4{margin-left:1.5rem!important}.ml-xl-5{margin-left:3rem!important}.ml-xl-auto{margin-left:auto!important}.m-xl-n1{margin:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.m-xl-n3{margin:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mx-xl-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-xl-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-xl-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-xl-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-xl-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-xl-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-xl-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-xl-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-xl-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-xl-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-xl-n1{margin-top:-.25rem!important}.mt-xl-n2{margin-top:-.5rem!important}.mt-xl-n3{margin-top:-1rem!important}.mt-xl-n4{margin-top:-1.5rem!important}.mt-xl-n5{margin-top:-3rem!important}.mr-xl-n1{margin-right:-.25rem!important}.mr-xl-n2{margin-right:-.5rem!important}.mr-xl-n3{margin-right:-1rem!important}.mr-xl-n4{margin-right:-1.5rem!important}.mr-xl-n5{margin-right:-3rem!important}.mb-xl-n1{margin-bottom:-.25rem!important}.mb-xl-n2{margin-bottom:-.5rem!important}.mb-xl-n3{margin-bottom:-1rem!important}.mb-xl-n4{margin-bottom:-1.5rem!important}.mb-xl-n5{margin-bottom:-3rem!important}.ml-xl-n1{margin-left:-.25rem!important}.ml-xl-n2{margin-left:-.5rem!important}.ml-xl-n3{margin-left:-1rem!important}.ml-xl-n4{margin-left:-1.5rem!important}.ml-xl-n5{margin-left:-3rem!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pr-xl-0{padding-right:0!important}.pr-xl-1{padding-right:.25rem!important}.pr-xl-2{padding-right:.5rem!important}.pr-xl-3{padding-right:1rem!important}.pr-xl-4{padding-right:1.5rem!important}.pr-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.pl-xl-0{padding-left:0!important}.pl-xl-1{padding-left:.25rem!important}.pl-xl-2{padding-left:.5rem!important}.pl-xl-3{padding-left:1rem!important}.pl-xl-4{padding-left:1.5rem!important}.pl-xl-5{padding-left:3rem!important}.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}}
/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file
diff --git a/dist/css/bootstrap.min.css.map b/dist/css/bootstrap.min.css.map
index ce64ad0aff..e5eda6c37a 100644
--- a/dist/css/bootstrap.min.css.map
+++ b/dist/css/bootstrap.min.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/bootstrap.scss","../../scss/_root.scss","../../scss/_reboot.scss","dist/css/bootstrap.css","../../scss/vendor/_rfs.scss","bootstrap.css","../../scss/mixins/_border-radius.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/forms/_labels.scss","../../scss/forms/_form-control.scss","../../scss/mixins/_transition.scss","../../scss/forms/_form-select.scss","../../scss/forms/_form-check.scss","../../scss/forms/_form-file.scss","../../scss/mixins/_gradients.scss","../../scss/forms/_form-range.scss","../../scss/forms/_layout.scss","../../scss/forms/_input-group.scss","../../scss/mixins/_forms.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/_button-group.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_close.scss","../../scss/_toasts.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/mixins/_clearfix.scss","../../scss/_spinners.scss","../../scss/helpers/_colored-links.scss","../../scss/helpers/_embed.scss","../../scss/helpers/_position.scss","../../scss/helpers/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/helpers/_stretched-link.scss","../../scss/helpers/_text-truncation.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n// Configuration\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"utilities\";\n\n\n// Layout & components\n\n@import \"root\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"alert\";\n@import \"progress\";\n@import \"list-group\";\n@import \"close\";\n@import \"toasts\";\n@import \"modal\";\n@import \"tooltip\";\n@import \"popover\";\n@import \"carousel\";\n@import \"spinners\";\n\n\n// Helpers\n\n@import \"helpers\";\n\n\n// Utilities\n\n@import \"utilities/api\";\n",":root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$color}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --font-family-sans-serif: #{inspect($font-family-sans-serif)};\n --font-family-monospace: #{inspect($font-family-monospace)};\n}\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n// Root\n//\n// 1. Ability to the value of the root font sizes, affecting the value of `rem`.\n// null by default, thus nothing is generated.\n\n:root {\n font-size: $font-size-root; // 1\n}\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 4. Change the default tap highlight to be completely transparent in iOS.\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: $body-text-align;\n background-color: $body-bg; // 2\n -webkit-text-size-adjust: 100%; // 3\n -webkit-tap-highlight-color: rgba($black, 0); // 4\n}\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n//\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Reset Firefox's gray color\n// 2. Set correct height and prevent the `size` attribute to make the `hr` look like an input field\n// See https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_hr_size\n\nhr {\n margin: $hr-margin-y 0;\n color: $hr-color; // 1\n background-color: currentColor;\n border: 0;\n opacity: $hr-opacity;\n}\n\nhr:not([size]) {\n height: $hr-height; // 2\n}\n\n\n// Typography\n//\n// 1. Remove top margins from headings\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n\n%heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1 {\n @extend %heading;\n @include font-size($h1-font-size);\n}\n\nh2 {\n @extend %heading;\n @include font-size($h2-font-size);\n}\n\nh3 {\n @extend %heading;\n @include font-size($h3-font-size);\n}\n\nh4 {\n @extend %heading;\n @include font-size($h4-font-size);\n}\n\nh5 {\n @extend %heading;\n @include font-size($h5-font-size);\n}\n\nh6 {\n @extend %heading;\n @include font-size($h6-font-size);\n}\n\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\n\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n text-decoration-skip-ink: none; // 4\n}\n\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\n// 1. Undo browser default\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // 1\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\n// Add the correct font weight in Chrome, Edge, and Safari\n\nb,\nstrong {\n font-weight: $font-weight-bolder;\n}\n\n\n// Add the correct font size in all browsers\n\nsmall {\n @include font-size($small-font-size);\n}\n\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n\nsub,\nsup {\n position: relative;\n @include font-size($sub-sup-font-size);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n// Links\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n\n &:hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n// Code\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\n// 1. Remove browser default top margin\n// 2. Reset browser default of `1em` to use `rem`s\n// 3. Don't allow content to break outside\n\npre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n\n kbd {\n padding: 0;\n @include font-size(1em);\n font-weight: $nested-kbd-font-weight;\n }\n}\n\n\n// Figures\n\n// Apply a consistent margin strategy (matches our type styles).\n\nfigure {\n margin: 0 0 1rem;\n}\n\n\n// Images and content\n\nimg {\n vertical-align: middle;\n}\n\n// 1. Workaround for the SVG overflow bug in IE 11 is still required.\n// See https://github.com/twbs/bootstrap/issues/26878\n\nsvg {\n overflow: hidden; // 1\n vertical-align: middle;\n}\n\n\n// Tables\n\n// Prevent double borders\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\n// Matches default `<td>` alignment by inheriting from the `<body>`, or the\n// closest parent with a set `text-align`.\n\nth {\n text-align: inherit;\n}\n\n\n// Forms\n\n// 1. Allow labels to use `margin` for spacing.\n\nlabel {\n display: inline-block; // 1\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\n\nbutton {\n // stylelint-disable-next-line property-blacklist\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\n// 1. Remove the margin in Firefox and Safari\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\n// Show the overflow in Edge\n\nbutton,\ninput {\n overflow: visible;\n}\n\n// Remove the inheritance of text transform in Firefox\n\nbutton,\nselect {\n text-transform: none;\n}\n\n// Remove the inheritance of word-wrap in Safari.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24990\n\nselect {\n word-wrap: normal;\n}\n\n// Remove the dropdown arrow in Chrome from inputs built with datalists.\n//\n// Source: https://stackoverflow.com/a/54997118\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n// 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n\n @if $enable-pointer-cursor-for-buttons {\n &:not(:disabled) {\n cursor: pointer; // 3\n }\n }\n}\n\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\n\n// Remove the default appearance of temporal inputs to avoid a Mobile Safari\n// bug where setting a custom line-height prevents text from being vertically\n// centered within the input.\n// See https://bugs.webkit.org/show_bug.cgi?id=139848\n// and https://github.com/twbs/bootstrap/issues/11266\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: textfield;\n}\n\n// 1. Remove the default vertical scrollbar in IE.\n// 2. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\ntextarea {\n overflow: auto; // 1\n resize: vertical; // 2\n}\n\n// 1. Browsers set a default `min-width: min-content;` on fieldsets,\n// unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n// So we reset that to ensure fieldsets behave more like a standard block element.\n// See https://github.com/twbs/bootstrap/issues/12359\n// and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n// 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\nfieldset {\n min-width: 0; // 1\n padding: 0; // 2\n margin: 0; // 2\n border: 0; // 2\n}\n\n\n// 1. By using `float: left`, the legend will behave like a block element\n// 2. Correct the color inheritance from `fieldset` elements in IE.\n// 3. Correct the text wrapping in Edge and IE.\n\nlegend {\n float: left; // 1\n width: 100%;\n padding: 0;\n margin-bottom: $legend-margin-bottom;\n @include font-size($legend-font-size);\n font-weight: $legend-font-weight;\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 3\n}\n\n\nmark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n// Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\nprogress {\n vertical-align: baseline;\n}\n\n\n// Fix height of inputs with a type of datetime-local, date, month, week, or time\n// See https://github.com/twbs/bootstrap/issues/18842\n\n::-webkit-datetime-edit {\n overflow: visible;\n line-height: 0;\n}\n\n\n// 1. Correct the outline style in Safari.\n// 2. This overrides the extra rounded corners on search inputs in iOS so that our\n// `.form-control` class can properly style them. Note that this cannot simply\n// be added to `.form-control` as it's not specific enough. For details, see\n// https://github.com/twbs/bootstrap/issues/11586.\n\n[type=\"search\"] {\n outline-offset: -2px; // 1\n -webkit-appearance: textfield; // 2\n}\n\n// Remove the inner padding in Chrome and Safari on macOS.\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n// Remove padding around color pickers in webkit browsers\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n// 1. Change font properties to `inherit` in Safari.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n\n::-webkit-file-upload-button {\n font: inherit; // 1\n -webkit-appearance: button; // 2\n}\n\n// Correct element displays\n\noutput {\n display: inline-block;\n}\n\n// 1. Add the correct display in all browsers\n\nsummary {\n display: list-item; // 1\n cursor: pointer;\n}\n\n// Add the correct display for template & main in IE 11\n\ntemplate {\n display: none;\n}\n\nmain {\n display: block;\n}\n\n// Always hide an element with the `hidden` HTML attribute.\n\n[hidden] {\n display: none !important;\n}\n","/*!\n * Bootstrap v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n:root {\n --blue: #0d6efd;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #d63384;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #fff;\n --gray: #6c757d;\n --gray-dark: #343a40;\n --primary: #0d6efd;\n --secondary: #6c757d;\n --success: #28a745;\n --info: #17a2b8;\n --warning: #ffc107;\n --danger: #dc3545;\n --light: #f8f9fa;\n --dark: #343a40;\n --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n background-color: #fff;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n margin: 1rem 0;\n color: inherit;\n background-color: currentColor;\n border: 0;\n opacity: 0.25;\n}\n\nhr:not([size]) {\n height: 1px;\n}\n\nh1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n cursor: help;\n -webkit-text-decoration-skip-ink: none;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall, .small {\n font-size: 0.875em;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 0.75em;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #0d6efd;\n text-decoration: none;\n}\n\na:hover {\n color: #024dbc;\n text-decoration: underline;\n}\n\na:not([href]), a:not([href]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: 0.875em;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\ncode {\n font-size: 0.875em;\n color: #d63384;\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 0.875em;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 1em;\n font-weight: 700;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nselect {\n word-wrap: normal;\n}\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: textfield;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n float: left;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nmark, .mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n::-webkit-datetime-edit {\n overflow: visible;\n line-height: 0;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: textfield;\n}\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\nmain {\n display: block;\n}\n\n[hidden] {\n display: none !important;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 0.875em;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 0.875em;\n color: #6c757d;\n}\n\n.blockquote-footer::before {\n content: \"\\2014\\00A0\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 0.875em;\n color: #6c757d;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid, .container-sm, .container-md, .container-lg, .container-xl {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.row-cols-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-md-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n margin-bottom: 1rem;\n color: #212529;\n vertical-align: top;\n}\n\n.table th,\n.table td {\n padding: 0.5rem;\n border-bottom: 1px solid #dee2e6;\n}\n\n.table tbody {\n vertical-align: inherit;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom-color: #495057;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #dee2e6;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.25rem;\n}\n\n.table-bordered {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-borderless th,\n.table-borderless td,\n.table-borderless thead th,\n.table-borderless tbody + tbody {\n border: 0;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n color: #212529;\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n background-color: #bbd6fe;\n}\n\n.table-primary th,\n.table-primary td,\n.table-primary thead th,\n.table-primary tbody + tbody {\n border-color: #81b4fe;\n}\n\n.table-hover .table-primary:hover {\n background-color: #a2c7fe;\n}\n\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n background-color: #a2c7fe;\n}\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n background-color: #d6d8db;\n}\n\n.table-secondary th,\n.table-secondary td,\n.table-secondary thead th,\n.table-secondary tbody + tbody {\n border-color: #b3b7bb;\n}\n\n.table-hover .table-secondary:hover {\n background-color: #c8cbcf;\n}\n\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n background-color: #c8cbcf;\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #c3e6cb;\n}\n\n.table-success th,\n.table-success td,\n.table-success thead th,\n.table-success tbody + tbody {\n border-color: #8fd19e;\n}\n\n.table-hover .table-success:hover {\n background-color: #b1dfbb;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #b1dfbb;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #bee5eb;\n}\n\n.table-info th,\n.table-info td,\n.table-info thead th,\n.table-info tbody + tbody {\n border-color: #86cfda;\n}\n\n.table-hover .table-info:hover {\n background-color: #abdde5;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #abdde5;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #ffeeba;\n}\n\n.table-warning th,\n.table-warning td,\n.table-warning thead th,\n.table-warning tbody + tbody {\n border-color: #ffdf7e;\n}\n\n.table-hover .table-warning:hover {\n background-color: #ffe8a1;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #ffe8a1;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f5c6cb;\n}\n\n.table-danger th,\n.table-danger td,\n.table-danger thead th,\n.table-danger tbody + tbody {\n border-color: #ed969e;\n}\n\n.table-hover .table-danger:hover {\n background-color: #f1b0b7;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #f1b0b7;\n}\n\n.table-light,\n.table-light > th,\n.table-light > td {\n background-color: #fdfdfe;\n}\n\n.table-light th,\n.table-light td,\n.table-light thead th,\n.table-light tbody + tbody {\n border-color: #fbfcfc;\n}\n\n.table-hover .table-light:hover {\n background-color: #ececf6;\n}\n\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n background-color: #ececf6;\n}\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n background-color: #c6c8ca;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th,\n.table-dark tbody + tbody {\n border-color: #95999c;\n}\n\n.table-hover .table-dark:hover {\n background-color: #b9bbbe;\n}\n\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n background-color: #b9bbbe;\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table .thead-dark th {\n color: #fff;\n background-color: #343a40;\n border-color: #454d55;\n}\n\n.table .thead-light th {\n color: #495057;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.table-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th {\n border-color: #454d55;\n}\n\n.table-dark.table-bordered {\n border: 0;\n}\n\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-dark.table-hover tbody tr:hover {\n color: #fff;\n background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-sm > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 767.98px) {\n .table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-md > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-lg > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-xl > .table-bordered {\n border: 0;\n }\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n.table-responsive > .table-bordered {\n border: 0;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n}\n\n.form-control {\n display: block;\n width: 100%;\n min-height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:focus {\n color: #495057;\n background-color: #fff;\n border-color: #8bbafe;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-control::-webkit-input-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control::-moz-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:-ms-input-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control::-ms-input-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control::placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: 0.375rem 0;\n margin-bottom: 0;\n line-height: 1.5;\n color: #212529;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm {\n min-height: calc(1.5em + 0.5rem + 2px);\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.form-control-lg {\n min-height: calc(1.5em + 1rem + 2px);\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.form-control-color {\n max-width: 3rem;\n padding: 0.375rem;\n}\n\n.form-control-color::-moz-color-swatch {\n border-radius: 0.25rem;\n}\n\n.form-control-color::-webkit-color-swatch {\n border-radius: 0.25rem;\n}\n\n.form-select {\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n background: #fff url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/16px 12px;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n\n.form-select:focus {\n border-color: #8bbafe;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-select:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.form-select[multiple], .form-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none;\n}\n\n.form-select:disabled {\n color: #6c757d;\n background-color: #e9ecef;\n}\n\n.form-select::-ms-expand {\n display: none;\n}\n\n.form-select:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #495057;\n}\n\n.form-select-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n padding-left: 0.5rem;\n font-size: 0.875rem;\n}\n\n.form-select-lg {\n height: calc(1.5em + 1rem + 2px);\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 1rem;\n font-size: 1.25rem;\n}\n\n.form-check {\n display: block;\n min-height: 1.5rem;\n padding-left: 1.75em;\n margin-bottom: 0.125rem;\n}\n\n.form-check .form-check-input {\n float: left;\n margin-left: -1.75em;\n}\n\n.form-check-input {\n width: 1.25em;\n height: 1.25em;\n margin-top: 0.125em;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.25);\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n\n.form-check-input[type=\"checkbox\"] {\n border-radius: 0.25em;\n}\n\n.form-check-input[type=\"radio\"] {\n border-radius: 50%;\n}\n\n.form-check-input:active {\n -webkit-filter: brightness(90%);\n filter: brightness(90%);\n}\n\n.form-check-input:focus {\n border-color: #8bbafe;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-check-input:checked {\n background-color: #0d6efd;\n background-repeat: no-repeat;\n background-position: center center;\n background-size: 1em;\n border-color: #0d6efd;\n}\n\n.form-check-input:checked[type=\"checkbox\"] {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M4 8.5L6.5 11l6-6'/%3e%3c/svg%3e\");\n}\n\n.form-check-input:checked[type=\"radio\"] {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e\");\n}\n\n.form-check-input[type=\"checkbox\"]:indeterminate {\n background-color: #0d6efd;\n background-repeat: no-repeat;\n background-position: center center;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M5 8h6'/%3e%3c/svg%3e\");\n background-size: 1em;\n border-color: #0d6efd;\n}\n\n.form-check-input[disabled] {\n pointer-events: none;\n -webkit-filter: none;\n filter: none;\n opacity: .5;\n}\n\n.form-check-input[disabled] ~ .form-check-label {\n opacity: .5;\n}\n\n.form-check-label {\n margin-bottom: 0;\n}\n\n.form-switch {\n padding-left: 2.5em;\n}\n\n.form-switch .form-check-input {\n width: 2em;\n margin-left: -2.5em;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba(0, 0, 0, 0.25)'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: left center;\n background-size: contain;\n border-radius: 2em;\n}\n\n.form-switch .form-check-input:focus {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2380bdff'/%3e%3c/svg%3e\");\n}\n\n.form-switch .form-check-input:checked {\n background-position: right center;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\");\n}\n\n.form-check-inline {\n display: inline-block;\n margin-right: 1rem;\n}\n\n.form-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin-bottom: 0;\n}\n\n.form-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin: 0;\n opacity: 0;\n}\n\n.form-file-input:focus ~ .form-file-label {\n border-color: #8bbafe;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-file-input:focus-within ~ .form-file-label {\n border-color: #8bbafe;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-file-input[disabled] ~ .form-file-label .form-file-text {\n background-color: #e9ecef;\n}\n\n.form-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n display: flex;\n height: calc(1.5em + 0.75rem + 2px);\n border-color: #ced4da;\n border-radius: 0.25rem;\n}\n\n.form-file-text {\n display: block;\n flex-grow: 1;\n padding: 0.375rem 0.75rem;\n overflow: hidden;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-overflow: ellipsis;\n white-space: nowrap;\n background-color: #fff;\n border-color: inherit;\n border-style: solid;\n border-width: 1px;\n border-top-left-radius: inherit;\n border-bottom-left-radius: inherit;\n}\n\n.form-file-button {\n display: block;\n flex-shrink: 0;\n padding: 0.375rem 0.75rem;\n margin-left: -1px;\n line-height: 1.5;\n color: #495057;\n background-color: #e9ecef;\n border-color: inherit;\n border-style: solid;\n border-width: 1px;\n border-top-right-radius: inherit;\n border-bottom-right-radius: inherit;\n}\n\n.form-range {\n width: 100%;\n height: 1.4rem;\n padding: 0;\n background-color: transparent;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n\n.form-range:focus {\n outline: none;\n}\n\n.form-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-range:focus::-ms-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-range::-moz-focus-outer {\n border: 0;\n}\n\n.form-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: #0d6efd;\n border: 0;\n border-radius: 1rem;\n -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n -webkit-appearance: none;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-range::-webkit-slider-thumb {\n -webkit-transition: none;\n transition: none;\n }\n}\n\n.form-range::-webkit-slider-thumb:active {\n background-color: #bed8fe;\n}\n\n.form-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.form-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #0d6efd;\n border: 0;\n border-radius: 1rem;\n -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n -moz-appearance: none;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-range::-moz-range-thumb {\n -moz-transition: none;\n transition: none;\n }\n}\n\n.form-range::-moz-range-thumb:active {\n background-color: #bed8fe;\n}\n\n.form-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.form-range::-ms-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: 0;\n margin-right: 0.2rem;\n margin-left: 0.2rem;\n background-color: #0d6efd;\n border: 0;\n border-radius: 1rem;\n -ms-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-range::-ms-thumb {\n -ms-transition: none;\n transition: none;\n }\n}\n\n.form-range::-ms-thumb:active {\n background-color: #bed8fe;\n}\n\n.form-range::-ms-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: transparent;\n border-color: transparent;\n border-width: 0.5rem;\n}\n\n.form-range::-ms-fill-lower {\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.form-range::-ms-fill-upper {\n margin-right: 15px;\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.form-range:disabled::-webkit-slider-thumb {\n background-color: #adb5bd;\n}\n\n.form-range:disabled::-webkit-slider-runnable-track {\n cursor: default;\n}\n\n.form-range:disabled::-moz-range-thumb {\n background-color: #adb5bd;\n}\n\n.form-range:disabled::-moz-range-track {\n cursor: default;\n}\n\n.form-range:disabled::-ms-thumb {\n background-color: #adb5bd;\n}\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px;\n}\n\n.form-row > .col,\n.form-row > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px;\n}\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-plaintext {\n display: inline-block;\n }\n .form-inline .input-group,\n .form-inline .form-select {\n width: auto;\n }\n .form-inline .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n flex-shrink: 0;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n}\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n}\n\n.input-group > .form-control,\n.input-group > .form-select,\n.input-group > .form-file {\n position: relative;\n flex: 1 1 0%;\n min-width: 0;\n margin-bottom: 0;\n}\n\n.input-group > .form-control + .form-control,\n.input-group > .form-control + .form-select,\n.input-group > .form-control + .form-file,\n.input-group > .form-select + .form-control,\n.input-group > .form-select + .form-select,\n.input-group > .form-select + .form-file,\n.input-group > .form-file + .form-control,\n.input-group > .form-file + .form-select,\n.input-group > .form-file + .form-file {\n margin-left: -1px;\n}\n\n.input-group > .form-control:focus,\n.input-group > .form-select:focus,\n.input-group > .form-file .form-file-input:focus ~ .form-file-label {\n z-index: 3;\n}\n\n.input-group > .form-file .form-file-input:focus {\n z-index: 4;\n}\n\n.input-group > .form-control:not(:last-child),\n.input-group > .form-select:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-control:not(:first-child),\n.input-group > .form-select:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group > .form-file {\n display: flex;\n align-items: center;\n}\n\n.input-group > .form-file:not(:last-child) .form-file-label {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-file:not(:first-child) .form-file-label {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n}\n\n.input-group-prepend .btn,\n.input-group-append .btn {\n position: relative;\n z-index: 2;\n}\n\n.input-group-prepend .btn:focus,\n.input-group-append .btn:focus {\n z-index: 3;\n}\n\n.input-group-prepend .btn + .btn,\n.input-group-prepend .btn + .input-group-text,\n.input-group-prepend .input-group-text + .input-group-text,\n.input-group-prepend .input-group-text + .btn,\n.input-group-append .btn + .btn,\n.input-group-append .btn + .input-group-text,\n.input-group-append .input-group-text + .input-group-text,\n.input-group-append .input-group-text + .btn {\n margin-left: -1px;\n}\n\n.input-group-prepend {\n margin-right: -1px;\n}\n\n.input-group-append {\n margin-left: -1px;\n}\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-text input[type=\"radio\"],\n.input-group-text input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group-lg > .form-control {\n min-height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-select {\n height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .form-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.input-group-sm > .form-control {\n min-height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-select {\n height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .form-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.input-group-lg > .form-select,\n.input-group-sm > .form-select {\n padding-right: 1.75rem;\n}\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: #28a745;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n color: #fff;\n background-color: rgba(40, 167, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :valid ~ .valid-feedback,\n.was-validated :valid ~ .valid-tooltip,\n.is-valid ~ .valid-feedback,\n.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid {\n border-color: #28a745;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .form-select:valid, .form-select.is-valid {\n border-color: #28a745;\n padding-right: calc(0.75em + 2.3125rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/16px 12px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-select:valid:focus, .form-select.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-check-input:valid, .form-check-input.is-valid {\n border-color: #28a745;\n}\n\n.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {\n background-color: #34ce57;\n}\n\n.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #28a745;\n}\n\n.form-check-inline .form-check-input ~ .valid-feedback {\n margin-left: .5em;\n}\n\n.was-validated .form-file-input:valid ~ .form-file-label, .form-file-input.is-valid ~ .form-file-label {\n border-color: #28a745;\n}\n\n.was-validated .form-file-input:valid:focus ~ .form-file-label, .form-file-input.is-valid:focus ~ .form-file-label {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :invalid ~ .invalid-feedback,\n.was-validated :invalid ~ .invalid-tooltip,\n.is-invalid ~ .invalid-feedback,\n.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: #dc3545;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .form-select:invalid, .form-select.is-invalid {\n border-color: #dc3545;\n padding-right: calc(0.75em + 2.3125rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/16px 12px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-check-input:invalid, .form-check-input.is-invalid {\n border-color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {\n background-color: #e4606d;\n}\n\n.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dc3545;\n}\n\n.form-check-inline .form-check-input ~ .invalid-feedback {\n margin-left: .5em;\n}\n\n.was-validated .form-file-input:invalid ~ .form-file-label, .form-file-input.is-invalid ~ .form-file-label {\n border-color: #dc3545;\n}\n\n.was-validated .form-file-input:invalid:focus ~ .form-file-label, .form-file-input.is-invalid:focus ~ .form-file-label {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: center;\n vertical-align: middle;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n background-color: transparent;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n\n.btn:hover {\n color: #212529;\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n opacity: 0.65;\n}\n\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #025ce2;\n border-color: #0257d5;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n color: #fff;\n background-color: #025ce2;\n border-color: #0257d5;\n box-shadow: 0 0 0 0.2rem rgba(49, 132, 253, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0257d5;\n border-color: #0252c9;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(49, 132, 253, 0.5);\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #545b62;\n border-color: #4e555b;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-success {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #1e7e34;\n border-color: #1c7430;\n}\n\n.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #117a8b;\n border-color: #10707f;\n}\n\n.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-warning {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,\n.show > .btn-warning.dropdown-toggle {\n color: #212529;\n background-color: #d39e00;\n border-color: #c69500;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #bd2130;\n border-color: #b21f2d;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-light {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-light.disabled, .btn-light:disabled {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,\n.show > .btn-light.dropdown-toggle {\n color: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df;\n}\n\n.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n}\n\n.btn-dark:focus, .btn-dark.focus {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-dark.disabled, .btn-dark:disabled {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,\n.show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-outline-primary {\n color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #0d6efd;\n background-color: transparent;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.5);\n}\n\n.btn-outline-secondary {\n color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-success {\n color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-info {\n color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #17a2b8;\n background-color: transparent;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-warning {\n color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-danger {\n color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light.disabled, .btn-outline-light:disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,\n.show > .btn-outline-light.dropdown-toggle {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-dark {\n color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark.disabled, .btn-outline-dark:disabled {\n color: #343a40;\n background-color: transparent;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,\n.show > .btn-outline-dark.dropdown-toggle {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-link {\n font-weight: 400;\n color: #0d6efd;\n text-decoration: none;\n}\n\n.btn-link:hover {\n color: #024dbc;\n text-decoration: underline;\n}\n\n.btn-link:focus, .btn-link.focus {\n text-decoration: underline;\n box-shadow: none;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n pointer-events: none;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\n.fade {\n transition: opacity 0.15s linear;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\n}\n\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse:not(.show) {\n display: none;\n}\n\n.collapsing {\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n@media (min-width: 576px) {\n .dropdown-menu-sm-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-sm-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 768px) {\n .dropdown-menu-md-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-md-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 992px) {\n .dropdown-menu-lg-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-lg-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 1200px) {\n .dropdown-menu-xl-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xl-right {\n right: 0;\n left: auto;\n }\n}\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: 0.125rem;\n}\n\n.dropright .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropleft .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: 0.125rem;\n}\n\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n\n.dropleft .dropdown-toggle::after {\n display: none;\n}\n\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-menu[x-placement^=\"top\"], .dropdown-menu[x-placement^=\"right\"], .dropdown-menu[x-placement^=\"bottom\"], .dropdown-menu[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1.5rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n\n.dropdown-item:hover, .dropdown-item:focus {\n color: #16181b;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #0d6efd;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: 0.25rem 1.5rem;\n color: #212529;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 1 1 auto;\n}\n\n.btn-group > .btn:hover, .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:hover,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) {\n margin-left: -1px;\n}\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n\n.dropdown-toggle-split::after,\n.dropup .dropdown-toggle-split::after,\n.dropright .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle-split::before {\n margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: -1px;\n}\n\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group-toggle > .btn,\n.btn-group-toggle > .btn-group > .btn {\n margin-bottom: 0;\n}\n\n.btn-group-toggle > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn input[type=\"checkbox\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n}\n\n.nav-link:hover, .nav-link:focus {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #6c757d;\n pointer-events: none;\n cursor: default;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n}\n\n.nav-tabs .nav-item {\n margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6 #dee2e6 #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #0d6efd;\n}\n\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar .container,\n.navbar .container-fluid, .navbar .container-sm, .navbar .container-md, .navbar .container-lg, .navbar .container-xl {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static;\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n align-items: center;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:hover, .navbar-toggler:focus {\n text-decoration: none;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-expand {\n flex-flow: row nowrap;\n justify-content: flex-start;\n}\n\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\n flex-wrap: nowrap;\n}\n\n.navbar-expand .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.5);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-text a,\n.navbar-light .navbar-text a:hover,\n.navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.5);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-text a,\n.navbar-dark .navbar-text a:hover,\n.navbar-dark .navbar-text a:focus {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n\n.card > .list-group:first-child .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.card > .list-group:last-child .list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.card-body {\n flex: 1 1 auto;\n min-height: 1px;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-header + .list-group .list-group-item:first-child {\n border-top: 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n flex-shrink: 0;\n width: 100%;\n}\n\n.card-img,\n.card-img-top {\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img,\n.card-img-bottom {\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-deck .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-deck {\n display: flex;\n flex-flow: row wrap;\n margin-right: -15px;\n margin-left: -15px;\n }\n .card-deck .card {\n flex: 1 0 0%;\n margin-right: 15px;\n margin-bottom: 0;\n margin-left: 15px;\n }\n}\n\n.card-group > .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-group {\n display: flex;\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-top,\n .card-group > .card:not(:last-child) .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-bottom,\n .card-group > .card:not(:last-child) .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-top,\n .card-group > .card:not(:first-child) .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-bottom,\n .card-group > .card:not(:first-child) .card-footer {\n border-bottom-left-radius: 0;\n }\n}\n\n.accordion > .card {\n overflow: hidden;\n}\n\n.accordion > .card:not(:last-of-type) {\n border-bottom: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.accordion > .card:not(:first-of-type) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.accordion > .card > .card-header {\n border-radius: 0;\n margin-bottom: -1px;\n}\n\n.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: 0.5rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n color: #6c757d;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #6c757d;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n}\n\n.page-link {\n position: relative;\n display: block;\n color: #0d6efd;\n background-color: #fff;\n border: 1px solid #dee2e6;\n}\n\n.page-link:hover {\n z-index: 2;\n color: #024dbc;\n text-decoration: none;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.page-link:focus {\n z-index: 3;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.page-item:not(:first-child) .page-link {\n margin-left: -1px;\n}\n\n.page-item.active .page-link {\n z-index: 3;\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n cursor: auto;\n background-color: #fff;\n border-color: #dee2e6;\n}\n\n.page-link {\n padding: 0.375rem 0.75rem;\n}\n\n.page-item:first-child .page-link {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.5em;\n font-size: 0.75em;\n font-weight: 700;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible {\n padding-right: 4rem;\n}\n\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-primary {\n color: #073984;\n background-color: #cfe2ff;\n border-color: #bbd6fe;\n}\n\n.alert-primary .alert-link {\n color: #042454;\n}\n\n.alert-secondary {\n color: #383d41;\n background-color: #e2e3e5;\n border-color: #d6d8db;\n}\n\n.alert-secondary .alert-link {\n color: #202326;\n}\n\n.alert-success {\n color: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info .alert-link {\n color: #062c33;\n}\n\n.alert-warning {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}\n\n.alert-warning .alert-link {\n color: #533f03;\n}\n\n.alert-danger {\n color: #721c24;\n background-color: #f8d7da;\n border-color: #f5c6cb;\n}\n\n.alert-danger .alert-link {\n color: #491217;\n}\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light .alert-link {\n color: #686868;\n}\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca;\n}\n\n.alert-dark .alert-link {\n color: #040505;\n}\n\n@-webkit-keyframes progress-bar-stripes {\n 0% {\n background-position-x: 1rem;\n }\n}\n\n@keyframes progress-bar-stripes {\n 0% {\n background-position-x: 1rem;\n }\n}\n\n.progress {\n display: flex;\n height: 1rem;\n overflow: hidden;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n background-color: #0d6efd;\n transition: width 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n -webkit-animation: progress-bar-stripes 1s linear infinite;\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n -webkit-animation: none;\n animation: none;\n }\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n\n.list-group-item-action:hover, .list-group-item-action:focus {\n z-index: 1;\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.list-group-item + .list-group-item {\n border-top-width: 0;\n}\n\n.list-group-item + .list-group-item.active {\n margin-top: -1px;\n border-top-width: 1px;\n}\n\n.list-group-horizontal {\n flex-direction: row;\n}\n\n.list-group-horizontal .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n}\n\n.list-group-horizontal .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n}\n\n.list-group-horizontal .list-group-item.active {\n margin-top: 0;\n}\n\n.list-group-horizontal .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n}\n\n.list-group-horizontal .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n}\n\n@media (min-width: 576px) {\n .list-group-horizontal-sm {\n flex-direction: row;\n }\n .list-group-horizontal-sm .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-sm .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-sm .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-sm .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-sm .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 768px) {\n .list-group-horizontal-md {\n flex-direction: row;\n }\n .list-group-horizontal-md .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-md .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-md .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-md .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-md .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 992px) {\n .list-group-horizontal-lg {\n flex-direction: row;\n }\n .list-group-horizontal-lg .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-lg .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-lg .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-lg .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-lg .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 1200px) {\n .list-group-horizontal-xl {\n flex-direction: row;\n }\n .list-group-horizontal-xl .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xl .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xl .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xl .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-xl .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n.list-group-flush .list-group-item {\n border-right-width: 0;\n border-left-width: 0;\n border-radius: 0;\n}\n\n.list-group-flush .list-group-item:first-child {\n border-top-width: 0;\n}\n\n.list-group-flush:last-child .list-group-item:last-child {\n border-bottom-width: 0;\n}\n\n.list-group-item-primary {\n color: #073984;\n background-color: #bbd6fe;\n}\n\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #073984;\n background-color: #a2c7fe;\n}\n\n.list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #073984;\n border-color: #073984;\n}\n\n.list-group-item-secondary {\n color: #383d41;\n background-color: #d6d8db;\n}\n\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #383d41;\n background-color: #c8cbcf;\n}\n\n.list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #383d41;\n border-color: #383d41;\n}\n\n.list-group-item-success {\n color: #155724;\n background-color: #c3e6cb;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #155724;\n background-color: #b1dfbb;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #0c5460;\n background-color: #abdde5;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\n}\n\n.list-group-item-warning {\n color: #856404;\n background-color: #ffeeba;\n}\n\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #856404;\n background-color: #ffe8a1;\n}\n\n.list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #856404;\n border-color: #856404;\n}\n\n.list-group-item-danger {\n color: #721c24;\n background-color: #f5c6cb;\n}\n\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #721c24;\n background-color: #f1b0b7;\n}\n\n.list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #721c24;\n border-color: #721c24;\n}\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe;\n}\n\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #818182;\n background-color: #ececf6;\n}\n\n.list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182;\n}\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca;\n}\n\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #1b1e21;\n background-color: #b9bbbe;\n}\n\n.list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21;\n}\n\n.close {\n font-size: 1.5rem;\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:hover {\n color: #000;\n text-decoration: none;\n}\n\n.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {\n opacity: .75;\n}\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n\na.close.disabled {\n pointer-events: none;\n}\n\n.toast {\n max-width: 350px;\n overflow: hidden;\n font-size: 0.875rem;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n -webkit-backdrop-filter: blur(10px);\n backdrop-filter: blur(10px);\n opacity: 0;\n border-radius: 0.25rem;\n}\n\n.toast:not(:last-child) {\n margin-bottom: 0.75rem;\n}\n\n.toast.showing {\n opacity: 1;\n}\n\n.toast.show {\n display: block;\n opacity: 1;\n}\n\n.toast.hide {\n display: none;\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: 0.25rem 0.75rem;\n color: #6c757d;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n}\n\n.toast-body {\n padding: 0.75rem;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1050;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n outline: 0;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -50px);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n\n.modal.show .modal-dialog {\n transform: none;\n}\n\n.modal.modal-static .modal-dialog {\n transform: scale(1.02);\n}\n\n.modal-dialog-scrollable {\n display: flex;\n max-height: calc(100% - 1rem);\n}\n\n.modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 1rem);\n overflow: hidden;\n}\n\n.modal-dialog-scrollable .modal-header,\n.modal-dialog-scrollable .modal-footer {\n flex-shrink: 0;\n}\n\n.modal-dialog-scrollable .modal-body {\n overflow-y: auto;\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - 1rem);\n}\n\n.modal-dialog-centered::before {\n display: block;\n height: calc(100vh - 1rem);\n content: \"\";\n}\n\n.modal-dialog-centered.modal-dialog-scrollable {\n flex-direction: column;\n justify-content: center;\n height: 100%;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable .modal-content {\n max-height: none;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable::before {\n content: none;\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1040;\n width: 100vw;\n height: 100vh;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n padding: 1rem 1rem;\n border-bottom: 1px solid #dee2e6;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.modal-header .close {\n padding: 1rem 1rem;\n margin: -1rem -1rem -1rem auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 1rem;\n}\n\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: flex-end;\n padding: 0.75rem;\n border-top: 1px solid #dee2e6;\n border-bottom-right-radius: calc(0.3rem - 1px);\n border-bottom-left-radius: calc(0.3rem - 1px);\n}\n\n.modal-footer > * {\n margin: 0.25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto;\n }\n .modal-dialog-scrollable {\n max-height: calc(100% - 3.5rem);\n }\n .modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 3.5rem);\n }\n .modal-dialog-centered {\n min-height: calc(100% - 3.5rem);\n }\n .modal-dialog-centered::before {\n height: calc(100vh - 3.5rem);\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg,\n .modal-xl {\n max-width: 800px;\n }\n}\n\n@media (min-width: 1200px) {\n .modal-xl {\n max-width: 1140px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .tooltip-arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n\n.tooltip .tooltip-arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"top\"] .tooltip-arrow {\n bottom: 0;\n}\n\n.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .tooltip-arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000;\n}\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-right .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"right\"] .tooltip-arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-right .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .tooltip-arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .tooltip-arrow {\n top: 0;\n}\n\n.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .tooltip-arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000;\n}\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-left .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"left\"] .tooltip-arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-left .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .tooltip-arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .popover-arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem;\n}\n\n.popover .popover-arrow::before, .popover .popover-arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem;\n}\n\n.bs-popover-top > .popover-arrow, .bs-popover-auto[x-placement^=\"top\"] > .popover-arrow {\n bottom: calc(-0.5rem - 1px);\n}\n\n.bs-popover-top > .popover-arrow::before, .bs-popover-auto[x-placement^=\"top\"] > .popover-arrow::before {\n bottom: 0;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-top > .popover-arrow::after, .bs-popover-auto[x-placement^=\"top\"] > .popover-arrow::after {\n bottom: 1px;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: #fff;\n}\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem;\n}\n\n.bs-popover-right > .popover-arrow, .bs-popover-auto[x-placement^=\"right\"] > .popover-arrow {\n left: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-right > .popover-arrow::before, .bs-popover-auto[x-placement^=\"right\"] > .popover-arrow::before {\n left: 0;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-right > .popover-arrow::after, .bs-popover-auto[x-placement^=\"right\"] > .popover-arrow::after {\n left: 1px;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: #fff;\n}\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem;\n}\n\n.bs-popover-bottom > .popover-arrow, .bs-popover-auto[x-placement^=\"bottom\"] > .popover-arrow {\n top: calc(-0.5rem - 1px);\n}\n\n.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] > .popover-arrow::before {\n top: 0;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] > .popover-arrow::after {\n top: 1px;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: #fff;\n}\n\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem;\n}\n\n.bs-popover-left > .popover-arrow, .bs-popover-auto[x-placement^=\"left\"] > .popover-arrow {\n right: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-left > .popover-arrow::before, .bs-popover-auto[x-placement^=\"left\"] > .popover-arrow::before {\n right: 0;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-left > .popover-arrow::after, .bs-popover-auto[x-placement^=\"left\"] > .popover-arrow::after {\n right: 1px;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 0.5rem 0.75rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-inner::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n transition: transform 0.6s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n}\n\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n}\n\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n transition: opacity 0s 0.6s;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-left,\n .carousel-fade .active.carousel-item-right {\n transition: none;\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n transition: opacity 0.15s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n transition: none;\n }\n}\n\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: 0.9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: no-repeat 50% / 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #fff;\n background-clip: padding-box;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n opacity: 0.5;\n transition: opacity 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-indicators li {\n transition: none;\n }\n}\n\n.carousel-indicators .active {\n opacity: 1;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 1.25rem;\n left: 15%;\n padding-top: 1.25rem;\n padding-bottom: 1.25rem;\n color: #fff;\n text-align: center;\n}\n\n@-webkit-keyframes spinner-border {\n to {\n transform: rotate(360deg);\n }\n}\n\n@keyframes spinner-border {\n to {\n transform: rotate(360deg);\n }\n}\n\n.spinner-border {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n border: 0.25em solid currentColor;\n border-right-color: transparent;\n border-radius: 50%;\n -webkit-animation: spinner-border .75s linear infinite;\n animation: spinner-border .75s linear infinite;\n}\n\n.spinner-border-sm {\n width: 1rem;\n height: 1rem;\n border-width: 0.2em;\n}\n\n@-webkit-keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n }\n}\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n background-color: currentColor;\n border-radius: 50%;\n opacity: 0;\n -webkit-animation: spinner-grow .75s linear infinite;\n animation: spinner-grow .75s linear infinite;\n}\n\n.spinner-grow-sm {\n width: 1rem;\n height: 1rem;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.link-primary {\n color: #0d6efd;\n}\n\n.link-primary:hover, .link-primary:focus {\n color: #024dbc;\n}\n\n.link-secondary {\n color: #6c757d;\n}\n\n.link-secondary:hover, .link-secondary:focus {\n color: #494f54;\n}\n\n.link-success {\n color: #28a745;\n}\n\n.link-success:hover, .link-success:focus {\n color: #19692c;\n}\n\n.link-info {\n color: #17a2b8;\n}\n\n.link-info:hover, .link-info:focus {\n color: #0f6674;\n}\n\n.link-warning {\n color: #ffc107;\n}\n\n.link-warning:hover, .link-warning:focus {\n color: #ba8b00;\n}\n\n.link-danger {\n color: #dc3545;\n}\n\n.link-danger:hover, .link-danger:focus {\n color: #a71d2a;\n}\n\n.link-light {\n color: #f8f9fa;\n}\n\n.link-light:hover, .link-light:focus {\n color: #cbd3da;\n}\n\n.link-dark {\n color: #343a40;\n}\n\n.link-dark:hover, .link-dark:focus {\n color: #121416;\n}\n\n.embed-responsive {\n position: relative;\n width: 100%;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n@supports ((position: -webkit-sticky) or (position: sticky)) {\n .sticky-top {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n @media (min-width: 576px) {\n .sticky-sm-top {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n }\n @media (min-width: 768px) {\n .sticky-md-top {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n }\n @media (min-width: 992px) {\n .sticky-lg-top {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n }\n @media (min-width: 1200px) {\n .sticky-xl-top {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n }\n}\n\n.sr-only,\n.sr-only-focusable:not(:focus) {\n position: absolute !important;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important;\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n}\n\n.stretched-link::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n content: \"\";\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: -webkit-sticky !important;\n position: sticky !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #0d6efd !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mr-3 {\n margin-right: 1rem !important;\n}\n\n.mr-4 {\n margin-right: 1.5rem !important;\n}\n\n.mr-5 {\n margin-right: 3rem !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.ml-3 {\n margin-left: 1rem !important;\n}\n\n.ml-4 {\n margin-left: 1.5rem !important;\n}\n\n.ml-5 {\n margin-left: 3rem !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mx-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n}\n\n.mx-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n}\n\n.mx-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n}\n\n.mx-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n}\n\n.mx-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n}\n\n.my-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n}\n\n.my-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n}\n\n.my-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n}\n\n.my-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n}\n\n.my-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n}\n\n.mt-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mt-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mt-n3 {\n margin-top: -1rem !important;\n}\n\n.mt-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mt-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mr-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mr-n3 {\n margin-right: -1rem !important;\n}\n\n.mr-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mr-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.mb-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.mb-n3 {\n margin-bottom: -1rem !important;\n}\n\n.mb-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.mb-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n1 {\n margin-left: -0.25rem !important;\n}\n\n.ml-n2 {\n margin-left: -0.5rem !important;\n}\n\n.ml-n3 {\n margin-left: -1rem !important;\n}\n\n.ml-n4 {\n margin-left: -1.5rem !important;\n}\n\n.ml-n5 {\n margin-left: -3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pr-3 {\n padding-right: 1rem !important;\n}\n\n.pr-4 {\n padding-right: 1.5rem !important;\n}\n\n.pr-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.pl-3 {\n padding-left: 1rem !important;\n}\n\n.pl-4 {\n padding-left: 1.5rem !important;\n}\n\n.pl-5 {\n padding-left: 3rem !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-lighter {\n font-weight: lighter !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-weight-bolder {\n font-weight: bolder !important;\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-primary {\n color: #0d6efd !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\n.text-success {\n color: #28a745 !important;\n}\n\n.text-info {\n color: #17a2b8 !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-reset {\n color: inherit !important;\n}\n\n.lh-1 {\n line-height: 1 !important;\n}\n\n.lh-sm {\n line-height: 1.25 !important;\n}\n\n.lh-base {\n line-height: 1.5 !important;\n}\n\n.lh-lg {\n line-height: 2 !important;\n}\n\n.bg-primary {\n background-color: #0d6efd !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\n.bg-success {\n background-color: #28a745 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\n.bg-body {\n background-color: #fff !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.text-break {\n overflow-wrap: break-word !important;\n word-break: break-word !important;\n}\n\n.font-monospace {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-sm {\n border-radius: 0.2rem !important;\n}\n\n.rounded-lg {\n border-radius: 0.3rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: 50rem !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-bottom-left-radius: 0.25rem !important;\n border-top-left-radius: 0.25rem !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-0 {\n margin-right: 0 !important;\n }\n .mr-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mr-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mr-sm-3 {\n margin-right: 1rem !important;\n }\n .mr-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mr-sm-5 {\n margin-right: 3rem !important;\n }\n .mr-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-0 {\n margin-left: 0 !important;\n }\n .ml-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ml-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ml-sm-3 {\n margin-left: 1rem !important;\n }\n .ml-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ml-sm-5 {\n margin-left: 3rem !important;\n }\n .ml-sm-auto {\n margin-left: auto !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-sm-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-sm-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-sm-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-sm-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-sm-n3 {\n margin-top: -1rem !important;\n }\n .mt-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-sm-n3 {\n margin-right: -1rem !important;\n }\n .mr-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-sm-n3 {\n margin-left: -1rem !important;\n }\n .ml-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-sm-n5 {\n margin-left: -3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-0 {\n padding-right: 0 !important;\n }\n .pr-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pr-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pr-sm-3 {\n padding-right: 1rem !important;\n }\n .pr-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pr-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-0 {\n padding-left: 0 !important;\n }\n .pl-sm-1 {\n padding-left: 0.25rem !important;\n }\n .pl-sm-2 {\n padding-left: 0.5rem !important;\n }\n .pl-sm-3 {\n padding-left: 1rem !important;\n }\n .pl-sm-4 {\n padding-left: 1.5rem !important;\n }\n .pl-sm-5 {\n padding-left: 3rem !important;\n }\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n .text-sm-justify {\n text-align: justify !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .mr-md-0 {\n margin-right: 0 !important;\n }\n .mr-md-1 {\n margin-right: 0.25rem !important;\n }\n .mr-md-2 {\n margin-right: 0.5rem !important;\n }\n .mr-md-3 {\n margin-right: 1rem !important;\n }\n .mr-md-4 {\n margin-right: 1.5rem !important;\n }\n .mr-md-5 {\n margin-right: 3rem !important;\n }\n .mr-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-0 {\n margin-left: 0 !important;\n }\n .ml-md-1 {\n margin-left: 0.25rem !important;\n }\n .ml-md-2 {\n margin-left: 0.5rem !important;\n }\n .ml-md-3 {\n margin-left: 1rem !important;\n }\n .ml-md-4 {\n margin-left: 1.5rem !important;\n }\n .ml-md-5 {\n margin-left: 3rem !important;\n }\n .ml-md-auto {\n margin-left: auto !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-md-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-md-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-md-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-md-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-md-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-md-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-md-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-md-n3 {\n margin-top: -1rem !important;\n }\n .mt-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-md-n3 {\n margin-right: -1rem !important;\n }\n .mr-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-md-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-md-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-md-n3 {\n margin-left: -1rem !important;\n }\n .ml-md-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-md-n5 {\n margin-left: -3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-0 {\n padding-right: 0 !important;\n }\n .pr-md-1 {\n padding-right: 0.25rem !important;\n }\n .pr-md-2 {\n padding-right: 0.5rem !important;\n }\n .pr-md-3 {\n padding-right: 1rem !important;\n }\n .pr-md-4 {\n padding-right: 1.5rem !important;\n }\n .pr-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-0 {\n padding-left: 0 !important;\n }\n .pl-md-1 {\n padding-left: 0.25rem !important;\n }\n .pl-md-2 {\n padding-left: 0.5rem !important;\n }\n .pl-md-3 {\n padding-left: 1rem !important;\n }\n .pl-md-4 {\n padding-left: 1.5rem !important;\n }\n .pl-md-5 {\n padding-left: 3rem !important;\n }\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n .text-md-justify {\n text-align: justify !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-0 {\n margin-right: 0 !important;\n }\n .mr-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mr-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mr-lg-3 {\n margin-right: 1rem !important;\n }\n .mr-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mr-lg-5 {\n margin-right: 3rem !important;\n }\n .mr-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-0 {\n margin-left: 0 !important;\n }\n .ml-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ml-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ml-lg-3 {\n margin-left: 1rem !important;\n }\n .ml-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ml-lg-5 {\n margin-left: 3rem !important;\n }\n .ml-lg-auto {\n margin-left: auto !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-lg-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-lg-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-lg-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-lg-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-lg-n3 {\n margin-top: -1rem !important;\n }\n .mt-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-lg-n3 {\n margin-right: -1rem !important;\n }\n .mr-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-lg-n3 {\n margin-left: -1rem !important;\n }\n .ml-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-lg-n5 {\n margin-left: -3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-0 {\n padding-right: 0 !important;\n }\n .pr-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pr-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pr-lg-3 {\n padding-right: 1rem !important;\n }\n .pr-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pr-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-0 {\n padding-left: 0 !important;\n }\n .pl-lg-1 {\n padding-left: 0.25rem !important;\n }\n .pl-lg-2 {\n padding-left: 0.5rem !important;\n }\n .pl-lg-3 {\n padding-left: 1rem !important;\n }\n .pl-lg-4 {\n padding-left: 1.5rem !important;\n }\n .pl-lg-5 {\n padding-left: 3rem !important;\n }\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n .text-lg-justify {\n text-align: justify !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-0 {\n margin-right: 0 !important;\n }\n .mr-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mr-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mr-xl-3 {\n margin-right: 1rem !important;\n }\n .mr-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mr-xl-5 {\n margin-right: 3rem !important;\n }\n .mr-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-0 {\n margin-left: 0 !important;\n }\n .ml-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ml-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ml-xl-3 {\n margin-left: 1rem !important;\n }\n .ml-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ml-xl-5 {\n margin-left: 3rem !important;\n }\n .ml-xl-auto {\n margin-left: auto !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-xl-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-xl-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-xl-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-xl-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-xl-n3 {\n margin-top: -1rem !important;\n }\n .mt-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-xl-n3 {\n margin-right: -1rem !important;\n }\n .mr-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-xl-n3 {\n margin-left: -1rem !important;\n }\n .ml-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-xl-n5 {\n margin-left: -3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-0 {\n padding-right: 0 !important;\n }\n .pr-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pr-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pr-xl-3 {\n padding-right: 1rem !important;\n }\n .pr-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pr-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-0 {\n padding-left: 0 !important;\n }\n .pl-xl-1 {\n padding-left: 0.25rem !important;\n }\n .pl-xl-2 {\n padding-left: 0.5rem !important;\n }\n .pl-xl-3 {\n padding-left: 1rem !important;\n }\n .pl-xl-4 {\n padding-left: 1.5rem !important;\n }\n .pl-xl-5 {\n padding-left: 3rem !important;\n }\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n .text-xl-justify {\n text-align: justify !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n/*# sourceMappingURL=bootstrap.css.map */","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated responsive font sizes\n//\n// Licensed under MIT (https://github.com/twbs/rfs/blob/master/LICENSE)\n\n// Configuration\n\n// Base font size\n$rfs-base-font-size: 1.25rem !default;\n$rfs-font-size-unit: rem !default;\n\n@if $rfs-font-size-unit != rem and $rfs-font-size-unit != px {\n @error \"`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.\";\n}\n\n// Breakpoint at where font-size starts decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n}\n\n// Resize font size based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != \"number\" or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-responsive-font-sizes to false\n$enable-responsive-font-sizes: true !default;\n\n// Cache $rfs-base-font-size unit\n$rfs-base-font-size-unit: unit($rfs-base-font-size);\n\n// Remove px-unit from $rfs-base-font-size for calculations\n@if $rfs-base-font-size-unit == \"px\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1);\n}\n@else if $rfs-base-font-size-unit == \"rem\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == \"px\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == \"rem\" or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Internal mixin that adds disable classes to the selector if needed.\n@mixin _rfs-disable-class {\n @if $rfs-class == \"disable\" {\n // Adding an extra class increases specificity, which prevents the media query to override the font size\n &,\n .disable-responsive-font-size &,\n &.disable-responsive-font-size {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n// Internal mixin that adds enable classes to the selector if needed.\n@mixin _rfs-enable-class {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n// Internal mixin used to determine which media query needs to be used\n@mixin _rfs-media-query($mq-value) {\n @if $rfs-two-dimensional {\n @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {\n @content;\n }\n }\n @else {\n @media (max-width: #{$mq-value}) {\n @content;\n }\n }\n}\n\n// Responsive font size mixin\n@mixin rfs($fs, $important: false) {\n // Cache $fs unit\n $fs-unit: if(type-of($fs) == \"number\", unit($fs), false);\n\n // Add !important suffix if needed\n $rfs-suffix: if($important, \" !important\", \"\");\n\n // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $fs-unit or $fs-unit != \"\" and $fs-unit != \"px\" and $fs-unit != \"rem\" or $fs == 0 {\n font-size: #{$fs}#{$rfs-suffix};\n }\n @else {\n // Remove unit from $fs for calculations\n @if $fs-unit == \"px\" {\n $fs: $fs / ($fs * 0 + 1);\n }\n @else if $fs-unit == \"rem\" {\n $fs: $fs / ($fs * 0 + 1 / $rfs-rem-value);\n }\n\n // Set default font size\n $rfs-static: if($rfs-font-size-unit == rem, #{$fs / $rfs-rem-value}rem, #{$fs}px);\n\n // Only add the media query if the font size is bigger than the minimum font size\n @if $fs <= $rfs-base-font-size or not $enable-responsive-font-sizes {\n font-size: #{$rfs-static}#{$rfs-suffix};\n }\n @else {\n // Calculate the minimum font size for $fs\n $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;\n\n // Calculate difference between $fs and the minimum font size\n $fs-diff: $fs - $fs-min;\n\n // Base font-size formatting\n $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);\n\n // Use `vmin` if two-dimensional is enabled\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Set the calculated font-size\n $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};\n\n // Breakpoint formatting\n $mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit});\n\n @include _rfs-disable-class {\n font-size: #{$rfs-static}#{$rfs-suffix};\n }\n\n @include _rfs-media-query($mq-value) {\n @include _rfs-enable-class {\n font-size: $rfs-fluid;\n }\n\n // Include safari iframe resize fix if needed\n min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null);\n }\n }\n }\n}\n\n// The font-size & responsive-font-size mixins use RFS to rescale the font size\n@mixin font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n\n@mixin responsive-font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n","/*!\n * Bootstrap v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n:root {\n --blue: #0d6efd;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #d63384;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #fff;\n --gray: #6c757d;\n --gray-dark: #343a40;\n --primary: #0d6efd;\n --secondary: #6c757d;\n --success: #28a745;\n --info: #17a2b8;\n --warning: #ffc107;\n --danger: #dc3545;\n --light: #f8f9fa;\n --dark: #343a40;\n --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n background-color: #fff;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n margin: 1rem 0;\n color: inherit;\n background-color: currentColor;\n border: 0;\n opacity: 0.25;\n}\n\nhr:not([size]) {\n height: 1px;\n}\n\nh1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall, .small {\n font-size: 0.875em;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 0.75em;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #0d6efd;\n text-decoration: none;\n}\n\na:hover {\n color: #024dbc;\n text-decoration: underline;\n}\n\na:not([href]), a:not([href]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: 0.875em;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\ncode {\n font-size: 0.875em;\n color: #d63384;\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 0.875em;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 1em;\n font-weight: 700;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nselect {\n word-wrap: normal;\n}\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: textfield;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n float: left;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nmark, .mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n::-webkit-datetime-edit {\n overflow: visible;\n line-height: 0;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: textfield;\n}\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\nmain {\n display: block;\n}\n\n[hidden] {\n display: none !important;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 0.875em;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 0.875em;\n color: #6c757d;\n}\n\n.blockquote-footer::before {\n content: \"\\2014\\00A0\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 0.875em;\n color: #6c757d;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid, .container-sm, .container-md, .container-lg, .container-xl {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.row-cols-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-md-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n margin-bottom: 1rem;\n color: #212529;\n vertical-align: top;\n}\n\n.table th,\n.table td {\n padding: 0.5rem;\n border-bottom: 1px solid #dee2e6;\n}\n\n.table tbody {\n vertical-align: inherit;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom-color: #495057;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #dee2e6;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.25rem;\n}\n\n.table-bordered {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-borderless th,\n.table-borderless td,\n.table-borderless thead th,\n.table-borderless tbody + tbody {\n border: 0;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n color: #212529;\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n background-color: #bbd6fe;\n}\n\n.table-primary th,\n.table-primary td,\n.table-primary thead th,\n.table-primary tbody + tbody {\n border-color: #81b4fe;\n}\n\n.table-hover .table-primary:hover {\n background-color: #a2c7fe;\n}\n\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n background-color: #a2c7fe;\n}\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n background-color: #d6d8db;\n}\n\n.table-secondary th,\n.table-secondary td,\n.table-secondary thead th,\n.table-secondary tbody + tbody {\n border-color: #b3b7bb;\n}\n\n.table-hover .table-secondary:hover {\n background-color: #c8cbcf;\n}\n\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n background-color: #c8cbcf;\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #c3e6cb;\n}\n\n.table-success th,\n.table-success td,\n.table-success thead th,\n.table-success tbody + tbody {\n border-color: #8fd19e;\n}\n\n.table-hover .table-success:hover {\n background-color: #b1dfbb;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #b1dfbb;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #bee5eb;\n}\n\n.table-info th,\n.table-info td,\n.table-info thead th,\n.table-info tbody + tbody {\n border-color: #86cfda;\n}\n\n.table-hover .table-info:hover {\n background-color: #abdde5;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #abdde5;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #ffeeba;\n}\n\n.table-warning th,\n.table-warning td,\n.table-warning thead th,\n.table-warning tbody + tbody {\n border-color: #ffdf7e;\n}\n\n.table-hover .table-warning:hover {\n background-color: #ffe8a1;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #ffe8a1;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f5c6cb;\n}\n\n.table-danger th,\n.table-danger td,\n.table-danger thead th,\n.table-danger tbody + tbody {\n border-color: #ed969e;\n}\n\n.table-hover .table-danger:hover {\n background-color: #f1b0b7;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #f1b0b7;\n}\n\n.table-light,\n.table-light > th,\n.table-light > td {\n background-color: #fdfdfe;\n}\n\n.table-light th,\n.table-light td,\n.table-light thead th,\n.table-light tbody + tbody {\n border-color: #fbfcfc;\n}\n\n.table-hover .table-light:hover {\n background-color: #ececf6;\n}\n\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n background-color: #ececf6;\n}\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n background-color: #c6c8ca;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th,\n.table-dark tbody + tbody {\n border-color: #95999c;\n}\n\n.table-hover .table-dark:hover {\n background-color: #b9bbbe;\n}\n\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n background-color: #b9bbbe;\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table .thead-dark th {\n color: #fff;\n background-color: #343a40;\n border-color: #454d55;\n}\n\n.table .thead-light th {\n color: #495057;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.table-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th {\n border-color: #454d55;\n}\n\n.table-dark.table-bordered {\n border: 0;\n}\n\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-dark.table-hover tbody tr:hover {\n color: #fff;\n background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-sm > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 767.98px) {\n .table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-md > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-lg > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-xl > .table-bordered {\n border: 0;\n }\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n.table-responsive > .table-bordered {\n border: 0;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n}\n\n.form-control {\n display: block;\n width: 100%;\n min-height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:focus {\n color: #495057;\n background-color: #fff;\n border-color: #8bbafe;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-control::placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: 0.375rem 0;\n margin-bottom: 0;\n line-height: 1.5;\n color: #212529;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm {\n min-height: calc(1.5em + 0.5rem + 2px);\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.form-control-lg {\n min-height: calc(1.5em + 1rem + 2px);\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.form-control-color {\n max-width: 3rem;\n padding: 0.375rem;\n}\n\n.form-control-color::-moz-color-swatch {\n border-radius: 0.25rem;\n}\n\n.form-control-color::-webkit-color-swatch {\n border-radius: 0.25rem;\n}\n\n.form-select {\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n background: #fff url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/16px 12px;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n appearance: none;\n}\n\n.form-select:focus {\n border-color: #8bbafe;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-select:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.form-select[multiple], .form-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none;\n}\n\n.form-select:disabled {\n color: #6c757d;\n background-color: #e9ecef;\n}\n\n.form-select::-ms-expand {\n display: none;\n}\n\n.form-select:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #495057;\n}\n\n.form-select-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n padding-left: 0.5rem;\n font-size: 0.875rem;\n}\n\n.form-select-lg {\n height: calc(1.5em + 1rem + 2px);\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 1rem;\n font-size: 1.25rem;\n}\n\n.form-check {\n display: block;\n min-height: 1.5rem;\n padding-left: 1.75em;\n margin-bottom: 0.125rem;\n}\n\n.form-check .form-check-input {\n float: left;\n margin-left: -1.75em;\n}\n\n.form-check-input {\n width: 1.25em;\n height: 1.25em;\n margin-top: 0.125em;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.25);\n appearance: none;\n}\n\n.form-check-input[type=\"checkbox\"] {\n border-radius: 0.25em;\n}\n\n.form-check-input[type=\"radio\"] {\n border-radius: 50%;\n}\n\n.form-check-input:active {\n filter: brightness(90%);\n}\n\n.form-check-input:focus {\n border-color: #8bbafe;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-check-input:checked {\n background-color: #0d6efd;\n background-repeat: no-repeat;\n background-position: center center;\n background-size: 1em;\n border-color: #0d6efd;\n}\n\n.form-check-input:checked[type=\"checkbox\"] {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M4 8.5L6.5 11l6-6'/%3e%3c/svg%3e\");\n}\n\n.form-check-input:checked[type=\"radio\"] {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e\");\n}\n\n.form-check-input[type=\"checkbox\"]:indeterminate {\n background-color: #0d6efd;\n background-repeat: no-repeat;\n background-position: center center;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M5 8h6'/%3e%3c/svg%3e\");\n background-size: 1em;\n border-color: #0d6efd;\n}\n\n.form-check-input[disabled] {\n pointer-events: none;\n filter: none;\n opacity: .5;\n}\n\n.form-check-input[disabled] ~ .form-check-label {\n opacity: .5;\n}\n\n.form-check-label {\n margin-bottom: 0;\n}\n\n.form-switch {\n padding-left: 2.5em;\n}\n\n.form-switch .form-check-input {\n width: 2em;\n margin-left: -2.5em;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba(0, 0, 0, 0.25)'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: left center;\n background-size: contain;\n border-radius: 2em;\n}\n\n.form-switch .form-check-input:focus {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2380bdff'/%3e%3c/svg%3e\");\n}\n\n.form-switch .form-check-input:checked {\n background-position: right center;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\");\n}\n\n.form-check-inline {\n display: inline-block;\n margin-right: 1rem;\n}\n\n.form-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin-bottom: 0;\n}\n\n.form-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin: 0;\n opacity: 0;\n}\n\n.form-file-input:focus ~ .form-file-label {\n border-color: #8bbafe;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-file-input:focus-within ~ .form-file-label {\n border-color: #8bbafe;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-file-input[disabled] ~ .form-file-label .form-file-text {\n background-color: #e9ecef;\n}\n\n.form-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n display: flex;\n height: calc(1.5em + 0.75rem + 2px);\n border-color: #ced4da;\n border-radius: 0.25rem;\n}\n\n.form-file-text {\n display: block;\n flex-grow: 1;\n padding: 0.375rem 0.75rem;\n overflow: hidden;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-overflow: ellipsis;\n white-space: nowrap;\n background-color: #fff;\n border-color: inherit;\n border-style: solid;\n border-width: 1px;\n border-top-left-radius: inherit;\n border-bottom-left-radius: inherit;\n}\n\n.form-file-button {\n display: block;\n flex-shrink: 0;\n padding: 0.375rem 0.75rem;\n margin-left: -1px;\n line-height: 1.5;\n color: #495057;\n background-color: #e9ecef;\n border-color: inherit;\n border-style: solid;\n border-width: 1px;\n border-top-right-radius: inherit;\n border-bottom-right-radius: inherit;\n}\n\n.form-range {\n width: 100%;\n height: 1.4rem;\n padding: 0;\n background-color: transparent;\n appearance: none;\n}\n\n.form-range:focus {\n outline: none;\n}\n\n.form-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-range:focus::-ms-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-range::-moz-focus-outer {\n border: 0;\n}\n\n.form-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: #0d6efd;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-range::-webkit-slider-thumb {\n transition: none;\n }\n}\n\n.form-range::-webkit-slider-thumb:active {\n background-color: #bed8fe;\n}\n\n.form-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.form-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #0d6efd;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-range::-moz-range-thumb {\n transition: none;\n }\n}\n\n.form-range::-moz-range-thumb:active {\n background-color: #bed8fe;\n}\n\n.form-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.form-range::-ms-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: 0;\n margin-right: 0.2rem;\n margin-left: 0.2rem;\n background-color: #0d6efd;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-range::-ms-thumb {\n transition: none;\n }\n}\n\n.form-range::-ms-thumb:active {\n background-color: #bed8fe;\n}\n\n.form-range::-ms-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: transparent;\n border-color: transparent;\n border-width: 0.5rem;\n}\n\n.form-range::-ms-fill-lower {\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.form-range::-ms-fill-upper {\n margin-right: 15px;\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.form-range:disabled::-webkit-slider-thumb {\n background-color: #adb5bd;\n}\n\n.form-range:disabled::-webkit-slider-runnable-track {\n cursor: default;\n}\n\n.form-range:disabled::-moz-range-thumb {\n background-color: #adb5bd;\n}\n\n.form-range:disabled::-moz-range-track {\n cursor: default;\n}\n\n.form-range:disabled::-ms-thumb {\n background-color: #adb5bd;\n}\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px;\n}\n\n.form-row > .col,\n.form-row > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px;\n}\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-plaintext {\n display: inline-block;\n }\n .form-inline .input-group,\n .form-inline .form-select {\n width: auto;\n }\n .form-inline .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n flex-shrink: 0;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n}\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n}\n\n.input-group > .form-control,\n.input-group > .form-select,\n.input-group > .form-file {\n position: relative;\n flex: 1 1 0%;\n min-width: 0;\n margin-bottom: 0;\n}\n\n.input-group > .form-control + .form-control,\n.input-group > .form-control + .form-select,\n.input-group > .form-control + .form-file,\n.input-group > .form-select + .form-control,\n.input-group > .form-select + .form-select,\n.input-group > .form-select + .form-file,\n.input-group > .form-file + .form-control,\n.input-group > .form-file + .form-select,\n.input-group > .form-file + .form-file {\n margin-left: -1px;\n}\n\n.input-group > .form-control:focus,\n.input-group > .form-select:focus,\n.input-group > .form-file .form-file-input:focus ~ .form-file-label {\n z-index: 3;\n}\n\n.input-group > .form-file .form-file-input:focus {\n z-index: 4;\n}\n\n.input-group > .form-control:not(:last-child),\n.input-group > .form-select:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-control:not(:first-child),\n.input-group > .form-select:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group > .form-file {\n display: flex;\n align-items: center;\n}\n\n.input-group > .form-file:not(:last-child) .form-file-label {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-file:not(:first-child) .form-file-label {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n}\n\n.input-group-prepend .btn,\n.input-group-append .btn {\n position: relative;\n z-index: 2;\n}\n\n.input-group-prepend .btn:focus,\n.input-group-append .btn:focus {\n z-index: 3;\n}\n\n.input-group-prepend .btn + .btn,\n.input-group-prepend .btn + .input-group-text,\n.input-group-prepend .input-group-text + .input-group-text,\n.input-group-prepend .input-group-text + .btn,\n.input-group-append .btn + .btn,\n.input-group-append .btn + .input-group-text,\n.input-group-append .input-group-text + .input-group-text,\n.input-group-append .input-group-text + .btn {\n margin-left: -1px;\n}\n\n.input-group-prepend {\n margin-right: -1px;\n}\n\n.input-group-append {\n margin-left: -1px;\n}\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-text input[type=\"radio\"],\n.input-group-text input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group-lg > .form-control {\n min-height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-select {\n height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .form-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.input-group-sm > .form-control {\n min-height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-select {\n height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .form-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.input-group-lg > .form-select,\n.input-group-sm > .form-select {\n padding-right: 1.75rem;\n}\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: #28a745;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n color: #fff;\n background-color: rgba(40, 167, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :valid ~ .valid-feedback,\n.was-validated :valid ~ .valid-tooltip,\n.is-valid ~ .valid-feedback,\n.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid {\n border-color: #28a745;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .form-select:valid, .form-select.is-valid {\n border-color: #28a745;\n padding-right: calc(0.75em + 2.3125rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/16px 12px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-select:valid:focus, .form-select.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-check-input:valid, .form-check-input.is-valid {\n border-color: #28a745;\n}\n\n.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {\n background-color: #34ce57;\n}\n\n.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #28a745;\n}\n\n.form-check-inline .form-check-input ~ .valid-feedback {\n margin-left: .5em;\n}\n\n.was-validated .form-file-input:valid ~ .form-file-label, .form-file-input.is-valid ~ .form-file-label {\n border-color: #28a745;\n}\n\n.was-validated .form-file-input:valid:focus ~ .form-file-label, .form-file-input.is-valid:focus ~ .form-file-label {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :invalid ~ .invalid-feedback,\n.was-validated :invalid ~ .invalid-tooltip,\n.is-invalid ~ .invalid-feedback,\n.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: #dc3545;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .form-select:invalid, .form-select.is-invalid {\n border-color: #dc3545;\n padding-right: calc(0.75em + 2.3125rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/16px 12px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-check-input:invalid, .form-check-input.is-invalid {\n border-color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {\n background-color: #e4606d;\n}\n\n.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dc3545;\n}\n\n.form-check-inline .form-check-input ~ .invalid-feedback {\n margin-left: .5em;\n}\n\n.was-validated .form-file-input:invalid ~ .form-file-label, .form-file-input.is-invalid ~ .form-file-label {\n border-color: #dc3545;\n}\n\n.was-validated .form-file-input:invalid:focus ~ .form-file-label, .form-file-input.is-invalid:focus ~ .form-file-label {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: center;\n vertical-align: middle;\n cursor: pointer;\n user-select: none;\n background-color: transparent;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n\n.btn:hover {\n color: #212529;\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n opacity: 0.65;\n}\n\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #025ce2;\n border-color: #0257d5;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n color: #fff;\n background-color: #025ce2;\n border-color: #0257d5;\n box-shadow: 0 0 0 0.2rem rgba(49, 132, 253, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0257d5;\n border-color: #0252c9;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(49, 132, 253, 0.5);\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #545b62;\n border-color: #4e555b;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-success {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #1e7e34;\n border-color: #1c7430;\n}\n\n.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #117a8b;\n border-color: #10707f;\n}\n\n.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-warning {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,\n.show > .btn-warning.dropdown-toggle {\n color: #212529;\n background-color: #d39e00;\n border-color: #c69500;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #bd2130;\n border-color: #b21f2d;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-light {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-light.disabled, .btn-light:disabled {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,\n.show > .btn-light.dropdown-toggle {\n color: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df;\n}\n\n.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n}\n\n.btn-dark:focus, .btn-dark.focus {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-dark.disabled, .btn-dark:disabled {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,\n.show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-outline-primary {\n color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #0d6efd;\n background-color: transparent;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.5);\n}\n\n.btn-outline-secondary {\n color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-success {\n color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-info {\n color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #17a2b8;\n background-color: transparent;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-warning {\n color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-danger {\n color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light.disabled, .btn-outline-light:disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,\n.show > .btn-outline-light.dropdown-toggle {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-dark {\n color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark.disabled, .btn-outline-dark:disabled {\n color: #343a40;\n background-color: transparent;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,\n.show > .btn-outline-dark.dropdown-toggle {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-link {\n font-weight: 400;\n color: #0d6efd;\n text-decoration: none;\n}\n\n.btn-link:hover {\n color: #024dbc;\n text-decoration: underline;\n}\n\n.btn-link:focus, .btn-link.focus {\n text-decoration: underline;\n box-shadow: none;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n pointer-events: none;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\n.fade {\n transition: opacity 0.15s linear;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\n}\n\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse:not(.show) {\n display: none;\n}\n\n.collapsing {\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n@media (min-width: 576px) {\n .dropdown-menu-sm-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-sm-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 768px) {\n .dropdown-menu-md-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-md-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 992px) {\n .dropdown-menu-lg-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-lg-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 1200px) {\n .dropdown-menu-xl-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xl-right {\n right: 0;\n left: auto;\n }\n}\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: 0.125rem;\n}\n\n.dropright .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropleft .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: 0.125rem;\n}\n\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n\n.dropleft .dropdown-toggle::after {\n display: none;\n}\n\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-menu[x-placement^=\"top\"], .dropdown-menu[x-placement^=\"right\"], .dropdown-menu[x-placement^=\"bottom\"], .dropdown-menu[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1.5rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n\n.dropdown-item:hover, .dropdown-item:focus {\n color: #16181b;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #0d6efd;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: 0.25rem 1.5rem;\n color: #212529;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 1 1 auto;\n}\n\n.btn-group > .btn:hover, .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:hover,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) {\n margin-left: -1px;\n}\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n\n.dropdown-toggle-split::after,\n.dropup .dropdown-toggle-split::after,\n.dropright .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle-split::before {\n margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: -1px;\n}\n\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group-toggle > .btn,\n.btn-group-toggle > .btn-group > .btn {\n margin-bottom: 0;\n}\n\n.btn-group-toggle > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn input[type=\"checkbox\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n}\n\n.nav-link:hover, .nav-link:focus {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #6c757d;\n pointer-events: none;\n cursor: default;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n}\n\n.nav-tabs .nav-item {\n margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6 #dee2e6 #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #0d6efd;\n}\n\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar .container,\n.navbar .container-fluid, .navbar .container-sm, .navbar .container-md, .navbar .container-lg, .navbar .container-xl {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static;\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n align-items: center;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:hover, .navbar-toggler:focus {\n text-decoration: none;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-expand {\n flex-flow: row nowrap;\n justify-content: flex-start;\n}\n\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\n flex-wrap: nowrap;\n}\n\n.navbar-expand .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.5);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-text a,\n.navbar-light .navbar-text a:hover,\n.navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.5);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-text a,\n.navbar-dark .navbar-text a:hover,\n.navbar-dark .navbar-text a:focus {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n\n.card > .list-group:first-child .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.card > .list-group:last-child .list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.card-body {\n flex: 1 1 auto;\n min-height: 1px;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-header + .list-group .list-group-item:first-child {\n border-top: 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n flex-shrink: 0;\n width: 100%;\n}\n\n.card-img,\n.card-img-top {\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img,\n.card-img-bottom {\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-deck .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-deck {\n display: flex;\n flex-flow: row wrap;\n margin-right: -15px;\n margin-left: -15px;\n }\n .card-deck .card {\n flex: 1 0 0%;\n margin-right: 15px;\n margin-bottom: 0;\n margin-left: 15px;\n }\n}\n\n.card-group > .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-group {\n display: flex;\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-top,\n .card-group > .card:not(:last-child) .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-bottom,\n .card-group > .card:not(:last-child) .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-top,\n .card-group > .card:not(:first-child) .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-bottom,\n .card-group > .card:not(:first-child) .card-footer {\n border-bottom-left-radius: 0;\n }\n}\n\n.accordion > .card {\n overflow: hidden;\n}\n\n.accordion > .card:not(:last-of-type) {\n border-bottom: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.accordion > .card:not(:first-of-type) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.accordion > .card > .card-header {\n border-radius: 0;\n margin-bottom: -1px;\n}\n\n.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: 0.5rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n color: #6c757d;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #6c757d;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n}\n\n.page-link {\n position: relative;\n display: block;\n color: #0d6efd;\n background-color: #fff;\n border: 1px solid #dee2e6;\n}\n\n.page-link:hover {\n z-index: 2;\n color: #024dbc;\n text-decoration: none;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.page-link:focus {\n z-index: 3;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.page-item:not(:first-child) .page-link {\n margin-left: -1px;\n}\n\n.page-item.active .page-link {\n z-index: 3;\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n cursor: auto;\n background-color: #fff;\n border-color: #dee2e6;\n}\n\n.page-link {\n padding: 0.375rem 0.75rem;\n}\n\n.page-item:first-child .page-link {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.5em;\n font-size: 0.75em;\n font-weight: 700;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible {\n padding-right: 4rem;\n}\n\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-primary {\n color: #073984;\n background-color: #cfe2ff;\n border-color: #bbd6fe;\n}\n\n.alert-primary .alert-link {\n color: #042454;\n}\n\n.alert-secondary {\n color: #383d41;\n background-color: #e2e3e5;\n border-color: #d6d8db;\n}\n\n.alert-secondary .alert-link {\n color: #202326;\n}\n\n.alert-success {\n color: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info .alert-link {\n color: #062c33;\n}\n\n.alert-warning {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}\n\n.alert-warning .alert-link {\n color: #533f03;\n}\n\n.alert-danger {\n color: #721c24;\n background-color: #f8d7da;\n border-color: #f5c6cb;\n}\n\n.alert-danger .alert-link {\n color: #491217;\n}\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light .alert-link {\n color: #686868;\n}\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca;\n}\n\n.alert-dark .alert-link {\n color: #040505;\n}\n\n@keyframes progress-bar-stripes {\n 0% {\n background-position-x: 1rem;\n }\n}\n\n.progress {\n display: flex;\n height: 1rem;\n overflow: hidden;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n background-color: #0d6efd;\n transition: width 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n animation: none;\n }\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n\n.list-group-item-action:hover, .list-group-item-action:focus {\n z-index: 1;\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.list-group-item + .list-group-item {\n border-top-width: 0;\n}\n\n.list-group-item + .list-group-item.active {\n margin-top: -1px;\n border-top-width: 1px;\n}\n\n.list-group-horizontal {\n flex-direction: row;\n}\n\n.list-group-horizontal .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n}\n\n.list-group-horizontal .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n}\n\n.list-group-horizontal .list-group-item.active {\n margin-top: 0;\n}\n\n.list-group-horizontal .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n}\n\n.list-group-horizontal .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n}\n\n@media (min-width: 576px) {\n .list-group-horizontal-sm {\n flex-direction: row;\n }\n .list-group-horizontal-sm .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-sm .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-sm .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-sm .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-sm .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 768px) {\n .list-group-horizontal-md {\n flex-direction: row;\n }\n .list-group-horizontal-md .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-md .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-md .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-md .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-md .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 992px) {\n .list-group-horizontal-lg {\n flex-direction: row;\n }\n .list-group-horizontal-lg .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-lg .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-lg .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-lg .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-lg .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 1200px) {\n .list-group-horizontal-xl {\n flex-direction: row;\n }\n .list-group-horizontal-xl .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xl .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xl .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xl .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-xl .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n.list-group-flush .list-group-item {\n border-right-width: 0;\n border-left-width: 0;\n border-radius: 0;\n}\n\n.list-group-flush .list-group-item:first-child {\n border-top-width: 0;\n}\n\n.list-group-flush:last-child .list-group-item:last-child {\n border-bottom-width: 0;\n}\n\n.list-group-item-primary {\n color: #073984;\n background-color: #bbd6fe;\n}\n\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #073984;\n background-color: #a2c7fe;\n}\n\n.list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #073984;\n border-color: #073984;\n}\n\n.list-group-item-secondary {\n color: #383d41;\n background-color: #d6d8db;\n}\n\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #383d41;\n background-color: #c8cbcf;\n}\n\n.list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #383d41;\n border-color: #383d41;\n}\n\n.list-group-item-success {\n color: #155724;\n background-color: #c3e6cb;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #155724;\n background-color: #b1dfbb;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #0c5460;\n background-color: #abdde5;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\n}\n\n.list-group-item-warning {\n color: #856404;\n background-color: #ffeeba;\n}\n\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #856404;\n background-color: #ffe8a1;\n}\n\n.list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #856404;\n border-color: #856404;\n}\n\n.list-group-item-danger {\n color: #721c24;\n background-color: #f5c6cb;\n}\n\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #721c24;\n background-color: #f1b0b7;\n}\n\n.list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #721c24;\n border-color: #721c24;\n}\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe;\n}\n\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #818182;\n background-color: #ececf6;\n}\n\n.list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182;\n}\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca;\n}\n\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #1b1e21;\n background-color: #b9bbbe;\n}\n\n.list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21;\n}\n\n.close {\n font-size: 1.5rem;\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:hover {\n color: #000;\n text-decoration: none;\n}\n\n.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {\n opacity: .75;\n}\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n appearance: none;\n}\n\na.close.disabled {\n pointer-events: none;\n}\n\n.toast {\n max-width: 350px;\n overflow: hidden;\n font-size: 0.875rem;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n backdrop-filter: blur(10px);\n opacity: 0;\n border-radius: 0.25rem;\n}\n\n.toast:not(:last-child) {\n margin-bottom: 0.75rem;\n}\n\n.toast.showing {\n opacity: 1;\n}\n\n.toast.show {\n display: block;\n opacity: 1;\n}\n\n.toast.hide {\n display: none;\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: 0.25rem 0.75rem;\n color: #6c757d;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n}\n\n.toast-body {\n padding: 0.75rem;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1050;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n outline: 0;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -50px);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n\n.modal.show .modal-dialog {\n transform: none;\n}\n\n.modal.modal-static .modal-dialog {\n transform: scale(1.02);\n}\n\n.modal-dialog-scrollable {\n display: flex;\n max-height: calc(100% - 1rem);\n}\n\n.modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 1rem);\n overflow: hidden;\n}\n\n.modal-dialog-scrollable .modal-header,\n.modal-dialog-scrollable .modal-footer {\n flex-shrink: 0;\n}\n\n.modal-dialog-scrollable .modal-body {\n overflow-y: auto;\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - 1rem);\n}\n\n.modal-dialog-centered::before {\n display: block;\n height: calc(100vh - 1rem);\n content: \"\";\n}\n\n.modal-dialog-centered.modal-dialog-scrollable {\n flex-direction: column;\n justify-content: center;\n height: 100%;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable .modal-content {\n max-height: none;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable::before {\n content: none;\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1040;\n width: 100vw;\n height: 100vh;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n padding: 1rem 1rem;\n border-bottom: 1px solid #dee2e6;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.modal-header .close {\n padding: 1rem 1rem;\n margin: -1rem -1rem -1rem auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 1rem;\n}\n\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: flex-end;\n padding: 0.75rem;\n border-top: 1px solid #dee2e6;\n border-bottom-right-radius: calc(0.3rem - 1px);\n border-bottom-left-radius: calc(0.3rem - 1px);\n}\n\n.modal-footer > * {\n margin: 0.25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto;\n }\n .modal-dialog-scrollable {\n max-height: calc(100% - 3.5rem);\n }\n .modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 3.5rem);\n }\n .modal-dialog-centered {\n min-height: calc(100% - 3.5rem);\n }\n .modal-dialog-centered::before {\n height: calc(100vh - 3.5rem);\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg,\n .modal-xl {\n max-width: 800px;\n }\n}\n\n@media (min-width: 1200px) {\n .modal-xl {\n max-width: 1140px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .tooltip-arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n\n.tooltip .tooltip-arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"top\"] .tooltip-arrow {\n bottom: 0;\n}\n\n.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .tooltip-arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000;\n}\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-right .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"right\"] .tooltip-arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-right .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .tooltip-arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .tooltip-arrow {\n top: 0;\n}\n\n.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .tooltip-arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000;\n}\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-left .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"left\"] .tooltip-arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-left .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .tooltip-arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .popover-arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem;\n}\n\n.popover .popover-arrow::before, .popover .popover-arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem;\n}\n\n.bs-popover-top > .popover-arrow, .bs-popover-auto[x-placement^=\"top\"] > .popover-arrow {\n bottom: calc(-0.5rem - 1px);\n}\n\n.bs-popover-top > .popover-arrow::before, .bs-popover-auto[x-placement^=\"top\"] > .popover-arrow::before {\n bottom: 0;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-top > .popover-arrow::after, .bs-popover-auto[x-placement^=\"top\"] > .popover-arrow::after {\n bottom: 1px;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: #fff;\n}\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem;\n}\n\n.bs-popover-right > .popover-arrow, .bs-popover-auto[x-placement^=\"right\"] > .popover-arrow {\n left: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-right > .popover-arrow::before, .bs-popover-auto[x-placement^=\"right\"] > .popover-arrow::before {\n left: 0;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-right > .popover-arrow::after, .bs-popover-auto[x-placement^=\"right\"] > .popover-arrow::after {\n left: 1px;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: #fff;\n}\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem;\n}\n\n.bs-popover-bottom > .popover-arrow, .bs-popover-auto[x-placement^=\"bottom\"] > .popover-arrow {\n top: calc(-0.5rem - 1px);\n}\n\n.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] > .popover-arrow::before {\n top: 0;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] > .popover-arrow::after {\n top: 1px;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: #fff;\n}\n\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem;\n}\n\n.bs-popover-left > .popover-arrow, .bs-popover-auto[x-placement^=\"left\"] > .popover-arrow {\n right: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-left > .popover-arrow::before, .bs-popover-auto[x-placement^=\"left\"] > .popover-arrow::before {\n right: 0;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-left > .popover-arrow::after, .bs-popover-auto[x-placement^=\"left\"] > .popover-arrow::after {\n right: 1px;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 0.5rem 0.75rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-inner::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n transition: transform 0.6s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n}\n\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n}\n\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n transition: opacity 0s 0.6s;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-left,\n .carousel-fade .active.carousel-item-right {\n transition: none;\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n transition: opacity 0.15s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n transition: none;\n }\n}\n\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: 0.9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: no-repeat 50% / 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #fff;\n background-clip: padding-box;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n opacity: 0.5;\n transition: opacity 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-indicators li {\n transition: none;\n }\n}\n\n.carousel-indicators .active {\n opacity: 1;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 1.25rem;\n left: 15%;\n padding-top: 1.25rem;\n padding-bottom: 1.25rem;\n color: #fff;\n text-align: center;\n}\n\n@keyframes spinner-border {\n to {\n transform: rotate(360deg);\n }\n}\n\n.spinner-border {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n border: 0.25em solid currentColor;\n border-right-color: transparent;\n border-radius: 50%;\n animation: spinner-border .75s linear infinite;\n}\n\n.spinner-border-sm {\n width: 1rem;\n height: 1rem;\n border-width: 0.2em;\n}\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n background-color: currentColor;\n border-radius: 50%;\n opacity: 0;\n animation: spinner-grow .75s linear infinite;\n}\n\n.spinner-grow-sm {\n width: 1rem;\n height: 1rem;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.link-primary {\n color: #0d6efd;\n}\n\n.link-primary:hover, .link-primary:focus {\n color: #024dbc;\n}\n\n.link-secondary {\n color: #6c757d;\n}\n\n.link-secondary:hover, .link-secondary:focus {\n color: #494f54;\n}\n\n.link-success {\n color: #28a745;\n}\n\n.link-success:hover, .link-success:focus {\n color: #19692c;\n}\n\n.link-info {\n color: #17a2b8;\n}\n\n.link-info:hover, .link-info:focus {\n color: #0f6674;\n}\n\n.link-warning {\n color: #ffc107;\n}\n\n.link-warning:hover, .link-warning:focus {\n color: #ba8b00;\n}\n\n.link-danger {\n color: #dc3545;\n}\n\n.link-danger:hover, .link-danger:focus {\n color: #a71d2a;\n}\n\n.link-light {\n color: #f8f9fa;\n}\n\n.link-light:hover, .link-light:focus {\n color: #cbd3da;\n}\n\n.link-dark {\n color: #343a40;\n}\n\n.link-dark:hover, .link-dark:focus {\n color: #121416;\n}\n\n.embed-responsive {\n position: relative;\n width: 100%;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n@supports (position: sticky) {\n .sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n @media (min-width: 576px) {\n .sticky-sm-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n }\n @media (min-width: 768px) {\n .sticky-md-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n }\n @media (min-width: 992px) {\n .sticky-lg-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n }\n @media (min-width: 1200px) {\n .sticky-xl-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n }\n}\n\n.sr-only,\n.sr-only-focusable:not(:focus) {\n position: absolute !important;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important;\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n}\n\n.stretched-link::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n content: \"\";\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: sticky !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #0d6efd !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mr-3 {\n margin-right: 1rem !important;\n}\n\n.mr-4 {\n margin-right: 1.5rem !important;\n}\n\n.mr-5 {\n margin-right: 3rem !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.ml-3 {\n margin-left: 1rem !important;\n}\n\n.ml-4 {\n margin-left: 1.5rem !important;\n}\n\n.ml-5 {\n margin-left: 3rem !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mx-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n}\n\n.mx-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n}\n\n.mx-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n}\n\n.mx-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n}\n\n.mx-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n}\n\n.my-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n}\n\n.my-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n}\n\n.my-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n}\n\n.my-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n}\n\n.my-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n}\n\n.mt-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mt-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mt-n3 {\n margin-top: -1rem !important;\n}\n\n.mt-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mt-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mr-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mr-n3 {\n margin-right: -1rem !important;\n}\n\n.mr-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mr-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.mb-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.mb-n3 {\n margin-bottom: -1rem !important;\n}\n\n.mb-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.mb-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n1 {\n margin-left: -0.25rem !important;\n}\n\n.ml-n2 {\n margin-left: -0.5rem !important;\n}\n\n.ml-n3 {\n margin-left: -1rem !important;\n}\n\n.ml-n4 {\n margin-left: -1.5rem !important;\n}\n\n.ml-n5 {\n margin-left: -3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pr-3 {\n padding-right: 1rem !important;\n}\n\n.pr-4 {\n padding-right: 1.5rem !important;\n}\n\n.pr-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.pl-3 {\n padding-left: 1rem !important;\n}\n\n.pl-4 {\n padding-left: 1.5rem !important;\n}\n\n.pl-5 {\n padding-left: 3rem !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-lighter {\n font-weight: lighter !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-weight-bolder {\n font-weight: bolder !important;\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-primary {\n color: #0d6efd !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\n.text-success {\n color: #28a745 !important;\n}\n\n.text-info {\n color: #17a2b8 !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-reset {\n color: inherit !important;\n}\n\n.lh-1 {\n line-height: 1 !important;\n}\n\n.lh-sm {\n line-height: 1.25 !important;\n}\n\n.lh-base {\n line-height: 1.5 !important;\n}\n\n.lh-lg {\n line-height: 2 !important;\n}\n\n.bg-primary {\n background-color: #0d6efd !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\n.bg-success {\n background-color: #28a745 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\n.bg-body {\n background-color: #fff !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.text-break {\n overflow-wrap: break-word !important;\n word-break: break-word !important;\n}\n\n.font-monospace {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-sm {\n border-radius: 0.2rem !important;\n}\n\n.rounded-lg {\n border-radius: 0.3rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: 50rem !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-bottom-left-radius: 0.25rem !important;\n border-top-left-radius: 0.25rem !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-0 {\n margin-right: 0 !important;\n }\n .mr-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mr-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mr-sm-3 {\n margin-right: 1rem !important;\n }\n .mr-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mr-sm-5 {\n margin-right: 3rem !important;\n }\n .mr-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-0 {\n margin-left: 0 !important;\n }\n .ml-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ml-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ml-sm-3 {\n margin-left: 1rem !important;\n }\n .ml-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ml-sm-5 {\n margin-left: 3rem !important;\n }\n .ml-sm-auto {\n margin-left: auto !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-sm-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-sm-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-sm-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-sm-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-sm-n3 {\n margin-top: -1rem !important;\n }\n .mt-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-sm-n3 {\n margin-right: -1rem !important;\n }\n .mr-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-sm-n3 {\n margin-left: -1rem !important;\n }\n .ml-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-sm-n5 {\n margin-left: -3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-0 {\n padding-right: 0 !important;\n }\n .pr-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pr-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pr-sm-3 {\n padding-right: 1rem !important;\n }\n .pr-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pr-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-0 {\n padding-left: 0 !important;\n }\n .pl-sm-1 {\n padding-left: 0.25rem !important;\n }\n .pl-sm-2 {\n padding-left: 0.5rem !important;\n }\n .pl-sm-3 {\n padding-left: 1rem !important;\n }\n .pl-sm-4 {\n padding-left: 1.5rem !important;\n }\n .pl-sm-5 {\n padding-left: 3rem !important;\n }\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n .text-sm-justify {\n text-align: justify !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .mr-md-0 {\n margin-right: 0 !important;\n }\n .mr-md-1 {\n margin-right: 0.25rem !important;\n }\n .mr-md-2 {\n margin-right: 0.5rem !important;\n }\n .mr-md-3 {\n margin-right: 1rem !important;\n }\n .mr-md-4 {\n margin-right: 1.5rem !important;\n }\n .mr-md-5 {\n margin-right: 3rem !important;\n }\n .mr-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-0 {\n margin-left: 0 !important;\n }\n .ml-md-1 {\n margin-left: 0.25rem !important;\n }\n .ml-md-2 {\n margin-left: 0.5rem !important;\n }\n .ml-md-3 {\n margin-left: 1rem !important;\n }\n .ml-md-4 {\n margin-left: 1.5rem !important;\n }\n .ml-md-5 {\n margin-left: 3rem !important;\n }\n .ml-md-auto {\n margin-left: auto !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-md-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-md-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-md-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-md-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-md-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-md-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-md-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-md-n3 {\n margin-top: -1rem !important;\n }\n .mt-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-md-n3 {\n margin-right: -1rem !important;\n }\n .mr-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-md-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-md-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-md-n3 {\n margin-left: -1rem !important;\n }\n .ml-md-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-md-n5 {\n margin-left: -3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-0 {\n padding-right: 0 !important;\n }\n .pr-md-1 {\n padding-right: 0.25rem !important;\n }\n .pr-md-2 {\n padding-right: 0.5rem !important;\n }\n .pr-md-3 {\n padding-right: 1rem !important;\n }\n .pr-md-4 {\n padding-right: 1.5rem !important;\n }\n .pr-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-0 {\n padding-left: 0 !important;\n }\n .pl-md-1 {\n padding-left: 0.25rem !important;\n }\n .pl-md-2 {\n padding-left: 0.5rem !important;\n }\n .pl-md-3 {\n padding-left: 1rem !important;\n }\n .pl-md-4 {\n padding-left: 1.5rem !important;\n }\n .pl-md-5 {\n padding-left: 3rem !important;\n }\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n .text-md-justify {\n text-align: justify !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-0 {\n margin-right: 0 !important;\n }\n .mr-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mr-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mr-lg-3 {\n margin-right: 1rem !important;\n }\n .mr-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mr-lg-5 {\n margin-right: 3rem !important;\n }\n .mr-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-0 {\n margin-left: 0 !important;\n }\n .ml-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ml-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ml-lg-3 {\n margin-left: 1rem !important;\n }\n .ml-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ml-lg-5 {\n margin-left: 3rem !important;\n }\n .ml-lg-auto {\n margin-left: auto !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-lg-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-lg-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-lg-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-lg-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-lg-n3 {\n margin-top: -1rem !important;\n }\n .mt-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-lg-n3 {\n margin-right: -1rem !important;\n }\n .mr-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-lg-n3 {\n margin-left: -1rem !important;\n }\n .ml-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-lg-n5 {\n margin-left: -3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-0 {\n padding-right: 0 !important;\n }\n .pr-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pr-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pr-lg-3 {\n padding-right: 1rem !important;\n }\n .pr-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pr-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-0 {\n padding-left: 0 !important;\n }\n .pl-lg-1 {\n padding-left: 0.25rem !important;\n }\n .pl-lg-2 {\n padding-left: 0.5rem !important;\n }\n .pl-lg-3 {\n padding-left: 1rem !important;\n }\n .pl-lg-4 {\n padding-left: 1.5rem !important;\n }\n .pl-lg-5 {\n padding-left: 3rem !important;\n }\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n .text-lg-justify {\n text-align: justify !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-0 {\n margin-right: 0 !important;\n }\n .mr-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mr-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mr-xl-3 {\n margin-right: 1rem !important;\n }\n .mr-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mr-xl-5 {\n margin-right: 3rem !important;\n }\n .mr-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-0 {\n margin-left: 0 !important;\n }\n .ml-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ml-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ml-xl-3 {\n margin-left: 1rem !important;\n }\n .ml-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ml-xl-5 {\n margin-left: 3rem !important;\n }\n .ml-xl-auto {\n margin-left: auto !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-xl-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-xl-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-xl-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-xl-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-xl-n3 {\n margin-top: -1rem !important;\n }\n .mt-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-xl-n3 {\n margin-right: -1rem !important;\n }\n .mr-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-xl-n3 {\n margin-left: -1rem !important;\n }\n .ml-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-xl-n5 {\n margin-left: -3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-0 {\n padding-right: 0 !important;\n }\n .pr-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pr-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pr-xl-3 {\n padding-right: 1rem !important;\n }\n .pr-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pr-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-0 {\n padding-left: 0 !important;\n }\n .pl-xl-1 {\n padding-left: 0.25rem !important;\n }\n .pl-xl-2 {\n padding-left: 0.5rem !important;\n }\n .pl-xl-3 {\n padding-left: 1rem !important;\n }\n .pl-xl-4 {\n padding-left: 1.5rem !important;\n }\n .pl-xl-5 {\n padding-left: 3rem !important;\n }\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n .text-xl-justify {\n text-align: justify !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */","// stylelint-disable property-blacklist\n// Single side border-radius\n\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: $radius;\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-top-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n }\n}\n\n@mixin border-top-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-right-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-left-radius($radius) {\n @if $enable-rounded {\n border-bottom-left-radius: $radius;\n }\n}\n","//\n// Headings\n//\n.h1 {\n @extend h1;\n}\n\n.h2 {\n @extend h2;\n}\n\n.h3 {\n @extend h3;\n}\n\n.h4 {\n @extend h4;\n}\n\n.h5 {\n @extend h5;\n}\n\n.h6 {\n @extend h6;\n}\n\n\n.lead {\n @include font-size($lead-font-size);\n font-weight: $lead-font-weight;\n}\n\n// Type display classes\n.display-1 {\n @include font-size($display1-size);\n font-weight: $display1-weight;\n line-height: $display-line-height;\n}\n.display-2 {\n @include font-size($display2-size);\n font-weight: $display2-weight;\n line-height: $display-line-height;\n}\n.display-3 {\n @include font-size($display3-size);\n font-weight: $display3-weight;\n line-height: $display-line-height;\n}\n.display-4 {\n @include font-size($display4-size);\n font-weight: $display4-weight;\n line-height: $display-line-height;\n}\n\n//\n// Emphasis\n//\n.small {\n @extend small;\n}\n\n.mark {\n @extend mark;\n}\n\n//\n// Lists\n//\n\n.list-unstyled {\n @include list-unstyled();\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n @include list-unstyled();\n}\n.list-inline-item {\n display: inline-block;\n\n &:not(:last-child) {\n margin-right: $list-inline-padding;\n }\n}\n\n\n//\n// Misc\n//\n\n// Builds on `abbr`\n.initialism {\n @include font-size($initialism-font-size);\n text-transform: uppercase;\n}\n\n// Blockquotes\n.blockquote {\n margin-bottom: $spacer;\n @include font-size($blockquote-font-size);\n}\n\n.blockquote-footer {\n display: block;\n @include font-size($blockquote-small-font-size);\n color: $blockquote-small-color;\n\n &::before {\n content: \"\\2014\\00A0\"; // em dash, nbsp\n }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n","// Responsive images (ensure images don't scale beyond their parents)\n//\n// This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.\n// We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n// which weren't expecting the images within themselves to be involuntarily resized.\n// See also https://github.com/twbs/bootstrap/issues/18178\n.img-fluid {\n @include img-fluid();\n}\n\n\n// Image thumbnails\n.img-thumbnail {\n padding: $thumbnail-padding;\n background-color: $thumbnail-bg;\n border: $thumbnail-border-width solid $thumbnail-border-color;\n @include border-radius($thumbnail-border-radius);\n @include box-shadow($thumbnail-box-shadow);\n\n // Keep them at most 100% wide\n @include img-fluid();\n}\n\n//\n// Figures\n//\n\n.figure {\n // Ensures the caption's text aligns with the image.\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: $spacer / 2;\n line-height: 1;\n}\n\n.figure-caption {\n @include font-size($figure-caption-font-size);\n color: $figure-caption-color;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid {\n // Part 1: Set a maximum relative to the parent\n max-width: 100%;\n // Part 2: Override the height to auto, otherwise images will be stretched\n // when setting a width and height attribute on the img element.\n height: auto;\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n @each $name, $width in $grid-breakpoints {\n @if ($container-max-width > $width or $breakpoint == $name) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n }\n }\n }\n }\n}\n\n\n// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container($padding-x: $container-padding-x) {\n width: 100%;\n padding-right: $padding-x;\n padding-left: $padding-x;\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter / 2;\n margin-left: -$gutter / 2;\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n & > * {\n flex: 0 0 100% / $count;\n max-width: 100% / $count;\n }\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","//\n// Basic Bootstrap table\n//\n\n.table {\n width: 100%;\n margin-bottom: $spacer;\n color: $table-color;\n vertical-align: $table-cell-vertical-align;\n background-color: $table-bg; // Reset for nesting within parents with `background-color`.\n\n th,\n td {\n padding: $table-cell-padding;\n border-bottom: $table-border-width solid $table-border-color;\n }\n\n tbody {\n vertical-align: inherit;\n }\n\n thead th {\n vertical-align: bottom;\n border-bottom-color: $table-head-border-color;\n }\n\n tbody + tbody {\n border-top: (2 * $table-border-width) solid $table-border-color;\n }\n}\n\n\n//\n// Condensed table w/ half padding\n//\n\n.table-sm {\n th,\n td {\n padding: $table-cell-padding-sm;\n }\n}\n\n\n// Border versions\n//\n// Add or remove borders all around the table and between all the columns.\n\n.table-bordered {\n border: $table-border-width solid $table-border-color;\n\n th,\n td {\n border: $table-border-width solid $table-border-color;\n }\n\n thead {\n th,\n td {\n border-bottom-width: 2 * $table-border-width;\n }\n }\n}\n\n.table-borderless {\n th,\n td,\n thead th,\n tbody + tbody {\n border: 0;\n }\n}\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-accent-bg;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n tbody tr {\n &:hover {\n color: $table-hover-color;\n background-color: $table-hover-bg;\n }\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n@each $color, $value in $theme-colors {\n @include table-row-variant($color, color-level($value, $table-bg-level), color-level($value, $table-border-level));\n}\n\n@include table-row-variant(active, $table-active-bg);\n\n\n// Dark styles\n//\n// Same table markup, but inverted color scheme: dark background and light text.\n\n// stylelint-disable-next-line no-duplicate-selectors\n.table {\n .thead-dark {\n th {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n border-color: $table-dark-border-color;\n }\n }\n\n .thead-light {\n th {\n color: $table-head-color;\n background-color: $table-head-bg;\n border-color: $table-border-color;\n }\n }\n}\n\n.table-dark {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n\n th,\n td,\n thead th {\n border-color: $table-dark-border-color;\n }\n\n &.table-bordered {\n border: 0;\n }\n\n &.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-dark-accent-bg;\n }\n }\n\n &.table-hover {\n tbody tr {\n &:hover {\n color: $table-dark-hover-color;\n background-color: $table-dark-hover-bg;\n }\n }\n }\n}\n\n\n// Responsive tables\n//\n// Generate series of `.table-responsive-*` classes for configuring the screen\n// size of where your table will overflow.\n\n.table-responsive {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n\n // Prevent double border on horizontal scroll due to use of `display: block;`\n > .table-bordered {\n border: 0;\n }\n }\n }\n }\n}\n","// Tables\n\n@mixin table-row-variant($state, $background, $border: null) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table-#{$state} {\n &,\n > th,\n > td {\n background-color: $background;\n }\n\n @if $border != null {\n th,\n td,\n thead th,\n tbody + tbody {\n border-color: $border;\n }\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover {\n $hover-background: darken($background, 5%);\n\n .table-#{$state} {\n &:hover {\n background-color: $hover-background;\n\n > td,\n > th {\n background-color: $hover-background;\n }\n }\n }\n }\n}\n","//\n// Labels\n//\n\n// For use with horizontal and inline forms, when you need the label (or legend)\n// text to align with the form controls.\n.col-form-label {\n padding-top: add($input-padding-y, $input-border-width);\n padding-bottom: add($input-padding-y, $input-border-width);\n margin-bottom: 0; // Override the `<label>/<legend>` default\n @include font-size(inherit); // Override the `<legend>` default\n line-height: $input-line-height;\n}\n\n.col-form-label-lg {\n padding-top: add($input-padding-y-lg, $input-border-width);\n padding-bottom: add($input-padding-y-lg, $input-border-width);\n @include font-size($input-font-size-lg);\n}\n\n.col-form-label-sm {\n padding-top: add($input-padding-y-sm, $input-border-width);\n padding-bottom: add($input-padding-y-sm, $input-border-width);\n @include font-size($input-font-size-sm);\n}\n","//\n// Textual form controls\n//\n\n.form-control {\n display: block;\n width: 100%;\n min-height: $input-height;\n padding: $input-padding-y $input-padding-x;\n font-family: $input-font-family;\n @include font-size($input-font-size);\n font-weight: $input-font-weight;\n line-height: $input-line-height;\n color: $input-color;\n background-color: $input-bg;\n background-clip: padding-box;\n border: $input-border-width solid $input-border-color;\n\n // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.\n @include border-radius($input-border-radius, 0);\n\n @include box-shadow($input-box-shadow);\n @include transition($input-transition);\n\n // Unstyle the caret on `<select>`s in IE10+.\n &::-ms-expand {\n background-color: transparent;\n border: 0;\n }\n\n // Customize the `:focus` state to imitate native WebKit styles.\n &:focus {\n color: $input-focus-color;\n background-color: $input-focus-bg;\n border-color: $input-focus-border-color;\n outline: 0;\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $input-box-shadow, $input-focus-box-shadow;\n } @else {\n box-shadow: $input-focus-box-shadow;\n }\n }\n\n // Placeholder\n &::placeholder {\n color: $input-placeholder-color;\n // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.\n opacity: 1;\n }\n\n // Disabled and read-only inputs\n //\n // HTML5 says that controls under a fieldset > legend:first-child won't be\n // disabled if the fieldset is disabled. Due to implementation difficulty, we\n // don't honor that edge case; we style them as disabled anyway.\n &:disabled,\n &[readonly] {\n background-color: $input-disabled-bg;\n border-color: $input-disabled-border-color;\n // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n opacity: 1;\n }\n}\n\n// Readonly controls as plain text\n//\n// Apply class to a readonly input to make it appear like regular plain\n// text (without any border, background color, focus indicator)\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: $input-padding-y 0;\n margin-bottom: 0; // match inputs if this class comes on inputs with default margins\n line-height: $input-line-height;\n color: $input-plaintext-color;\n background-color: transparent;\n border: solid transparent;\n border-width: $input-border-width 0;\n\n &.form-control-sm,\n &.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n//\n// Repeated in `_input_group.scss` to avoid Sass extend issues.\n\n.form-control-sm {\n min-height: $input-height-sm;\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n @include border-radius($input-border-radius-sm);\n}\n\n.form-control-lg {\n min-height: $input-height-lg;\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n @include border-radius($input-border-radius-lg);\n}\n\n.form-control-color {\n max-width: 3rem;\n padding: $input-padding-y;\n}\n\n.form-control-color::-moz-color-swatch {\n @include border-radius($input-border-radius);\n}\n\n.form-control-color::-webkit-color-swatch {\n @include border-radius($input-border-radius);\n}\n","// stylelint-disable property-blacklist\n@mixin transition($transition...) {\n @if $enable-transitions {\n @if length($transition) == 0 {\n transition: $transition-base;\n } @else {\n transition: $transition;\n }\n }\n\n @if $enable-prefers-reduced-motion-media-query {\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n }\n}\n","// Select\n//\n// Replaces the browser default select with a custom one, mostly pulled from\n// https://primer.github.io/.\n\n.form-select {\n display: inline-block;\n width: 100%;\n height: $form-select-height;\n padding: $form-select-padding-y ($form-select-padding-x + $form-select-indicator-padding) $form-select-padding-y $form-select-padding-x;\n font-family: $form-select-font-family;\n @include font-size($form-select-font-size);\n font-weight: $form-select-font-weight;\n line-height: $form-select-line-height;\n color: $form-select-color;\n vertical-align: middle;\n background: $form-select-bg escape-svg($form-select-indicator) $form-select-background;\n border: $form-select-border-width solid $form-select-border-color;\n @include border-radius($form-select-border-radius, 0);\n @include box-shadow($form-select-box-shadow);\n appearance: none;\n\n &:focus {\n border-color: $form-select-focus-border-color;\n outline: 0;\n @if $enable-shadows {\n box-shadow: $form-select-box-shadow, $form-select-focus-box-shadow;\n } @else {\n box-shadow: $form-select-focus-box-shadow;\n }\n\n &::-ms-value {\n // For visual consistency with other platforms/browsers,\n // suppress the default white text on blue background highlight given to\n // the selected option text when the (still closed) <select> receives focus\n // in IE and (under certain conditions) Edge.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n }\n\n &[multiple],\n &[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: $form-select-padding-x;\n background-image: none;\n }\n\n &:disabled {\n color: $form-select-disabled-color;\n background-color: $form-select-disabled-bg;\n border-color: $form-select-disabled-border-color;\n }\n\n // Hides the default caret in IE11\n &::-ms-expand {\n display: none;\n }\n\n // Remove outline from select box in FF\n &:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 $form-select-color;\n }\n}\n\n.form-select-sm {\n height: $form-select-height-sm;\n padding-top: $form-select-padding-y-sm;\n padding-bottom: $form-select-padding-y-sm;\n padding-left: $form-select-padding-x-sm;\n @include font-size($form-select-font-size-sm);\n}\n\n.form-select-lg {\n height: $form-select-height-lg;\n padding-top: $form-select-padding-y-lg;\n padding-bottom: $form-select-padding-y-lg;\n padding-left: $form-select-padding-x-lg;\n @include font-size($form-select-font-size-lg);\n}\n","//\n// Check/radio\n//\n\n.form-check {\n display: block;\n min-height: $form-check-min-height;\n padding-left: $form-check-padding-left;\n margin-bottom: $form-check-margin-bottom;\n\n .form-check-input {\n float: left;\n margin-left: $form-check-padding-left * -1;\n }\n}\n\n.form-check-input {\n width: $form-check-input-width;\n height: $form-check-input-width;\n margin-top: ($line-height-base - $form-check-input-width) / 2; // line-height minus check height\n background-color: $form-check-input-bg;\n border: $form-check-input-border;\n appearance: none;\n\n &[type=\"checkbox\"] {\n @include border-radius($form-check-input-border-radius);\n }\n\n &[type=\"radio\"] {\n @include border-radius($form-check-radio-border-radius);\n }\n\n &:active {\n filter: $form-check-input-active-filter;\n }\n\n &:focus {\n border-color: $form-check-input-focus-border;\n outline: 0;\n box-shadow: $form-check-input-focus-box-shadow;\n }\n\n &:checked {\n background-color: $form-check-input-checked-bg-color;\n background-repeat: $form-check-input-checked-bg-repeat;\n background-position: $form-check-input-checked-bg-position;\n background-size: $form-check-input-checked-bg-size;\n border-color: $form-check-input-checked-border-color;\n\n &[type=\"checkbox\"] {\n @if $enable-gradients {\n background-image: escape-svg($form-check-input-checked-bg-image), linear-gradient(180deg, lighten($form-check-input-checked-bg-color, 10%), $form-check-input-checked-bg-color);\n background-size: $form-check-input-checked-bg-size, auto;\n } @else {\n background-image: escape-svg($form-check-input-checked-bg-image);\n }\n }\n\n &[type=\"radio\"] {\n @if $enable-gradients {\n background-image: escape-svg($form-check-radio-checked-bg-image), linear-gradient(180deg, lighten($form-check-input-checked-bg-color, 10%), $form-check-input-checked-bg-color);\n background-size: $form-check-input-checked-bg-size, auto;\n } @else {\n background-image: escape-svg($form-check-radio-checked-bg-image);\n }\n }\n }\n\n &[type=\"checkbox\"]:indeterminate {\n background-color: $form-check-input-indeterminate-bg-color;\n background-repeat: $form-check-input-indeterminate-bg-repeat;\n background-position: $form-check-input-indeterminate-bg-position;\n @if $enable-gradients {\n background-image: escape-svg($form-check-input-indeterminate-bg-image), linear-gradient(180deg, lighten($form-check-input-checked-bg-color, 10%), $form-check-input-checked-bg-color);\n background-size: $form-check-input-checked-bg-size, auto;\n } @else {\n background-image: escape-svg($form-check-input-indeterminate-bg-image);\n background-size: $form-check-input-indeterminate-bg-size;\n }\n border-color: $form-check-input-indeterminate-border-color;\n }\n\n // Use disabled attribute instead of :disabled pseudo-class\n // Workaround for: https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/11295231\n &[disabled] {\n pointer-events: none;\n filter: none;\n opacity: .5;\n\n ~ .form-check-label {\n opacity: .5;\n }\n }\n}\n\n.form-check-label {\n margin-bottom: 0;\n cursor: $form-check-label-cursor;\n}\n\n//\n// Switch\n//\n\n.form-switch {\n padding-left: $form-switch-padding-left;\n\n .form-check-input {\n width: $form-switch-width;\n margin-left: $form-switch-padding-left * -1;\n background-image: escape-svg($form-switch-bg-image);\n background-repeat: no-repeat;\n background-position: left center;\n background-size: $form-switch-bg-size; // Get a 1px separation\n @include border-radius($form-switch-border-radius);\n // Todo: Figure out how to tackle these, with or without mixin?\n // transition: $form-switch-transition;\n // transition-property: $form-switch-transition-property;\n\n &:focus {\n background-image: escape-svg($form-switch-focus-bg-image);\n }\n\n &:checked {\n background-position: $form-switch-checked-bg-position;\n\n @if $enable-gradients {\n background-image: escape-svg($form-switch-checked-bg-image), linear-gradient(180deg, $form-check-input-checked-bg-color, lighten($form-check-input-checked-bg-color, 10%));\n background-size: $form-switch-bg-size, auto;\n } @else {\n background-image: escape-svg($form-switch-checked-bg-image);\n }\n }\n }\n}\n\n.form-check-inline {\n display: inline-block;\n margin-right: $form-check-inline-margin-right;\n}\n",".form-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: $form-file-height;\n margin-bottom: 0;\n}\n\n.form-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: $form-file-height;\n margin: 0;\n opacity: 0;\n\n // Separate rules for :focus and :focus-within as IE doesn't support the latter, and\n // thus ignores the entire ruleset. See https://github.com/twbs/bootstrap/pull/29036.\n &:focus ~ .form-file-label {\n border-color: $form-file-focus-border-color;\n box-shadow: $form-file-focus-box-shadow;\n }\n\n &:focus-within ~ .form-file-label {\n border-color: $form-file-focus-border-color;\n box-shadow: $form-file-focus-box-shadow;\n }\n\n // Use disabled attribute instead of :disabled pseudo-class\n // Workaround for: https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/11295231\n &[disabled] ~ .form-file-label .form-file-text {\n background-color: $form-file-disabled-bg;\n border-color: $form-file-disabled-border-color;\n }\n}\n\n.form-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n display: flex;\n height: $form-file-height;\n border-color: $form-file-border-color;\n @include border-radius($form-file-border-radius);\n @include box-shadow($form-file-box-shadow);\n}\n\n.form-file-text {\n display: block;\n flex-grow: 1;\n padding: $form-file-padding-y $form-file-padding-x;\n overflow: hidden;\n font-family: $form-file-font-family;\n font-weight: $form-file-font-weight;\n line-height: $form-file-line-height;\n color: $form-file-color;\n text-overflow: ellipsis;\n white-space: nowrap;\n background-color: $form-file-bg;\n border-color: inherit;\n border-style: solid;\n border-width: $form-file-border-width;\n @include border-left-radius(inherit);\n}\n\n.form-file-button {\n display: block;\n flex-shrink: 0;\n padding: $form-file-padding-y $form-file-padding-x;\n margin-left: -$form-file-border-width;\n line-height: $form-file-line-height;\n color: $form-file-button-color;\n @include gradient-bg($form-file-button-bg);\n border-color: inherit;\n border-style: solid;\n border-width: $form-file-border-width;\n @include border-right-radius(inherit);\n}\n","// Gradients\n\n@mixin gradient-bg($color, $foreground: null) {\n @if $enable-gradients {\n @if $foreground {\n background-color: $color;\n background-image: $foreground, linear-gradient(180deg, mix($body-bg, $color, 15%), $color);\n background-repeat: no-repeat;\n background-size: 1em, auto;\n } @else {\n background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x;\n }\n } @else {\n background-color: $color;\n }\n}\n\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n background-repeat: repeat-x;\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n background-repeat: repeat-x;\n}\n\n@mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) {\n background-image: linear-gradient($deg, $start-color, $end-color);\n background-repeat: repeat-x;\n}\n@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) {\n background-image: radial-gradient(circle, $inner-color, $outer-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {\n background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n","// Range\n//\n// Style range inputs the same across browsers. Vendor-specific rules for pseudo\n// elements cannot be mixed. As such, there are no shared styles for focus or\n// active states on prefixed selectors.\n\n.form-range {\n width: 100%;\n height: add($form-range-thumb-height, $form-range-thumb-focus-box-shadow-width * 2);\n padding: 0; // Need to reset padding\n background-color: transparent;\n appearance: none;\n\n &:focus {\n outline: none;\n\n // Pseudo-elements must be split across multiple rulesets to have an effect.\n // No box-shadow() mixin for focus accessibility.\n &::-webkit-slider-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }\n &::-moz-range-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }\n &::-ms-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }\n }\n\n &::-moz-focus-outer {\n border: 0;\n }\n\n &::-webkit-slider-thumb {\n width: $form-range-thumb-width;\n height: $form-range-thumb-height;\n margin-top: ($form-range-track-height - $form-range-thumb-height) / 2; // Webkit specific\n @include gradient-bg($form-range-thumb-bg);\n border: $form-range-thumb-border;\n @include border-radius($form-range-thumb-border-radius);\n @include box-shadow($form-range-thumb-box-shadow);\n @include transition($form-range-thumb-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($form-range-thumb-active-bg);\n }\n }\n\n &::-webkit-slider-runnable-track {\n width: $form-range-track-width;\n height: $form-range-track-height;\n color: transparent; // Why?\n cursor: $form-range-track-cursor;\n background-color: $form-range-track-bg;\n border-color: transparent;\n @include border-radius($form-range-track-border-radius);\n @include box-shadow($form-range-track-box-shadow);\n }\n\n &::-moz-range-thumb {\n width: $form-range-thumb-width;\n height: $form-range-thumb-height;\n @include gradient-bg($form-range-thumb-bg);\n border: $form-range-thumb-border;\n @include border-radius($form-range-thumb-border-radius);\n @include box-shadow($form-range-thumb-box-shadow);\n @include transition($form-range-thumb-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($form-range-thumb-active-bg);\n }\n }\n\n &::-moz-range-track {\n width: $form-range-track-width;\n height: $form-range-track-height;\n color: transparent;\n cursor: $form-range-track-cursor;\n background-color: $form-range-track-bg;\n border-color: transparent; // Firefox specific?\n @include border-radius($form-range-track-border-radius);\n @include box-shadow($form-range-track-box-shadow);\n }\n\n &::-ms-thumb {\n width: $form-range-thumb-width;\n height: $form-range-thumb-height;\n margin-top: 0; // Edge specific\n margin-right: $form-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.\n margin-left: $form-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.\n @include gradient-bg($form-range-thumb-bg);\n border: $form-range-thumb-border;\n @include border-radius($form-range-thumb-border-radius);\n @include box-shadow($form-range-thumb-box-shadow);\n @include transition($form-range-thumb-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($form-range-thumb-active-bg);\n }\n }\n\n &::-ms-track {\n width: $form-range-track-width;\n height: $form-range-track-height;\n color: transparent;\n cursor: $form-range-track-cursor;\n background-color: transparent;\n border-color: transparent;\n border-width: $form-range-thumb-height / 2;\n @include box-shadow($form-range-track-box-shadow);\n }\n\n &::-ms-fill-lower {\n background-color: $form-range-track-bg;\n @include border-radius($form-range-track-border-radius);\n }\n\n &::-ms-fill-upper {\n margin-right: 15px; // arbitrary?\n background-color: $form-range-track-bg;\n @include border-radius($form-range-track-border-radius);\n }\n\n &:disabled {\n &::-webkit-slider-thumb {\n background-color: $form-range-thumb-disabled-bg;\n }\n\n &::-webkit-slider-runnable-track {\n cursor: default;\n }\n\n &::-moz-range-thumb {\n background-color: $form-range-thumb-disabled-bg;\n }\n\n &::-moz-range-track {\n cursor: default;\n }\n\n &::-ms-thumb {\n background-color: $form-range-thumb-disabled-bg;\n }\n }\n}\n","// Form grid\n//\n// Special replacement for our grid system's `.row` for tighter form layouts.\n\n@if $enable-grid-classes {\n .form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$form-grid-gutter-width / 2;\n margin-left: -$form-grid-gutter-width / 2;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: $form-grid-gutter-width / 2;\n padding-left: $form-grid-gutter-width / 2;\n }\n }\n}\n\n// Inline forms\n//\n// Make forms appear inline(-block) by adding the `.form-inline` class. Inline\n// forms begin stacked on extra small (mobile) devices and then go inline when\n// viewports reach <768px.\n//\n// Requires wrapping inputs and labels with `.form-group` for proper display of\n// default HTML form controls and our custom form controls (e.g., input groups).\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center; // Prevent shorter elements from growing to same height as others (e.g., small buttons growing to normal sized button height)\n\n // Because we use flex, the initial sizing of checkboxes is collapsed and\n // doesn't occupy the full-width (which is what we want for xs grid tier),\n // so we force that here.\n .form-check {\n width: 100%;\n }\n\n // Kick in the inline\n @include media-breakpoint-up(sm) {\n label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n\n // Inline-block all the things for \"inline\"\n .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n\n // Allow folks to *not* use `.form-group`\n .form-control {\n display: inline-block;\n width: auto; // Prevent labels from stacking above inputs in `.form-group`\n vertical-align: middle;\n }\n\n // Make static controls behave like regular ones\n .form-control-plaintext {\n display: inline-block;\n }\n\n .input-group,\n .form-select {\n width: auto;\n }\n\n // Remove default margin on radios/checkboxes that were used for stacking, and\n // then undo the floating of radios and checkboxes to match.\n .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-check-input {\n position: relative;\n flex-shrink: 0;\n margin-top: 0;\n margin-right: $form-check-input-margin-x;\n margin-left: 0;\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap; // For form validation feedback\n align-items: stretch;\n width: 100%;\n\n > .form-control,\n > .form-select,\n > .form-file {\n position: relative; // For focus state's z-index\n flex: 1 1 0%;\n min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size\n margin-bottom: 0;\n\n + .form-control,\n + .form-select,\n + .form-file {\n margin-left: -$input-border-width;\n }\n }\n\n // Bring the \"active\" form control to the top of surrounding elements\n > .form-control:focus,\n > .form-select:focus,\n > .form-file .form-file-input:focus ~ .form-file-label {\n z-index: 3;\n }\n\n // Bring the custom file input above the label\n > .form-file .form-file-input:focus {\n z-index: 4;\n }\n\n > .form-control,\n > .form-select {\n &:not(:last-child) { @include border-right-radius(0); }\n &:not(:first-child) { @include border-left-radius(0); }\n }\n\n // Custom file inputs have more complex markup, thus requiring different\n // border-radius overrides.\n > .form-file {\n display: flex;\n align-items: center;\n\n &:not(:last-child) .form-file-label { @include border-right-radius(0); }\n &:not(:first-child) .form-file-label { @include border-left-radius(0); }\n }\n}\n\n\n// Prepend and append\n//\n// While it requires one extra layer of HTML for each, dedicated prepend and\n// append elements allow us to 1) be less clever, 2) simplify our selectors, and\n// 3) support HTML5 form validation.\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n\n // Ensure buttons are always above inputs for more visually pleasing borders.\n // This isn't needed for `.input-group-text` since it shares the same border-color\n // as our inputs.\n .btn {\n position: relative;\n z-index: 2;\n\n &:focus {\n z-index: 3;\n }\n }\n\n .btn + .btn,\n .btn + .input-group-text,\n .input-group-text + .input-group-text,\n .input-group-text + .btn {\n margin-left: -$input-border-width;\n }\n}\n\n.input-group-prepend { margin-right: -$input-border-width; }\n.input-group-append { margin-left: -$input-border-width; }\n\n\n// Textual addons\n//\n// Serves as a catch-all element for any text or radio/checkbox input you wish\n// to prepend or append to an input.\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: $input-padding-y $input-padding-x;\n margin-bottom: 0; // Allow use of <label> elements by overriding our default margin-bottom\n @include font-size($input-font-size); // Match inputs\n font-weight: $font-weight-normal;\n line-height: $input-line-height;\n color: $input-group-addon-color;\n text-align: center;\n white-space: nowrap;\n background-color: $input-group-addon-bg;\n border: $input-border-width solid $input-group-addon-border-color;\n @include border-radius($input-border-radius);\n\n // Nuke default margins from checkboxes and radios to vertically center within.\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n margin-top: 0;\n }\n}\n\n\n// Sizing\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control {\n min-height: $input-height-lg;\n}\n\n.input-group-lg > .form-select {\n height: $input-height-lg;\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .form-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n @include border-radius($input-border-radius-lg);\n}\n\n.input-group-sm > .form-control {\n min-height: $input-height-sm;\n}\n\n.input-group-sm > .form-select {\n height: $input-height-sm;\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .form-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n @include border-radius($input-border-radius-sm);\n}\n\n.input-group-lg > .form-select,\n.input-group-sm > .form-select {\n padding-right: $form-select-padding-x + $form-select-indicator-padding;\n}\n\n\n// Prepend and append rounded corners\n//\n// These rulesets must come after the sizing ones to properly override sm and lg\n// border-radius values when extending. They're more specific than we'd like\n// with the `.input-group >` part, but without it, we cannot override the sizing.\n\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n @include border-right-radius(0);\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n @include border-left-radius(0);\n}\n","// Form control focus state\n//\n// Generate a customized focus state and for any input with the specified color,\n// which defaults to the `$input-focus-border-color` variable.\n//\n// We highly encourage you to not customize the default value, but instead use\n// this to tweak colors on an as-needed basis. This aesthetic change is based on\n// WebKit's default styles, but applicable to a wider range of browsers. Its\n// usability and accessibility should be taken into account with any change.\n//\n// Example usage: change the default blue border and shadow to white for better\n// contrast against a dark gray background.\n@mixin form-control-focus($ignore-warning: false) {\n &:focus {\n color: $input-focus-color;\n background-color: $input-focus-bg;\n border-color: $input-focus-border-color;\n outline: 0;\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $input-box-shadow, $input-focus-box-shadow;\n } @else {\n box-shadow: $input-focus-box-shadow;\n }\n }\n @include deprecate(\"The `form-control-focus()` mixin\", \"v4.3.2\", \"v5\", $ignore-warning);\n}\n\n// This mixin uses an `if()` technique to be compatible with Dart Sass\n// See https://github.com/sass/sass/issues/1873#issuecomment-152293725 for more details\n@mixin form-validation-state-selector($state) {\n @if ($state == \"valid\" or $state == \"invalid\") {\n .was-validated #{if(&, \"&\", \"\")}:#{$state},\n #{if(&, \"&\", \"\")}.is-#{$state} {\n @content;\n }\n } @else {\n #{if(&, \"&\", \"\")}.is-#{$state} {\n @content;\n }\n }\n}\n\n@mixin form-validation-state($state, $color, $icon) {\n .#{$state}-feedback {\n display: none;\n width: 100%;\n margin-top: $form-feedback-margin-top;\n @include font-size($form-feedback-font-size);\n color: $color;\n }\n\n .#{$state}-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%; // Contain to parent when possible\n padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x;\n margin-top: .1rem;\n @include font-size($form-feedback-tooltip-font-size);\n line-height: $form-feedback-tooltip-line-height;\n color: color-yiq($color);\n background-color: rgba($color, $form-feedback-tooltip-opacity);\n @include border-radius($form-feedback-tooltip-border-radius);\n }\n\n @include form-validation-state-selector($state) {\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n\n .form-control {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-image: escape-svg($icon);\n background-repeat: no-repeat;\n background-position: right $input-height-inner-quarter center;\n background-size: $input-height-inner-half $input-height-inner-half;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n\n // stylelint-disable-next-line selector-no-qualifying-type\n textarea.form-control {\n @include form-validation-state-selector($state) {\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-position: top $input-height-inner-quarter right $input-height-inner-quarter;\n }\n }\n }\n\n .form-select {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $form-select-feedback-icon-padding-right;\n background: escape-svg($form-select-indicator) $form-select-background, escape-svg($icon) $form-select-bg no-repeat $form-select-feedback-icon-position / $form-select-feedback-icon-size;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n\n .form-check-input {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n &:checked {\n @include gradient-bg(lighten($color, 10%), escape-svg($form-check-input-checked-bg-image));\n }\n\n &:focus {\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n\n ~ .form-check-label {\n color: $color;\n }\n }\n }\n .form-check-inline .form-check-input {\n ~ .#{$state}-feedback {\n margin-left: .5em;\n }\n }\n\n // custom file\n .form-file-input {\n @include form-validation-state-selector($state) {\n ~ .form-file-label {\n border-color: $color;\n }\n\n &:focus {\n ~ .form-file-label {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.btn {\n display: inline-block;\n font-family: $btn-font-family;\n font-weight: $btn-font-weight;\n line-height: $btn-line-height;\n color: $body-color;\n text-align: center;\n white-space: $btn-white-space;\n vertical-align: middle;\n cursor: if($enable-pointer-cursor-for-buttons, pointer, null);\n user-select: none;\n background-color: transparent;\n border: $btn-border-width solid transparent;\n @include button-size($btn-padding-y, $btn-padding-x, $btn-font-size, $btn-border-radius);\n @include transition($btn-transition);\n\n &:hover {\n color: $body-color;\n text-decoration: none;\n }\n\n &:focus,\n &.focus {\n outline: 0;\n box-shadow: $btn-focus-box-shadow;\n }\n\n // Disabled comes first so active can properly restyle\n &.disabled,\n &:disabled {\n opacity: $btn-disabled-opacity;\n @include box-shadow(none);\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active {\n @include box-shadow($btn-active-box-shadow);\n\n &:focus {\n @include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow);\n }\n }\n}\n\n// Future-proof disabling of clicks on `<a>` elements\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n\n//\n// Alternate buttons\n//\n\n@each $color, $value in $theme-colors {\n .btn-#{$color} {\n @include button-variant($value, $value);\n }\n}\n\n@each $color, $value in $theme-colors {\n .btn-outline-#{$color} {\n @include button-outline-variant($value);\n }\n}\n\n\n//\n// Link buttons\n//\n\n// Make a button look and behave like a link\n.btn-link {\n font-weight: $font-weight-normal;\n color: $btn-link-color;\n text-decoration: $link-decoration;\n\n &:hover {\n color: $btn-link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n\n &:focus,\n &.focus {\n text-decoration: $link-hover-decoration;\n box-shadow: none;\n }\n\n &:disabled,\n &.disabled {\n color: $btn-link-disabled-color;\n pointer-events: none;\n }\n\n // No need for an active state here\n}\n\n\n//\n// Button Sizes\n//\n\n.btn-lg {\n @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-border-radius-lg);\n}\n\n.btn-sm {\n @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-border-radius-sm);\n}\n\n\n//\n// Block button\n//\n\n.btn-block {\n display: block;\n width: 100%;\n\n // Vertically space out multiple block buttons\n + .btn-block {\n margin-top: $btn-block-spacing-y;\n }\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n@mixin button-variant(\n $background,\n $border,\n $color: color-yiq($background),\n $hover-background: darken($background, 7.5%),\n $hover-border: darken($border, 10%),\n $hover-color: color-yiq($hover-background),\n $active-background: darken($background, 10%),\n $active-border: darken($border, 12.5%),\n $active-color: color-yiq($active-background)\n) {\n color: $color;\n @include gradient-bg($background);\n border-color: $border;\n @include box-shadow($btn-box-shadow);\n\n &:hover {\n color: $hover-color;\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n }\n\n &:focus,\n &.focus {\n color: $hover-color;\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $btn-box-shadow, 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5);\n }\n }\n\n // Disabled comes first so active can properly restyle\n &.disabled,\n &:disabled {\n color: $color;\n background-color: $background;\n border-color: $border;\n // Remove CSS gradients if they're enabled\n @if $enable-gradients {\n background-image: none;\n }\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: $active-color;\n background-color: $active-background;\n @if $enable-gradients {\n background-image: none; // Remove the gradient for the pressed/active state\n }\n border-color: $active-border;\n\n &:focus {\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows and $btn-active-box-shadow != none {\n box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5);\n }\n }\n }\n}\n\n@mixin button-outline-variant(\n $color,\n $color-hover: color-yiq($color),\n $active-background: $color,\n $active-border: $color,\n $active-color: color-yiq($active-background)\n) {\n color: $color;\n border-color: $color;\n\n &:hover {\n color: $color-hover;\n background-color: $active-background;\n border-color: $active-border;\n }\n\n &:focus,\n &.focus {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n\n &.disabled,\n &:disabled {\n color: $color;\n background-color: transparent;\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: $active-color;\n background-color: $active-background;\n border-color: $active-border;\n\n &:focus {\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows and $btn-active-box-shadow != none {\n box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n }\n }\n}\n\n// Button sizes\n@mixin button-size($padding-y, $padding-x, $font-size, $border-radius) {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n // Manually declare to provide an override to the browser default\n @include border-radius($border-radius, 0);\n}\n",".fade {\n @include transition($transition-fade);\n\n &:not(.show) {\n opacity: 0;\n }\n}\n\n.collapse {\n &:not(.show) {\n display: none;\n }\n}\n\n.collapsing {\n height: 0;\n overflow: hidden;\n @include transition($transition-collapse);\n}\n","// The dropdown wrapper (`<div>`)\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n\n // Generate the caret automatically\n @include caret();\n}\n\n// The dropdown menu\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: $zindex-dropdown;\n display: none; // none by default, but block on \"open\" of the menu\n min-width: $dropdown-min-width;\n padding: $dropdown-padding-y 0;\n margin: $dropdown-spacer 0 0; // override default ul\n @include font-size($dropdown-font-size);\n color: $dropdown-color;\n text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n list-style: none;\n background-color: $dropdown-bg;\n background-clip: padding-box;\n border: $dropdown-border-width solid $dropdown-border-color;\n @include border-radius($dropdown-border-radius);\n @include box-shadow($dropdown-box-shadow);\n}\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .dropdown-menu#{$infix}-left {\n right: auto;\n left: 0;\n }\n\n .dropdown-menu#{$infix}-right {\n right: 0;\n left: auto;\n }\n }\n}\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n// Just add .dropup after the standard .dropdown class and you're set.\n.dropup {\n .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(up);\n }\n}\n\n.dropright {\n .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(right);\n &::after {\n vertical-align: 0;\n }\n }\n}\n\n.dropleft {\n .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(left);\n &::before {\n vertical-align: 0;\n }\n }\n}\n\n// When enabled Popper.js, reset basic dropdown position\n// stylelint-disable-next-line no-duplicate-selectors\n.dropdown-menu {\n &[x-placement^=\"top\"],\n &[x-placement^=\"right\"],\n &[x-placement^=\"bottom\"],\n &[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n }\n}\n\n// Dividers (basically an `<hr>`) within the dropdown\n.dropdown-divider {\n height: 0;\n margin: $dropdown-divider-margin-y 0;\n overflow: hidden;\n border-top: 1px solid $dropdown-divider-bg;\n}\n\n// Links, buttons, and more within the dropdown menu\n//\n// `<button>`-specific styles are denoted with `// For <button>s`\n.dropdown-item {\n display: block;\n width: 100%; // For `<button>`s\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n clear: both;\n font-weight: $font-weight-normal;\n color: $dropdown-link-color;\n text-align: inherit; // For `<button>`s\n white-space: nowrap; // prevent links from randomly breaking onto new lines\n background-color: transparent; // For `<button>`s\n border: 0; // For `<button>`s\n\n // Prevent dropdown overflow if there's no padding\n // See https://github.com/twbs/bootstrap/pull/27703\n @if $dropdown-padding-y == 0 {\n &:first-child {\n @include border-top-radius($dropdown-inner-border-radius);\n }\n\n &:last-child {\n @include border-bottom-radius($dropdown-inner-border-radius);\n }\n }\n\n &:hover,\n &:focus {\n color: $dropdown-link-hover-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-hover-bg);\n }\n\n &.active,\n &:active {\n color: $dropdown-link-active-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-active-bg);\n }\n\n &.disabled,\n &:disabled {\n color: $dropdown-link-disabled-color;\n pointer-events: none;\n background-color: transparent;\n // Remove CSS gradients if they're enabled\n @if $enable-gradients {\n background-image: none;\n }\n }\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n// Dropdown section headers\n.dropdown-header {\n display: block;\n padding: $dropdown-padding-y $dropdown-item-padding-x;\n margin-bottom: 0; // for use with heading elements\n @include font-size($font-size-sm);\n color: $dropdown-header-color;\n white-space: nowrap; // as with > li > a\n}\n\n// Dropdown text\n.dropdown-item-text {\n display: block;\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n color: $dropdown-link-color;\n}\n","@mixin caret-down {\n border-top: $caret-width solid;\n border-right: $caret-width solid transparent;\n border-bottom: 0;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-up {\n border-top: 0;\n border-right: $caret-width solid transparent;\n border-bottom: $caret-width solid;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-right {\n border-top: $caret-width solid transparent;\n border-right: 0;\n border-bottom: $caret-width solid transparent;\n border-left: $caret-width solid;\n}\n\n@mixin caret-left {\n border-top: $caret-width solid transparent;\n border-right: $caret-width solid;\n border-bottom: $caret-width solid transparent;\n}\n\n@mixin caret($direction: down) {\n @if $enable-caret {\n &::after {\n display: inline-block;\n margin-left: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @if $direction == down {\n @include caret-down();\n } @else if $direction == up {\n @include caret-up();\n } @else if $direction == right {\n @include caret-right();\n }\n }\n\n @if $direction == left {\n &::after {\n display: none;\n }\n\n &::before {\n display: inline-block;\n margin-right: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @include caret-left();\n }\n }\n\n &:empty::after {\n margin-left: 0;\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle; // match .btn alignment given font-size hack above\n\n > .btn {\n position: relative;\n flex: 1 1 auto;\n\n // Bring the hover, focused, and \"active\" buttons to the front to overlay\n // the borders properly\n &:hover,\n &:focus,\n &:active,\n &.active {\n z-index: 1;\n }\n }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n\n .input-group {\n width: auto;\n }\n}\n\n.btn-group {\n // Prevent double borders when buttons are next to each other\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-left: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-right-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-left-radius(0);\n }\n}\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-sm > .btn { @extend .btn-sm; }\n.btn-group-lg > .btn { @extend .btn-lg; }\n\n\n//\n// Split button dropdowns\n//\n\n.dropdown-toggle-split {\n padding-right: $btn-padding-x * .75;\n padding-left: $btn-padding-x * .75;\n\n &::after,\n .dropup &::after,\n .dropright &::after {\n margin-left: 0;\n }\n\n .dropleft &::before {\n margin-right: 0;\n }\n}\n\n.btn-sm + .dropdown-toggle-split {\n padding-right: $btn-padding-x-sm * .75;\n padding-left: $btn-padding-x-sm * .75;\n}\n\n.btn-lg + .dropdown-toggle-split {\n padding-right: $btn-padding-x-lg * .75;\n padding-left: $btn-padding-x-lg * .75;\n}\n\n\n// The clickable button for toggling the menu\n// Set the same inset shadow as the :active state\n.btn-group.show .dropdown-toggle {\n @include box-shadow($btn-active-box-shadow);\n\n // Show no shadow for `.btn-link` since it has no other button styles.\n &.btn-link {\n @include box-shadow(none);\n }\n}\n\n\n//\n// Vertical button groups\n//\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n\n > .btn,\n > .btn-group {\n width: 100%;\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-top: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-bottom-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-top-radius(0);\n }\n}\n\n\n// Checkbox and radio options\n//\n// In order to support the browser's form validation feedback, powered by the\n// `required` attribute, we have to \"hide\" the inputs via `clip`. We cannot use\n// `display: none;` or `visibility: hidden;` as that also hides the popover.\n// Simply visually hiding the inputs via `opacity` would leave them clickable in\n// certain cases which is prevented by using `clip` and `pointer-events`.\n// This way, we ensure a DOM element is visible to position the popover from.\n//\n// See https://github.com/twbs/bootstrap/pull/12794 and\n// https://github.com/twbs/bootstrap/pull/14559 for more information.\n\n.btn-group-toggle {\n > .btn,\n > .btn-group > .btn {\n margin-bottom: 0; // Override default `<label>` value\n\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n }\n }\n}\n","// Base class\n//\n// Kickstart any navigation component with a set of style resets. Works with\n// `<nav>`s, `<ul>`s or `<ol>`s.\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: $nav-link-padding-y $nav-link-padding-x;\n\n &:hover,\n &:focus {\n text-decoration: none;\n }\n\n // Disabled state lightens text\n &.disabled {\n color: $nav-link-disabled-color;\n pointer-events: none;\n cursor: default;\n }\n}\n\n//\n// Tabs\n//\n\n.nav-tabs {\n border-bottom: $nav-tabs-border-width solid $nav-tabs-border-color;\n\n .nav-item {\n margin-bottom: -$nav-tabs-border-width;\n }\n\n .nav-link {\n border: $nav-tabs-border-width solid transparent;\n @include border-top-radius($nav-tabs-border-radius);\n\n &:hover,\n &:focus {\n border-color: $nav-tabs-link-hover-border-color;\n }\n\n &.disabled {\n color: $nav-link-disabled-color;\n background-color: transparent;\n border-color: transparent;\n }\n }\n\n .nav-link.active,\n .nav-item.show .nav-link {\n color: $nav-tabs-link-active-color;\n background-color: $nav-tabs-link-active-bg;\n border-color: $nav-tabs-link-active-border-color;\n }\n\n .dropdown-menu {\n // Make dropdown border overlap tab border\n margin-top: -$nav-tabs-border-width;\n // Remove the top rounded corners here since there is a hard edge above the menu\n @include border-top-radius(0);\n }\n}\n\n\n//\n// Pills\n//\n\n.nav-pills {\n .nav-link {\n @include border-radius($nav-pills-border-radius);\n }\n\n .nav-link.active,\n .show > .nav-link {\n color: $nav-pills-link-active-color;\n background-color: $nav-pills-link-active-bg;\n }\n}\n\n\n//\n// Justified variants\n//\n\n.nav-fill {\n .nav-item {\n flex: 1 1 auto;\n text-align: center;\n }\n}\n\n.nav-justified {\n .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n }\n}\n\n\n// Tabbable tabs\n//\n// Hide tabbable panes to start, show them when `.active`\n\n.tab-content {\n > .tab-pane {\n display: none;\n }\n > .active {\n display: block;\n }\n}\n","// Contents\n//\n// Navbar\n// Navbar brand\n// Navbar nav\n// Navbar text\n// Responsive navbar\n// Navbar position\n// Navbar themes\n\n\n// Navbar\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap; // allow us to do the line break for collapsing content\n align-items: center;\n justify-content: space-between; // space out brand from logo\n padding-top: $navbar-padding-y;\n padding-right: $navbar-padding-x; // default: null\n padding-bottom: $navbar-padding-y;\n padding-left: $navbar-padding-x; // default: null\n\n // Because flex properties aren't inherited, we need to redeclare these first\n // few properties so that content nested within behave properly.\n %container-flex-properties {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n }\n\n .container,\n .container-fluid {\n @extend %container-flex-properties;\n }\n\n @each $breakpoint, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($breakpoint, $container-max-widths)} {\n @extend %container-flex-properties;\n }\n }\n}\n\n\n// Navbar brand\n//\n// Used for brand, project, or site names.\n\n.navbar-brand {\n display: inline-block;\n padding-top: $navbar-brand-padding-y;\n padding-bottom: $navbar-brand-padding-y;\n margin-right: $navbar-padding-x;\n @include font-size($navbar-brand-font-size);\n line-height: inherit;\n white-space: nowrap;\n\n &:hover,\n &:focus {\n text-decoration: none;\n }\n}\n\n\n// Navbar nav\n//\n// Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`).\n\n.navbar-nav {\n display: flex;\n flex-direction: column; // cannot use `inherit` to get the `.navbar`s value\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n\n .nav-link {\n padding-right: 0;\n padding-left: 0;\n }\n\n .dropdown-menu {\n position: static;\n }\n}\n\n\n// Navbar text\n//\n//\n\n.navbar-text {\n display: inline-block;\n padding-top: $nav-link-padding-y;\n padding-bottom: $nav-link-padding-y;\n}\n\n\n// Responsive navbar\n//\n// Custom styles for responsive collapsing and toggling of navbar contents.\n// Powered by the collapse Bootstrap JavaScript plugin.\n\n// When collapsed, prevent the toggleable navbar contents from appearing in\n// the default flexbox row orientation. Requires the use of `flex-wrap: wrap`\n// on the `.navbar` parent.\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n // For always expanded or extra full navbars, ensure content aligns itself\n // properly vertically. Can be easily overridden with flex utilities.\n align-items: center;\n}\n\n// Button for toggling the navbar when in its collapsed state\n.navbar-toggler {\n padding: $navbar-toggler-padding-y $navbar-toggler-padding-x;\n @include font-size($navbar-toggler-font-size);\n line-height: 1;\n background-color: transparent; // remove default button style\n border: $border-width solid transparent; // remove default button style\n @include border-radius($navbar-toggler-border-radius);\n\n &:hover,\n &:focus {\n text-decoration: none;\n }\n}\n\n// Keep as a separate element so folks can easily override it with another icon\n// or image file as needed.\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n// Generate series of `.navbar-expand-*` responsive classes for configuring\n// where your navbar collapses.\n.navbar-expand {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-up($next) {\n flex-flow: row nowrap;\n justify-content: flex-start;\n\n .navbar-nav {\n flex-direction: row;\n\n .dropdown-menu {\n position: absolute;\n }\n\n .nav-link {\n padding-right: $navbar-nav-link-padding-x;\n padding-left: $navbar-nav-link-padding-x;\n }\n }\n\n // For nesting containers, have to redeclare for alignment purposes\n %container-nesting-#{$breakpoint} {\n flex-wrap: nowrap;\n }\n\n > .container,\n > .container-fluid {\n @extend %container-nesting-#{$breakpoint};\n }\n\n @each $size, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($size, $container-max-widths)} {\n @extend %container-nesting-#{$breakpoint};\n }\n }\n\n .navbar-collapse {\n display: flex !important; // stylelint-disable-line declaration-no-important\n\n // Changes flex-bases to auto because of an IE10 bug\n flex-basis: auto;\n }\n\n .navbar-toggler {\n display: none;\n }\n }\n }\n }\n}\n\n\n// Navbar themes\n//\n// Styles for switching between navbars with light or dark background.\n\n// Dark links against a light background\n.navbar-light {\n .navbar-brand {\n color: $navbar-light-brand-color;\n\n &:hover,\n &:focus {\n color: $navbar-light-brand-hover-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-light-color;\n\n &:hover,\n &:focus {\n color: $navbar-light-hover-color;\n }\n\n &.disabled {\n color: $navbar-light-disabled-color;\n }\n }\n\n .show > .nav-link,\n .active > .nav-link,\n .nav-link.show,\n .nav-link.active {\n color: $navbar-light-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-light-color;\n border-color: $navbar-light-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: escape-svg($navbar-light-toggler-icon-bg);\n }\n\n .navbar-text {\n color: $navbar-light-color;\n\n a,\n a:hover,\n a:focus {\n color: $navbar-light-active-color;\n }\n }\n}\n\n// White links against a dark background\n.navbar-dark {\n .navbar-brand {\n color: $navbar-dark-brand-color;\n\n &:hover,\n &:focus {\n color: $navbar-dark-brand-hover-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-dark-color;\n\n &:hover,\n &:focus {\n color: $navbar-dark-hover-color;\n }\n\n &.disabled {\n color: $navbar-dark-disabled-color;\n }\n }\n\n .show > .nav-link,\n .active > .nav-link,\n .nav-link.show,\n .nav-link.active {\n color: $navbar-dark-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-dark-color;\n border-color: $navbar-dark-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: escape-svg($navbar-dark-toggler-icon-bg);\n }\n\n .navbar-text {\n color: $navbar-dark-color;\n a,\n a:hover,\n a:focus {\n color: $navbar-dark-active-color;\n }\n }\n}\n","//\n// Base styles\n//\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106\n height: $card-height;\n word-wrap: break-word;\n background-color: $card-bg;\n background-clip: border-box;\n border: $card-border-width solid $card-border-color;\n @include border-radius($card-border-radius);\n\n > hr {\n margin-right: 0;\n margin-left: 0;\n }\n\n > .list-group:first-child {\n .list-group-item:first-child {\n @include border-top-radius($card-border-radius);\n }\n }\n\n > .list-group:last-child {\n .list-group-item:last-child {\n @include border-bottom-radius($card-border-radius);\n }\n }\n}\n\n.card-body {\n // Enable `flex-grow: 1` for decks and groups so that card blocks take up\n // as much space as possible, ensuring footers are aligned to the bottom.\n flex: 1 1 auto;\n // Workaround for the image size bug in IE\n // See: https://github.com/twbs/bootstrap/pull/28855\n min-height: 1px;\n padding: $card-spacer-x;\n color: $card-color;\n}\n\n.card-title {\n margin-bottom: $card-spacer-y;\n}\n\n.card-subtitle {\n margin-top: -$card-spacer-y / 2;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link {\n &:hover {\n text-decoration: none;\n }\n\n + .card-link {\n margin-left: $card-spacer-x;\n }\n}\n\n//\n// Optional textual caps\n//\n\n.card-header {\n padding: $card-spacer-y $card-spacer-x;\n margin-bottom: 0; // Removes the default margin-bottom of <hN>\n color: $card-cap-color;\n background-color: $card-cap-bg;\n border-bottom: $card-border-width solid $card-border-color;\n\n &:first-child {\n @include border-radius($card-inner-border-radius $card-inner-border-radius 0 0);\n }\n\n + .list-group {\n .list-group-item:first-child {\n border-top: 0;\n }\n }\n}\n\n.card-footer {\n padding: $card-spacer-y $card-spacer-x;\n background-color: $card-cap-bg;\n border-top: $card-border-width solid $card-border-color;\n\n &:last-child {\n @include border-radius(0 0 $card-inner-border-radius $card-inner-border-radius);\n }\n}\n\n\n//\n// Header navs\n//\n\n.card-header-tabs {\n margin-right: -$card-spacer-x / 2;\n margin-bottom: -$card-spacer-y;\n margin-left: -$card-spacer-x / 2;\n border-bottom: 0;\n\n @if $nav-tabs-link-active-bg != $card-bg {\n .nav-link.active {\n background-color: $card-bg;\n border-bottom-color: $card-bg;\n }\n }\n}\n\n.card-header-pills {\n margin-right: -$card-spacer-x / 2;\n margin-left: -$card-spacer-x / 2;\n}\n\n// Card image\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: $card-img-overlay-padding;\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n flex-shrink: 0; // For IE: https://github.com/twbs/bootstrap/issues/29396\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n}\n\n.card-img,\n.card-img-top {\n @include border-top-radius($card-inner-border-radius);\n}\n\n.card-img,\n.card-img-bottom {\n @include border-bottom-radius($card-inner-border-radius);\n}\n\n\n// Card deck\n\n.card-deck {\n .card {\n margin-bottom: $card-deck-margin;\n }\n\n @include media-breakpoint-up(sm) {\n display: flex;\n flex-flow: row wrap;\n margin-right: -$card-deck-margin;\n margin-left: -$card-deck-margin;\n\n .card {\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n flex: 1 0 0%;\n margin-right: $card-deck-margin;\n margin-bottom: 0; // Override the default\n margin-left: $card-deck-margin;\n }\n }\n}\n\n\n//\n// Card groups\n//\n\n.card-group {\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n margin-bottom: $card-group-margin;\n }\n\n @include media-breakpoint-up(sm) {\n display: flex;\n flex-flow: row wrap;\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n flex: 1 0 0%;\n margin-bottom: 0;\n\n + .card {\n margin-left: 0;\n border-left: 0;\n }\n\n // Handle rounded corners\n @if $enable-rounded {\n &:not(:last-child) {\n @include border-right-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-blacklist\n border-top-right-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-blacklist\n border-bottom-right-radius: 0;\n }\n }\n\n &:not(:first-child) {\n @include border-left-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-blacklist\n border-top-left-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-blacklist\n border-bottom-left-radius: 0;\n }\n }\n }\n }\n }\n}\n\n\n//\n// Accordion\n//\n\n.accordion {\n > .card {\n overflow: hidden;\n\n &:not(:last-of-type) {\n border-bottom: 0;\n @include border-bottom-radius(0);\n }\n\n &:not(:first-of-type) {\n @include border-top-radius(0);\n }\n\n > .card-header {\n @include border-radius(0);\n margin-bottom: -$card-border-width;\n }\n }\n}\n",".breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: $breadcrumb-padding-y $breadcrumb-padding-x;\n margin-bottom: $breadcrumb-margin-bottom;\n @include font-size($breadcrumb-font-size);\n list-style: none;\n background-color: $breadcrumb-bg;\n @include border-radius($breadcrumb-border-radius);\n}\n\n.breadcrumb-item {\n // The separator between breadcrumbs (by default, a forward-slash: \"/\")\n + .breadcrumb-item {\n padding-left: $breadcrumb-item-padding-x;\n\n &::before {\n display: inline-block; // Suppress underlining of the separator in modern browsers\n padding-right: $breadcrumb-item-padding-x;\n color: $breadcrumb-divider-color;\n content: escape-svg($breadcrumb-divider);\n }\n }\n\n // IE9-11 hack to properly handle hyperlink underlines for breadcrumbs built\n // without `<ul>`s. The `::before` pseudo-element generates an element\n // *within* the .breadcrumb-item and thereby inherits the `text-decoration`.\n //\n // To trick IE into suppressing the underline, we give the pseudo-element an\n // underline and then immediately remove it.\n + .breadcrumb-item:hover::before {\n text-decoration: underline;\n }\n // stylelint-disable-next-line no-duplicate-selectors\n + .breadcrumb-item:hover::before {\n text-decoration: none;\n }\n\n &.active {\n color: $breadcrumb-active-color;\n }\n}\n",".pagination {\n display: flex;\n @include list-unstyled();\n}\n\n.page-link {\n position: relative;\n display: block;\n color: $pagination-color;\n background-color: $pagination-bg;\n border: $pagination-border-width solid $pagination-border-color;\n\n &:hover {\n z-index: 2;\n color: $pagination-hover-color;\n text-decoration: none;\n background-color: $pagination-hover-bg;\n border-color: $pagination-hover-border-color;\n }\n\n &:focus {\n z-index: 3;\n outline: $pagination-focus-outline;\n box-shadow: $pagination-focus-box-shadow;\n }\n}\n\n.page-item {\n &:not(:first-child) .page-link {\n margin-left: $pagination-margin-left;\n }\n\n &.active .page-link {\n z-index: 3;\n color: $pagination-active-color;\n background-color: $pagination-active-bg;\n border-color: $pagination-active-border-color;\n }\n\n &.disabled .page-link {\n color: $pagination-disabled-color;\n pointer-events: none;\n // Opinionated: remove the \"hand\" cursor set previously for .page-link\n cursor: auto;\n background-color: $pagination-disabled-bg;\n border-color: $pagination-disabled-border-color;\n }\n}\n\n\n//\n// Sizing\n//\n@include pagination-size($pagination-padding-y, $pagination-padding-x, null, $pagination-border-radius);\n\n.pagination-lg {\n @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $border-radius-lg);\n}\n\n.pagination-sm {\n @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $border-radius-sm);\n}\n","// Pagination\n\n@mixin pagination-size($padding-y, $padding-x, $font-size, $border-radius) {\n .page-link {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n }\n\n .page-item {\n @if $pagination-margin-left == (-$pagination-border-width) {\n &:first-child {\n .page-link {\n @include border-left-radius($border-radius);\n }\n }\n\n &:last-child {\n .page-link {\n @include border-right-radius($border-radius);\n }\n }\n } @else {\n //Add border-radius to all pageLinks in case they have left margin\n .page-link {\n @include border-radius($border-radius);\n }\n }\n }\n}\n","// Base class\n//\n// Requires one of the contextual, color modifier classes for `color` and\n// `background-color`.\n\n.badge {\n display: inline-block;\n padding: $badge-padding-y $badge-padding-x;\n @include font-size($badge-font-size);\n font-weight: $badge-font-weight;\n line-height: 1;\n color: $badge-color;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n @include border-radius($badge-border-radius);\n\n // Empty badges collapse automatically\n &:empty {\n display: none;\n }\n}\n\n// Quick fix for badges in buttons\n.btn .badge {\n position: relative;\n top: -1px;\n}\n","//\n// Base styles\n//\n\n.alert {\n position: relative;\n padding: $alert-padding-y $alert-padding-x;\n margin-bottom: $alert-margin-bottom;\n border: $alert-border-width solid transparent;\n @include border-radius($alert-border-radius);\n}\n\n// Headings for larger alerts\n.alert-heading {\n // Specified to prevent conflicts of changing $headings-color\n color: inherit;\n}\n\n// Provide class for links that match alerts\n.alert-link {\n font-weight: $alert-link-font-weight;\n}\n\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissible {\n padding-right: $close-font-size + $alert-padding-x * 2;\n\n // Adjust close link position\n .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: $alert-padding-y $alert-padding-x;\n color: inherit;\n }\n}\n\n\n// Alternate styles\n//\n// Generate contextual modifier classes for colorizing the alert.\n\n@each $color, $value in $theme-colors {\n .alert-#{$color} {\n @include alert-variant(color-level($value, $alert-bg-level), color-level($value, $alert-border-level), color-level($value, $alert-color-level));\n }\n}\n","@mixin alert-variant($background, $border, $color) {\n color: $color;\n @include gradient-bg($background);\n border-color: $border;\n\n .alert-link {\n color: darken($color, 10%);\n }\n}\n","// Disable animation if transitions are disabled\n@if $enable-transitions {\n @keyframes progress-bar-stripes {\n 0% { background-position-x: $progress-height; }\n }\n}\n\n.progress {\n display: flex;\n height: $progress-height;\n overflow: hidden; // force rounded corners by cropping it\n @include font-size($progress-font-size);\n background-color: $progress-bg;\n @include border-radius($progress-border-radius);\n @include box-shadow($progress-box-shadow);\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: $progress-bar-color;\n text-align: center;\n white-space: nowrap;\n background-color: $progress-bar-bg;\n @include transition($progress-bar-transition);\n}\n\n.progress-bar-striped {\n @include gradient-striped();\n background-size: $progress-height $progress-height;\n}\n\n@if $enable-transitions {\n .progress-bar-animated {\n animation: progress-bar-stripes $progress-bar-animation-timing;\n\n @if $enable-prefers-reduced-motion-media-query {\n @media (prefers-reduced-motion: reduce) {\n animation: none;\n }\n }\n }\n}\n","// Base class\n//\n// Easily usable on <ul>, <ol>, or <div>.\n\n.list-group {\n display: flex;\n flex-direction: column;\n\n // No need to set list-style: none; since .list-group-item is block level\n padding-left: 0; // reset padding because ul and ol\n margin-bottom: 0;\n}\n\n\n// Interactive list items\n//\n// Use anchor or button elements instead of `li`s or `div`s to create interactive\n// list items. Includes an extra `.active` modifier class for selected items.\n\n.list-group-item-action {\n width: 100%; // For `<button>`s (anchors become 100% by default though)\n color: $list-group-action-color;\n text-align: inherit; // For `<button>`s (anchors inherit)\n\n // Hover state\n &:hover,\n &:focus {\n z-index: 1; // Place hover/focus items above their siblings for proper border styling\n color: $list-group-action-hover-color;\n text-decoration: none;\n background-color: $list-group-hover-bg;\n }\n\n &:active {\n color: $list-group-action-active-color;\n background-color: $list-group-action-active-bg;\n }\n}\n\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n position: relative;\n display: block;\n padding: $list-group-item-padding-y $list-group-item-padding-x;\n margin-bottom: 0; // for <label> variations\n color: $list-group-color;\n background-color: $list-group-bg;\n border: $list-group-border-width solid $list-group-border-color;\n\n &:first-child {\n @include border-top-radius($list-group-border-radius);\n }\n\n &:last-child {\n @include border-bottom-radius($list-group-border-radius);\n }\n\n &.disabled,\n &:disabled {\n color: $list-group-disabled-color;\n pointer-events: none;\n background-color: $list-group-disabled-bg;\n }\n\n // Include both here for `<a>`s and `<button>`s\n &.active {\n z-index: 2; // Place active items above their siblings for proper border styling\n color: $list-group-active-color;\n background-color: $list-group-active-bg;\n border-color: $list-group-active-border-color;\n }\n\n & + & {\n border-top-width: 0;\n\n &.active {\n margin-top: -$list-group-border-width;\n border-top-width: $list-group-border-width;\n }\n }\n}\n\n\n// Horizontal\n//\n// Change the layout of list group items from vertical (default) to horizontal.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .list-group-horizontal#{$infix} {\n flex-direction: row;\n\n .list-group-item {\n &:first-child {\n @include border-bottom-left-radius($list-group-border-radius);\n @include border-top-right-radius(0);\n }\n\n &:last-child {\n @include border-top-right-radius($list-group-border-radius);\n @include border-bottom-left-radius(0);\n }\n\n &.active {\n margin-top: 0;\n }\n\n & + .list-group-item {\n border-top-width: $list-group-border-width;\n border-left-width: 0;\n\n &.active {\n margin-left: -$list-group-border-width;\n border-left-width: $list-group-border-width;\n }\n }\n }\n }\n }\n}\n\n\n// Flush list items\n//\n// Remove borders and border-radius to keep list group items edge-to-edge. Most\n// useful within other components (e.g., cards).\n\n.list-group-flush {\n .list-group-item {\n border-right-width: 0;\n border-left-width: 0;\n @include border-radius(0);\n\n &:first-child {\n border-top-width: 0;\n }\n }\n\n &:last-child {\n .list-group-item:last-child {\n border-bottom-width: 0;\n }\n }\n}\n\n\n// Contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n@each $color, $value in $theme-colors {\n @include list-group-item-variant($color, color-level($value, -9), color-level($value, 6));\n}\n","// List Groups\n\n@mixin list-group-item-variant($state, $background, $color) {\n .list-group-item-#{$state} {\n color: $color;\n background-color: $background;\n\n &.list-group-item-action {\n &:hover,\n &:focus {\n color: $color;\n background-color: darken($background, 5%);\n }\n\n &.active {\n color: $white;\n background-color: $color;\n border-color: $color;\n }\n }\n }\n}\n",".close {\n @include font-size($close-font-size);\n font-weight: $close-font-weight;\n line-height: 1;\n color: $close-color;\n text-shadow: $close-text-shadow;\n opacity: .5;\n\n // Override <a>'s hover style\n &:hover {\n color: $close-color;\n text-decoration: none;\n }\n\n &:not(:disabled):not(.disabled) {\n &:hover,\n &:focus {\n opacity: .75;\n }\n }\n}\n\n// Additional properties for button version\n// iOS requires the button element instead of an anchor tag.\n// If you want the anchor version, it requires `href=\"#\"`.\n// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n// stylelint-disable-next-line selector-no-qualifying-type\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n appearance: none;\n}\n\n// Future-proof disabling of clicks on `<a>` elements\n\n// stylelint-disable-next-line selector-no-qualifying-type\na.close.disabled {\n pointer-events: none;\n}\n",".toast {\n max-width: $toast-max-width;\n overflow: hidden; // cheap rounded corners on nested items\n @include font-size($toast-font-size);\n color: $toast-color;\n background-color: $toast-background-color;\n background-clip: padding-box;\n border: $toast-border-width solid $toast-border-color;\n box-shadow: $toast-box-shadow;\n backdrop-filter: blur(10px);\n opacity: 0;\n @include border-radius($toast-border-radius);\n\n &:not(:last-child) {\n margin-bottom: $toast-padding-x;\n }\n\n &.showing {\n opacity: 1;\n }\n\n &.show {\n display: block;\n opacity: 1;\n }\n\n &.hide {\n display: none;\n }\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: $toast-padding-y $toast-padding-x;\n color: $toast-header-color;\n background-color: $toast-header-background-color;\n background-clip: padding-box;\n border-bottom: $toast-border-width solid $toast-header-border-color;\n}\n\n.toast-body {\n padding: $toast-padding-x; // apply to both vertical and horizontal\n}\n","// .modal-open - body class for killing the scroll\n// .modal - container to scroll within\n// .modal-dialog - positioning shell for the actual modal\n// .modal-content - actual modal w/ bg and corners and stuff\n\n\n.modal-open {\n // Kill the scroll on the body\n overflow: hidden;\n\n .modal {\n overflow-x: hidden;\n overflow-y: auto;\n }\n}\n\n// Container that the modal scrolls within\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n // Prevent Chrome on Windows from adding a focus outline. For details, see\n // https://github.com/twbs/bootstrap/pull/10951.\n outline: 0;\n // We deliberately don't use `-webkit-overflow-scrolling: touch;` due to a\n // gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342\n // See also https://github.com/twbs/bootstrap/issues/17695\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n position: relative;\n width: auto;\n margin: $modal-dialog-margin;\n // allow clicks to pass through for custom click handling to close modal\n pointer-events: none;\n\n // When fading in the modal, animate it to slide down\n .modal.fade & {\n @include transition($modal-transition);\n transform: $modal-fade-transform;\n }\n .modal.show & {\n transform: $modal-show-transform;\n }\n\n // When trying to close, animate focus to scale\n .modal.modal-static & {\n transform: $modal-scale-transform;\n }\n}\n\n.modal-dialog-scrollable {\n display: flex; // IE10/11\n max-height: subtract(100%, $modal-dialog-margin * 2);\n\n .modal-content {\n max-height: subtract(100vh, $modal-dialog-margin * 2); // IE10/11\n overflow: hidden;\n }\n\n .modal-header,\n .modal-footer {\n flex-shrink: 0;\n }\n\n .modal-body {\n overflow-y: auto;\n }\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: subtract(100%, $modal-dialog-margin * 2);\n\n // Ensure `modal-dialog-centered` extends the full height of the view (IE10/11)\n &::before {\n display: block; // IE10\n height: subtract(100vh, $modal-dialog-margin * 2);\n content: \"\";\n }\n\n // Ensure `.modal-body` shows scrollbar (IE10/11)\n &.modal-dialog-scrollable {\n flex-direction: column;\n justify-content: center;\n height: 100%;\n\n .modal-content {\n max-height: none;\n }\n\n &::before {\n content: none;\n }\n }\n}\n\n// Actual modal\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%; // Ensure `.modal-content` extends the full width of the parent `.modal-dialog`\n // counteract the pointer-events: none; in the .modal-dialog\n color: $modal-content-color;\n pointer-events: auto;\n background-color: $modal-content-bg;\n background-clip: padding-box;\n border: $modal-content-border-width solid $modal-content-border-color;\n @include border-radius($modal-content-border-radius);\n @include box-shadow($modal-content-box-shadow-xs);\n // Remove focus outline from opened modal\n outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal-backdrop;\n width: 100vw;\n height: 100vh;\n background-color: $modal-backdrop-bg;\n\n // Fade for backdrop\n &.fade { opacity: 0; }\n &.show { opacity: $modal-backdrop-opacity; }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n display: flex;\n align-items: flex-start; // so the close btn always stays on the upper right corner\n justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends\n padding: $modal-header-padding;\n border-bottom: $modal-header-border-width solid $modal-header-border-color;\n @include border-top-radius($modal-content-inner-border-radius);\n\n .close {\n padding: $modal-header-padding;\n // auto on the left force icon to the right even when there is no .modal-title\n margin: (-$modal-header-padding-y) (-$modal-header-padding-x) (-$modal-header-padding-y) auto;\n }\n}\n\n// Title text within header\n.modal-title {\n margin-bottom: 0;\n line-height: $modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n position: relative;\n // Enable `flex-grow: 1` so that the body take up as much space as possible\n // when there should be a fixed height on `.modal-dialog`.\n flex: 1 1 auto;\n padding: $modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center; // vertically center\n justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items\n padding: $modal-inner-padding - $modal-footer-margin-between / 2;\n border-top: $modal-footer-border-width solid $modal-footer-border-color;\n @include border-bottom-radius($modal-content-inner-border-radius);\n\n // Place margin between footer elements\n // This solution is far from ideal because of the universal selector usage,\n // but is needed to fix https://github.com/twbs/bootstrap/issues/24800\n > * {\n margin: $modal-footer-margin-between / 2;\n }\n}\n\n// Measure scrollbar width for padding body during modal show/hide\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n// Scale up the modal\n@include media-breakpoint-up(sm) {\n // Automatically set modal's width for larger viewports\n .modal-dialog {\n max-width: $modal-md;\n margin: $modal-dialog-margin-y-sm-up auto;\n }\n\n .modal-dialog-scrollable {\n max-height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);\n\n .modal-content {\n max-height: subtract(100vh, $modal-dialog-margin-y-sm-up * 2);\n }\n }\n\n .modal-dialog-centered {\n min-height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);\n\n &::before {\n height: subtract(100vh, $modal-dialog-margin-y-sm-up * 2);\n }\n }\n\n .modal-content {\n @include box-shadow($modal-content-box-shadow-sm-up);\n }\n\n .modal-sm { max-width: $modal-sm; }\n}\n\n@include media-breakpoint-up(lg) {\n .modal-lg,\n .modal-xl {\n max-width: $modal-lg;\n }\n}\n\n@include media-breakpoint-up(xl) {\n .modal-xl { max-width: $modal-xl; }\n}\n","// Base class\n.tooltip {\n position: absolute;\n z-index: $zindex-tooltip;\n display: block;\n margin: $tooltip-margin;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($tooltip-font-size);\n // Allow breaking very long words so they don't overflow the tooltip's bounds\n word-wrap: break-word;\n opacity: 0;\n\n &.show { opacity: $tooltip-opacity; }\n\n .tooltip-arrow {\n position: absolute;\n display: block;\n width: $tooltip-arrow-width;\n height: $tooltip-arrow-height;\n\n &::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-tooltip-top {\n padding: $tooltip-arrow-height 0;\n\n .tooltip-arrow {\n bottom: 0;\n\n &::before {\n top: 0;\n border-width: $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-top-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-right {\n padding: 0 $tooltip-arrow-height;\n\n .tooltip-arrow {\n left: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n right: 0;\n border-width: ($tooltip-arrow-width / 2) $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-right-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-bottom {\n padding: $tooltip-arrow-height 0;\n\n .tooltip-arrow {\n top: 0;\n\n &::before {\n bottom: 0;\n border-width: 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-bottom-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-left {\n padding: 0 $tooltip-arrow-height;\n\n .tooltip-arrow {\n right: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n left: 0;\n border-width: ($tooltip-arrow-width / 2) 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-left-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-tooltip-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-tooltip-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-tooltip-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-tooltip-left;\n }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n max-width: $tooltip-max-width;\n padding: $tooltip-padding-y $tooltip-padding-x;\n color: $tooltip-color;\n text-align: center;\n background-color: $tooltip-bg;\n @include border-radius($tooltip-border-radius);\n}\n","@mixin reset-text {\n font-family: $font-family-base;\n // We deliberately do NOT reset font-size or word-wrap.\n font-style: normal;\n font-weight: $font-weight-normal;\n line-height: $line-height-base;\n text-align: left; // Fallback for where `start` is not supported\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n}\n",".popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: $zindex-popover;\n display: block;\n max-width: $popover-max-width;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($popover-font-size);\n // Allow breaking very long words so they don't overflow the popover's bounds\n word-wrap: break-word;\n background-color: $popover-bg;\n background-clip: padding-box;\n border: $popover-border-width solid $popover-border-color;\n @include border-radius($popover-border-radius);\n @include box-shadow($popover-box-shadow);\n\n .popover-arrow {\n position: absolute;\n display: block;\n width: $popover-arrow-width;\n height: $popover-arrow-height;\n margin: 0 $popover-border-radius;\n\n &::before,\n &::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-popover-top {\n margin-bottom: $popover-arrow-height;\n\n > .popover-arrow {\n bottom: subtract(-$popover-arrow-height, $popover-border-width);\n\n &::before {\n bottom: 0;\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-top-color: $popover-arrow-outer-color;\n }\n\n &::after {\n bottom: $popover-border-width;\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-top-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-right {\n margin-left: $popover-arrow-height;\n\n > .popover-arrow {\n left: subtract(-$popover-arrow-height, $popover-border-width);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners\n\n &::before {\n left: 0;\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-right-color: $popover-arrow-outer-color;\n }\n\n &::after {\n left: $popover-border-width;\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-right-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-bottom {\n margin-top: $popover-arrow-height;\n\n > .popover-arrow {\n top: subtract(-$popover-arrow-height, $popover-border-width);\n\n &::before {\n top: 0;\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\n border-bottom-color: $popover-arrow-outer-color;\n }\n\n &::after {\n top: $popover-border-width;\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\n border-bottom-color: $popover-arrow-color;\n }\n }\n\n // This will remove the popover-header's border just below the arrow\n .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: $popover-arrow-width;\n margin-left: -$popover-arrow-width / 2;\n content: \"\";\n border-bottom: $popover-border-width solid $popover-header-bg;\n }\n}\n\n.bs-popover-left {\n margin-right: $popover-arrow-height;\n\n > .popover-arrow {\n right: subtract(-$popover-arrow-height, $popover-border-width);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners\n\n &::before {\n right: 0;\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\n border-left-color: $popover-arrow-outer-color;\n }\n\n &::after {\n right: $popover-border-width;\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\n border-left-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-popover-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-popover-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-popover-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-popover-left;\n }\n}\n\n\n// Offset the popover to account for the popover arrow\n.popover-header {\n padding: $popover-header-padding-y $popover-header-padding-x;\n margin-bottom: 0; // Reset the default from Reboot\n @include font-size($font-size-base);\n color: $popover-header-color;\n background-color: $popover-header-bg;\n border-bottom: $popover-border-width solid darken($popover-header-bg, 5%);\n @include border-top-radius($popover-inner-border-radius);\n\n &:empty {\n display: none;\n }\n}\n\n.popover-body {\n padding: $popover-body-padding-y $popover-body-padding-x;\n color: $popover-body-color;\n}\n","// Notes on the classes:\n//\n// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically)\n// even when their scroll action started on a carousel, but for compatibility (with Firefox)\n// we're preventing all actions instead\n// 2. The .carousel-item-left and .carousel-item-right is used to indicate where\n// the active slide is heading.\n// 3. .active.carousel-item is the current slide.\n// 4. .active.carousel-item-left and .active.carousel-item-right is the current\n// slide in its in-transition state. Only one of these occurs at a time.\n// 5. .carousel-item-next.carousel-item-left and .carousel-item-prev.carousel-item-right\n// is the upcoming slide in transition.\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n @include clearfix();\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n @include transition($carousel-transition);\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n\n//\n// Alternate transitions\n//\n\n.carousel-fade {\n .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n }\n\n .carousel-item.active,\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n }\n\n .active.carousel-item-left,\n .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n @include transition(opacity 0s $carousel-transition-duration);\n }\n}\n\n\n//\n// Left/right controls for nav\n//\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n // Use flex for alignment (1-3)\n display: flex; // 1. allow flex styles\n align-items: center; // 2. vertically center contents\n justify-content: center; // 3. horizontally center contents\n width: $carousel-control-width;\n color: $carousel-control-color;\n text-align: center;\n opacity: $carousel-control-opacity;\n @include transition($carousel-control-transition);\n\n // Hover/focus state\n &:hover,\n &:focus {\n color: $carousel-control-color;\n text-decoration: none;\n outline: 0;\n opacity: $carousel-control-hover-opacity;\n }\n}\n.carousel-control-prev {\n left: 0;\n @if $enable-gradients {\n background-image: linear-gradient(90deg, rgba($black, .25), rgba($black, .001));\n }\n}\n.carousel-control-next {\n right: 0;\n @if $enable-gradients {\n background-image: linear-gradient(270deg, rgba($black, .25), rgba($black, .001));\n }\n}\n\n// Icons for within\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: $carousel-control-icon-width;\n height: $carousel-control-icon-width;\n background: no-repeat 50% / 100% 100%;\n}\n.carousel-control-prev-icon {\n background-image: escape-svg($carousel-control-prev-icon-bg);\n}\n.carousel-control-next-icon {\n background-image: escape-svg($carousel-control-next-icon-bg);\n}\n\n\n// Optional indicator pips\n//\n// Add an ordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n display: flex;\n justify-content: center;\n padding-left: 0; // override <ol> default\n // Use the .carousel-control's width as margin so we don't overlay those\n margin-right: $carousel-control-width;\n margin-left: $carousel-control-width;\n list-style: none;\n\n li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: $carousel-indicator-width;\n height: $carousel-indicator-height;\n margin-right: $carousel-indicator-spacer;\n margin-left: $carousel-indicator-spacer;\n text-indent: -999px;\n cursor: pointer;\n background-color: $carousel-indicator-active-bg;\n background-clip: padding-box;\n // Use transparent borders to increase the hit area by 10px on top and bottom.\n border-top: $carousel-indicator-hit-area-height solid transparent;\n border-bottom: $carousel-indicator-hit-area-height solid transparent;\n opacity: $carousel-indicator-opacity;\n @include transition($carousel-indicator-transition);\n }\n\n .active {\n opacity: $carousel-indicator-active-opacity;\n }\n}\n\n\n// Optional captions\n//\n//\n\n.carousel-caption {\n position: absolute;\n right: (100% - $carousel-caption-width) / 2;\n bottom: $carousel-caption-spacer;\n left: (100% - $carousel-caption-width) / 2;\n padding-top: $carousel-caption-padding-y;\n padding-bottom: $carousel-caption-padding-y;\n color: $carousel-caption-color;\n text-align: center;\n}\n","@mixin clearfix() {\n &::after {\n display: block;\n clear: both;\n content: \"\";\n }\n}\n","//\n// Rotating border\n//\n\n@keyframes spinner-border {\n to { transform: rotate(360deg); }\n}\n\n.spinner-border {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: text-bottom;\n border: $spinner-border-width solid currentColor;\n border-right-color: transparent;\n // stylelint-disable-next-line property-blacklist\n border-radius: 50%;\n animation: spinner-border .75s linear infinite;\n}\n\n.spinner-border-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n border-width: $spinner-border-width-sm;\n}\n\n//\n// Growing circle\n//\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: text-bottom;\n background-color: currentColor;\n // stylelint-disable-next-line property-blacklist\n border-radius: 50%;\n opacity: 0;\n animation: spinner-grow .75s linear infinite;\n}\n\n.spinner-grow-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n}\n","@each $color, $value in $theme-colors {\n .link-#{$color} {\n color: $value;\n\n @if $emphasized-link-hover-darken-percentage != 0 {\n &:hover,\n &:focus {\n color: darken($value, $emphasized-link-hover-darken-percentage);\n }\n }\n }\n}\n","// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n position: relative;\n width: 100%;\n\n &::before {\n display: block;\n content: \"\";\n }\n\n .embed-responsive-item,\n iframe,\n embed,\n object,\n video {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n }\n}\n\n@each $key, $ratio in $embed-responsive-aspect-ratios {\n .embed-responsive-#{$key} {\n &::before {\n padding-top: percentage(map-get($ratio, y) / map-get($ratio, x));\n }\n }\n}\n","// Shorthand\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n// Responsive sticky top\n@supports (position: sticky) {\n @each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .sticky#{$infix}-top {\n position: sticky;\n top: 0;\n z-index: $zindex-sticky;\n }\n }\n }\n}\n","//\n// Screenreaders\n//\n\n.sr-only,\n.sr-only-focusable:not(:focus) {\n @include sr-only();\n}\n","// stylelint-disable declaration-no-important\n\n// Only display content to screen readers\n//\n// See: https://a11yproject.com/posts/how-to-hide-content/\n// See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin sr-only {\n position: absolute !important;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important; // Fix for https://github.com/twbs/bootstrap/issues/25686\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n}\n\n// Use to only display content when it's focused.\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n\n@mixin sr-only-focusable {\n &:not(:focus) {\n @include sr-only();\n }\n}\n","//\n// Stretched link\n//\n\n.stretched-link {\n &::#{$stretched-link-pseudo-element} {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $stretched-link-z-index;\n content: \"\";\n }\n}\n","//\n// Text truncation\n//\n\n.text-truncate {\n @include text-truncate();\n}\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (eg. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n // stylelint-disable-next-line declaration-no-important\n #{$property}: $value !important;\n }\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file
+{"version":3,"sources":["../../scss/bootstrap.scss","../../scss/_root.scss","../../scss/_reboot.scss","dist/css/bootstrap.css","../../scss/vendor/_rfs.scss","bootstrap.css","../../scss/mixins/_border-radius.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/_containers.scss","../../scss/mixins/_container.scss","../../scss/mixins/_breakpoints.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/forms/_labels.scss","../../scss/forms/_form-control.scss","../../scss/mixins/_transition.scss","../../scss/forms/_form-select.scss","../../scss/forms/_form-check.scss","../../scss/forms/_form-file.scss","../../scss/mixins/_gradients.scss","../../scss/forms/_form-range.scss","../../scss/forms/_input-group.scss","../../scss/mixins/_forms.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/_button-group.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_close.scss","../../scss/_toasts.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/mixins/_clearfix.scss","../../scss/_spinners.scss","../../scss/helpers/_colored-links.scss","../../scss/helpers/_embed.scss","../../scss/helpers/_position.scss","../../scss/helpers/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/helpers/_stretched-link.scss","../../scss/helpers/_text-truncation.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n// Configuration\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"utilities\";\n\n\n// Layout & components\n\n@import \"root\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"containers\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"alert\";\n@import \"progress\";\n@import \"list-group\";\n@import \"close\";\n@import \"toasts\";\n@import \"modal\";\n@import \"tooltip\";\n@import \"popover\";\n@import \"carousel\";\n@import \"spinners\";\n\n\n// Helpers\n\n@import \"helpers\";\n\n\n// Utilities\n\n@import \"utilities/api\";\n",":root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$color}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --font-family-sans-serif: #{inspect($font-family-sans-serif)};\n --font-family-monospace: #{inspect($font-family-monospace)};\n}\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n\n// Root\n//\n// Ability to the value of the root font sizes, affecting the value of `rem`.\n// null by default, thus nothing is generated.\n\n:root {\n font-size: $font-size-root;\n}\n\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Prevent adjustments of font size after orientation changes in iOS.\n// 4. Change the default tap highlight to be completely transparent in iOS.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: $body-text-align;\n background-color: $body-bg; // 2\n -webkit-text-size-adjust: 100%; // 3\n -webkit-tap-highlight-color: rgba($black, 0); // 4\n}\n\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Reset Firefox's gray color\n// 2. Set correct height and prevent the `size` attribute to make the `hr` look like an input field\n// See https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_hr_size\n\nhr {\n margin: $hr-margin-y 0;\n color: $hr-color; // 1\n background-color: currentColor;\n border: 0;\n opacity: $hr-opacity;\n}\n\nhr:not([size]) {\n height: $hr-height; // 2\n}\n\n\n// Typography\n//\n// 1. Remove top margins from headings\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n\n%heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1 {\n @extend %heading;\n @include font-size($h1-font-size);\n}\n\nh2 {\n @extend %heading;\n @include font-size($h2-font-size);\n}\n\nh3 {\n @extend %heading;\n @include font-size($h3-font-size);\n}\n\nh4 {\n @extend %heading;\n @include font-size($h4-font-size);\n}\n\nh5 {\n @extend %heading;\n @include font-size($h5-font-size);\n}\n\nh6 {\n @extend %heading;\n @include font-size($h6-font-size);\n}\n\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\n\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n text-decoration-skip-ink: none; // 4\n}\n\n\n// Address\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\n\n// Lists\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\n// 1. Undo browser default\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // 1\n}\n\n\n// Blockquote\n\nblockquote {\n margin: 0 0 1rem;\n}\n\n\n// Strong\n//\n// Add the correct font weight in Chrome, Edge, and Safari\n\nb,\nstrong {\n font-weight: $font-weight-bolder;\n}\n\n\n// Small\n//\n// Add the correct font size in all browsers\n\nsmall {\n @include font-size($small-font-size);\n}\n\n\n// Mark\n\nmark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n// Sub and Sup\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n\nsub,\nsup {\n position: relative;\n @include font-size($sub-sup-font-size);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n// Links\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n\n &:hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n// Code\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\n// 1. Remove browser default top margin\n// 2. Reset browser default of `1em` to use `rem`s\n// 3. Don't allow content to break outside\n\npre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n\n kbd {\n padding: 0;\n @include font-size(1em);\n font-weight: $nested-kbd-font-weight;\n }\n}\n\n\n// Figures\n//\n// Apply a consistent margin strategy (matches our type styles).\n\nfigure {\n margin: 0 0 1rem;\n}\n\n\n// Images and content\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\n\n// Tables\n//\n// Prevent double borders\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n}\n\n// 1. Matches default `<td>` alignment by inheriting `text-align`.\n// 2. Fix alignment for Safari\n\nth {\n text-align: inherit; // 1\n text-align: -webkit-match-parent; // 2\n}\n\n\n// Forms\n//\n// 1. Allow labels to use `margin` for spacing.\n\nlabel {\n display: inline-block; // 1\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n// See https://github.com/twbs/bootstrap/issues/24093\n\nbutton {\n // stylelint-disable-next-line property-blacklist\n border-radius: 0;\n}\n\n// Work around a Firefox bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n// Credit https://github.com/suitcss/base/\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\n// 1. Remove the margin in Firefox and Safari\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // 1\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\n// Show the overflow in Edge\n\nbutton,\ninput {\n overflow: visible;\n}\n\n// Remove the inheritance of text transform in Firefox\n\nbutton,\nselect {\n text-transform: none;\n}\n\n// Remove the inheritance of word-wrap in Safari.\n// See https://github.com/twbs/bootstrap/issues/24990\n\nselect {\n word-wrap: normal;\n}\n\n// Remove the dropdown arrow in Chrome from inputs built with datalists.\n// See https://stackoverflow.com/a/54997118\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n// 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n\n @if $enable-pointer-cursor-for-buttons {\n &:not(:disabled) {\n cursor: pointer; // 3\n }\n }\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\n// Remove the default appearance of temporal inputs to avoid a Mobile Safari\n// bug where setting a custom line-height prevents text from being vertically\n// centered within the input.\n// See https://bugs.webkit.org/show_bug.cgi?id=139848\n// and https://github.com/twbs/bootstrap/issues/11266\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: textfield;\n}\n\n// 1. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\ntextarea {\n resize: vertical; // 1\n}\n\n// 1. Browsers set a default `min-width: min-content;` on fieldsets,\n// unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n// So we reset that to ensure fieldsets behave more like a standard block element.\n// See https://github.com/twbs/bootstrap/issues/12359\n// and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n// 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\nfieldset {\n min-width: 0; // 1\n padding: 0; // 2\n margin: 0; // 2\n border: 0; // 2\n}\n\n// 1. By using `float: left`, the legend will behave like a block element.\n// This way the border of a fieldset wraps around the legend if present.\n// 2. Correct the text wrapping in Edge.\n// 3. Fix wrapping bug.\n// See https://github.com/twbs/bootstrap/issues/29712\n\nlegend {\n float: left; // 1\n width: 100%;\n padding: 0;\n margin-bottom: $legend-margin-bottom;\n @include font-size($legend-font-size);\n font-weight: $legend-font-weight;\n line-height: inherit;\n white-space: normal; // 2\n\n + * {\n clear: left; // 3\n }\n}\n\n// Fix height of inputs with a type of datetime-local, date, month, week, or time\n// See https://github.com/twbs/bootstrap/issues/18842\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n// 1. Correct the outline style in Safari.\n// 2. This overrides the extra rounded corners on search inputs in iOS so that our\n// `.form-control` class can properly style them. Note that this cannot simply\n// be added to `.form-control` as it's not specific enough. For details, see\n// https://github.com/twbs/bootstrap/issues/11586.\n\n[type=\"search\"] {\n outline-offset: -2px; // 1\n -webkit-appearance: textfield; // 2\n}\n\n// Remove the inner padding in Chrome and Safari on macOS.\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n// Remove padding around color pickers in webkit browsers\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n// 1. Change font properties to `inherit` in Safari.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n\n::-webkit-file-upload-button {\n font: inherit; // 1\n -webkit-appearance: button; // 2\n}\n\n// Correct element displays\n\noutput {\n display: inline-block;\n}\n\n\n// Summary\n//\n// 1. Add the correct display in all browsers\n\nsummary {\n display: list-item; // 1\n cursor: pointer;\n}\n\n\n// Progress\n//\n// Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\nprogress {\n vertical-align: baseline;\n}\n\n\n// Hidden attribute\n//\n// Always hide an element with the `hidden` HTML attribute.\n\n[hidden] {\n display: none !important;\n}\n","/*!\n * Bootstrap v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n:root {\n --blue: #0d6efd;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #d63384;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #fff;\n --gray: #6c757d;\n --gray-dark: #343a40;\n --primary: #0d6efd;\n --secondary: #6c757d;\n --success: #28a745;\n --info: #17a2b8;\n --warning: #ffc107;\n --danger: #dc3545;\n --light: #f8f9fa;\n --dark: #343a40;\n --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n background-color: #fff;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n margin: 1rem 0;\n color: inherit;\n background-color: currentColor;\n border: 0;\n opacity: 0.25;\n}\n\nhr:not([size]) {\n height: 1px;\n}\n\nh1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1, .h1 {\n font-size: calc(1.375rem + 1.5vw);\n}\n\n@media (min-width: 1200px) {\n h1, .h1 {\n font-size: 2.5rem;\n }\n}\n\nh2, .h2 {\n font-size: calc(1.325rem + 0.9vw);\n}\n\n@media (min-width: 1200px) {\n h2, .h2 {\n font-size: 2rem;\n }\n}\n\nh3, .h3 {\n font-size: calc(1.3rem + 0.6vw);\n}\n\n@media (min-width: 1200px) {\n h3, .h3 {\n font-size: 1.75rem;\n }\n}\n\nh4, .h4 {\n font-size: calc(1.275rem + 0.3vw);\n}\n\n@media (min-width: 1200px) {\n h4, .h4 {\n font-size: 1.5rem;\n }\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n cursor: help;\n -webkit-text-decoration-skip-ink: none;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall, .small {\n font-size: 0.875em;\n}\n\nmark, .mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 0.75em;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #0d6efd;\n text-decoration: underline;\n}\n\na:hover {\n color: #024dbc;\n}\n\na:not([href]), a:not([href]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: 0.875em;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\ncode {\n font-size: 0.875em;\n color: #d63384;\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 0.875em;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 1em;\n font-weight: 700;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: #6c757d;\n text-align: left;\n}\n\nth {\n text-align: inherit;\n text-align: -webkit-match-parent;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nselect {\n word-wrap: normal;\n}\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: textfield;\n}\n\ntextarea {\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n float: left;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: calc(1.275rem + 0.3vw);\n line-height: inherit;\n white-space: normal;\n}\n\n@media (min-width: 1200px) {\n legend {\n font-size: 1.5rem;\n }\n}\n\nlegend + * {\n clear: left;\n}\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: textfield;\n}\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[hidden] {\n display: none !important;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: calc(1.725rem + 5.7vw);\n font-weight: 300;\n line-height: 1.2;\n}\n\n@media (min-width: 1200px) {\n .display-1 {\n font-size: 6rem;\n }\n}\n\n.display-2 {\n font-size: calc(1.675rem + 5.1vw);\n font-weight: 300;\n line-height: 1.2;\n}\n\n@media (min-width: 1200px) {\n .display-2 {\n font-size: 5.5rem;\n }\n}\n\n.display-3 {\n font-size: calc(1.575rem + 3.9vw);\n font-weight: 300;\n line-height: 1.2;\n}\n\n@media (min-width: 1200px) {\n .display-3 {\n font-size: 4.5rem;\n }\n}\n\n.display-4 {\n font-size: calc(1.475rem + 2.7vw);\n font-weight: 300;\n line-height: 1.2;\n}\n\n@media (min-width: 1200px) {\n .display-4 {\n font-size: 3.5rem;\n }\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 0.875em;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 0.875em;\n color: #6c757d;\n}\n\n.blockquote-footer::before {\n content: \"\\2014\\00A0\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 0.875em;\n color: #6c757d;\n}\n\n.container {\n width: 100%;\n padding-right: 1rem;\n padding-left: 1rem;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid, .container-sm, .container-md, .container-lg, .container-xl {\n width: 100%;\n padding-right: 1rem;\n padding-left: 1rem;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -0.75rem;\n margin-left: -0.75rem;\n}\n\n.row > * {\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.g-0,\n.gx-0 {\n margin-right: 0;\n margin-left: 0;\n}\n\n.g-0 > *,\n.gx-0 > * {\n padding-right: 0;\n padding-left: 0;\n}\n\n.g-0,\n.gy-0 {\n margin-top: 0;\n}\n\n.g-0 > *,\n.gy-0 > * {\n margin-top: 0;\n}\n\n.g-1,\n.gx-1 {\n margin-right: -0.125rem;\n margin-left: -0.125rem;\n}\n\n.g-1 > *,\n.gx-1 > * {\n padding-right: 0.125rem;\n padding-left: 0.125rem;\n}\n\n.g-1,\n.gy-1 {\n margin-top: -0.25rem;\n}\n\n.g-1 > *,\n.gy-1 > * {\n margin-top: 0.25rem;\n}\n\n.g-2,\n.gx-2 {\n margin-right: -0.25rem;\n margin-left: -0.25rem;\n}\n\n.g-2 > *,\n.gx-2 > * {\n padding-right: 0.25rem;\n padding-left: 0.25rem;\n}\n\n.g-2,\n.gy-2 {\n margin-top: -0.5rem;\n}\n\n.g-2 > *,\n.gy-2 > * {\n margin-top: 0.5rem;\n}\n\n.g-3,\n.gx-3 {\n margin-right: -0.5rem;\n margin-left: -0.5rem;\n}\n\n.g-3 > *,\n.gx-3 > * {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.g-3,\n.gy-3 {\n margin-top: -1rem;\n}\n\n.g-3 > *,\n.gy-3 > * {\n margin-top: 1rem;\n}\n\n.g-4,\n.gx-4 {\n margin-right: -0.75rem;\n margin-left: -0.75rem;\n}\n\n.g-4 > *,\n.gx-4 > * {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.g-4,\n.gy-4 {\n margin-top: -1.5rem;\n}\n\n.g-4 > *,\n.gy-4 > * {\n margin-top: 1.5rem;\n}\n\n.g-5,\n.gx-5 {\n margin-right: -1.5rem;\n margin-left: -1.5rem;\n}\n\n.g-5 > *,\n.gx-5 > * {\n padding-right: 1.5rem;\n padding-left: 1.5rem;\n}\n\n.g-5,\n.gy-5 {\n margin-top: -3rem;\n}\n\n.g-5 > *,\n.gy-5 > * {\n margin-top: 3rem;\n}\n\n@media (min-width: 576px) {\n .g-sm-0,\n .gx-sm-0 {\n margin-right: 0;\n margin-left: 0;\n }\n .g-sm-0 > *,\n .gx-sm-0 > * {\n padding-right: 0;\n padding-left: 0;\n }\n .g-sm-0,\n .gy-sm-0 {\n margin-top: 0;\n }\n .g-sm-0 > *,\n .gy-sm-0 > * {\n margin-top: 0;\n }\n .g-sm-1,\n .gx-sm-1 {\n margin-right: -0.125rem;\n margin-left: -0.125rem;\n }\n .g-sm-1 > *,\n .gx-sm-1 > * {\n padding-right: 0.125rem;\n padding-left: 0.125rem;\n }\n .g-sm-1,\n .gy-sm-1 {\n margin-top: -0.25rem;\n }\n .g-sm-1 > *,\n .gy-sm-1 > * {\n margin-top: 0.25rem;\n }\n .g-sm-2,\n .gx-sm-2 {\n margin-right: -0.25rem;\n margin-left: -0.25rem;\n }\n .g-sm-2 > *,\n .gx-sm-2 > * {\n padding-right: 0.25rem;\n padding-left: 0.25rem;\n }\n .g-sm-2,\n .gy-sm-2 {\n margin-top: -0.5rem;\n }\n .g-sm-2 > *,\n .gy-sm-2 > * {\n margin-top: 0.5rem;\n }\n .g-sm-3,\n .gx-sm-3 {\n margin-right: -0.5rem;\n margin-left: -0.5rem;\n }\n .g-sm-3 > *,\n .gx-sm-3 > * {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .g-sm-3,\n .gy-sm-3 {\n margin-top: -1rem;\n }\n .g-sm-3 > *,\n .gy-sm-3 > * {\n margin-top: 1rem;\n }\n .g-sm-4,\n .gx-sm-4 {\n margin-right: -0.75rem;\n margin-left: -0.75rem;\n }\n .g-sm-4 > *,\n .gx-sm-4 > * {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n }\n .g-sm-4,\n .gy-sm-4 {\n margin-top: -1.5rem;\n }\n .g-sm-4 > *,\n .gy-sm-4 > * {\n margin-top: 1.5rem;\n }\n .g-sm-5,\n .gx-sm-5 {\n margin-right: -1.5rem;\n margin-left: -1.5rem;\n }\n .g-sm-5 > *,\n .gx-sm-5 > * {\n padding-right: 1.5rem;\n padding-left: 1.5rem;\n }\n .g-sm-5,\n .gy-sm-5 {\n margin-top: -3rem;\n }\n .g-sm-5 > *,\n .gy-sm-5 > * {\n margin-top: 3rem;\n }\n}\n\n@media (min-width: 768px) {\n .g-md-0,\n .gx-md-0 {\n margin-right: 0;\n margin-left: 0;\n }\n .g-md-0 > *,\n .gx-md-0 > * {\n padding-right: 0;\n padding-left: 0;\n }\n .g-md-0,\n .gy-md-0 {\n margin-top: 0;\n }\n .g-md-0 > *,\n .gy-md-0 > * {\n margin-top: 0;\n }\n .g-md-1,\n .gx-md-1 {\n margin-right: -0.125rem;\n margin-left: -0.125rem;\n }\n .g-md-1 > *,\n .gx-md-1 > * {\n padding-right: 0.125rem;\n padding-left: 0.125rem;\n }\n .g-md-1,\n .gy-md-1 {\n margin-top: -0.25rem;\n }\n .g-md-1 > *,\n .gy-md-1 > * {\n margin-top: 0.25rem;\n }\n .g-md-2,\n .gx-md-2 {\n margin-right: -0.25rem;\n margin-left: -0.25rem;\n }\n .g-md-2 > *,\n .gx-md-2 > * {\n padding-right: 0.25rem;\n padding-left: 0.25rem;\n }\n .g-md-2,\n .gy-md-2 {\n margin-top: -0.5rem;\n }\n .g-md-2 > *,\n .gy-md-2 > * {\n margin-top: 0.5rem;\n }\n .g-md-3,\n .gx-md-3 {\n margin-right: -0.5rem;\n margin-left: -0.5rem;\n }\n .g-md-3 > *,\n .gx-md-3 > * {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .g-md-3,\n .gy-md-3 {\n margin-top: -1rem;\n }\n .g-md-3 > *,\n .gy-md-3 > * {\n margin-top: 1rem;\n }\n .g-md-4,\n .gx-md-4 {\n margin-right: -0.75rem;\n margin-left: -0.75rem;\n }\n .g-md-4 > *,\n .gx-md-4 > * {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n }\n .g-md-4,\n .gy-md-4 {\n margin-top: -1.5rem;\n }\n .g-md-4 > *,\n .gy-md-4 > * {\n margin-top: 1.5rem;\n }\n .g-md-5,\n .gx-md-5 {\n margin-right: -1.5rem;\n margin-left: -1.5rem;\n }\n .g-md-5 > *,\n .gx-md-5 > * {\n padding-right: 1.5rem;\n padding-left: 1.5rem;\n }\n .g-md-5,\n .gy-md-5 {\n margin-top: -3rem;\n }\n .g-md-5 > *,\n .gy-md-5 > * {\n margin-top: 3rem;\n }\n}\n\n@media (min-width: 992px) {\n .g-lg-0,\n .gx-lg-0 {\n margin-right: 0;\n margin-left: 0;\n }\n .g-lg-0 > *,\n .gx-lg-0 > * {\n padding-right: 0;\n padding-left: 0;\n }\n .g-lg-0,\n .gy-lg-0 {\n margin-top: 0;\n }\n .g-lg-0 > *,\n .gy-lg-0 > * {\n margin-top: 0;\n }\n .g-lg-1,\n .gx-lg-1 {\n margin-right: -0.125rem;\n margin-left: -0.125rem;\n }\n .g-lg-1 > *,\n .gx-lg-1 > * {\n padding-right: 0.125rem;\n padding-left: 0.125rem;\n }\n .g-lg-1,\n .gy-lg-1 {\n margin-top: -0.25rem;\n }\n .g-lg-1 > *,\n .gy-lg-1 > * {\n margin-top: 0.25rem;\n }\n .g-lg-2,\n .gx-lg-2 {\n margin-right: -0.25rem;\n margin-left: -0.25rem;\n }\n .g-lg-2 > *,\n .gx-lg-2 > * {\n padding-right: 0.25rem;\n padding-left: 0.25rem;\n }\n .g-lg-2,\n .gy-lg-2 {\n margin-top: -0.5rem;\n }\n .g-lg-2 > *,\n .gy-lg-2 > * {\n margin-top: 0.5rem;\n }\n .g-lg-3,\n .gx-lg-3 {\n margin-right: -0.5rem;\n margin-left: -0.5rem;\n }\n .g-lg-3 > *,\n .gx-lg-3 > * {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .g-lg-3,\n .gy-lg-3 {\n margin-top: -1rem;\n }\n .g-lg-3 > *,\n .gy-lg-3 > * {\n margin-top: 1rem;\n }\n .g-lg-4,\n .gx-lg-4 {\n margin-right: -0.75rem;\n margin-left: -0.75rem;\n }\n .g-lg-4 > *,\n .gx-lg-4 > * {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n }\n .g-lg-4,\n .gy-lg-4 {\n margin-top: -1.5rem;\n }\n .g-lg-4 > *,\n .gy-lg-4 > * {\n margin-top: 1.5rem;\n }\n .g-lg-5,\n .gx-lg-5 {\n margin-right: -1.5rem;\n margin-left: -1.5rem;\n }\n .g-lg-5 > *,\n .gx-lg-5 > * {\n padding-right: 1.5rem;\n padding-left: 1.5rem;\n }\n .g-lg-5,\n .gy-lg-5 {\n margin-top: -3rem;\n }\n .g-lg-5 > *,\n .gy-lg-5 > * {\n margin-top: 3rem;\n }\n}\n\n@media (min-width: 1200px) {\n .g-xl-0,\n .gx-xl-0 {\n margin-right: 0;\n margin-left: 0;\n }\n .g-xl-0 > *,\n .gx-xl-0 > * {\n padding-right: 0;\n padding-left: 0;\n }\n .g-xl-0,\n .gy-xl-0 {\n margin-top: 0;\n }\n .g-xl-0 > *,\n .gy-xl-0 > * {\n margin-top: 0;\n }\n .g-xl-1,\n .gx-xl-1 {\n margin-right: -0.125rem;\n margin-left: -0.125rem;\n }\n .g-xl-1 > *,\n .gx-xl-1 > * {\n padding-right: 0.125rem;\n padding-left: 0.125rem;\n }\n .g-xl-1,\n .gy-xl-1 {\n margin-top: -0.25rem;\n }\n .g-xl-1 > *,\n .gy-xl-1 > * {\n margin-top: 0.25rem;\n }\n .g-xl-2,\n .gx-xl-2 {\n margin-right: -0.25rem;\n margin-left: -0.25rem;\n }\n .g-xl-2 > *,\n .gx-xl-2 > * {\n padding-right: 0.25rem;\n padding-left: 0.25rem;\n }\n .g-xl-2,\n .gy-xl-2 {\n margin-top: -0.5rem;\n }\n .g-xl-2 > *,\n .gy-xl-2 > * {\n margin-top: 0.5rem;\n }\n .g-xl-3,\n .gx-xl-3 {\n margin-right: -0.5rem;\n margin-left: -0.5rem;\n }\n .g-xl-3 > *,\n .gx-xl-3 > * {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .g-xl-3,\n .gy-xl-3 {\n margin-top: -1rem;\n }\n .g-xl-3 > *,\n .gy-xl-3 > * {\n margin-top: 1rem;\n }\n .g-xl-4,\n .gx-xl-4 {\n margin-right: -0.75rem;\n margin-left: -0.75rem;\n }\n .g-xl-4 > *,\n .gx-xl-4 > * {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n }\n .g-xl-4,\n .gy-xl-4 {\n margin-top: -1.5rem;\n }\n .g-xl-4 > *,\n .gy-xl-4 > * {\n margin-top: 1.5rem;\n }\n .g-xl-5,\n .gx-xl-5 {\n margin-right: -1.5rem;\n margin-left: -1.5rem;\n }\n .g-xl-5 > *,\n .gx-xl-5 > * {\n padding-right: 1.5rem;\n padding-left: 1.5rem;\n }\n .g-xl-5,\n .gy-xl-5 {\n margin-top: -3rem;\n }\n .g-xl-5 > *,\n .gy-xl-5 > * {\n margin-top: 3rem;\n }\n}\n\n.col {\n flex: 1 0 0%;\n min-width: 0;\n}\n\n.row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n}\n\n.row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.col-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.col-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 auto;\n width: 75%;\n}\n\n.col-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex: 1 0 0%;\n min-width: 0;\n }\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex: 1 0 0%;\n min-width: 0;\n }\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex: 1 0 0%;\n min-width: 0;\n }\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex: 1 0 0%;\n min-width: 0;\n }\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n margin-bottom: 1rem;\n color: #212529;\n vertical-align: top;\n}\n\n.table th,\n.table td {\n padding: 0.5rem;\n border-bottom: 1px solid #dee2e6;\n}\n\n.table tbody {\n vertical-align: inherit;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom-color: #495057;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #dee2e6;\n}\n\n.caption-top {\n caption-side: top;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.25rem;\n}\n\n.table-bordered {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-borderless th,\n.table-borderless td,\n.table-borderless thead th,\n.table-borderless tbody + tbody {\n border: 0;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n color: #212529;\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n background-color: #bbd6fe;\n}\n\n.table-primary th,\n.table-primary td,\n.table-primary thead th,\n.table-primary tbody + tbody {\n border-color: #81b4fe;\n}\n\n.table-hover .table-primary:hover {\n background-color: #a2c7fe;\n}\n\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n background-color: #a2c7fe;\n}\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n background-color: #d6d8db;\n}\n\n.table-secondary th,\n.table-secondary td,\n.table-secondary thead th,\n.table-secondary tbody + tbody {\n border-color: #b3b7bb;\n}\n\n.table-hover .table-secondary:hover {\n background-color: #c8cbcf;\n}\n\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n background-color: #c8cbcf;\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #c3e6cb;\n}\n\n.table-success th,\n.table-success td,\n.table-success thead th,\n.table-success tbody + tbody {\n border-color: #8fd19e;\n}\n\n.table-hover .table-success:hover {\n background-color: #b1dfbb;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #b1dfbb;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #bee5eb;\n}\n\n.table-info th,\n.table-info td,\n.table-info thead th,\n.table-info tbody + tbody {\n border-color: #86cfda;\n}\n\n.table-hover .table-info:hover {\n background-color: #abdde5;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #abdde5;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #ffeeba;\n}\n\n.table-warning th,\n.table-warning td,\n.table-warning thead th,\n.table-warning tbody + tbody {\n border-color: #ffdf7e;\n}\n\n.table-hover .table-warning:hover {\n background-color: #ffe8a1;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #ffe8a1;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f5c6cb;\n}\n\n.table-danger th,\n.table-danger td,\n.table-danger thead th,\n.table-danger tbody + tbody {\n border-color: #ed969e;\n}\n\n.table-hover .table-danger:hover {\n background-color: #f1b0b7;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #f1b0b7;\n}\n\n.table-light,\n.table-light > th,\n.table-light > td {\n background-color: #fdfdfe;\n}\n\n.table-light th,\n.table-light td,\n.table-light thead th,\n.table-light tbody + tbody {\n border-color: #fbfcfc;\n}\n\n.table-hover .table-light:hover {\n background-color: #ececf6;\n}\n\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n background-color: #ececf6;\n}\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n background-color: #c6c8ca;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th,\n.table-dark tbody + tbody {\n border-color: #95999c;\n}\n\n.table-hover .table-dark:hover {\n background-color: #b9bbbe;\n}\n\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n background-color: #b9bbbe;\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table .thead-dark th {\n color: #fff;\n background-color: #343a40;\n border-color: #454d55;\n}\n\n.table .thead-light th {\n color: #495057;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.table-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th {\n border-color: #454d55;\n}\n\n.table-dark.table-bordered {\n border: 0;\n}\n\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-dark.table-hover tbody tr:hover {\n color: #fff;\n background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-sm > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 767.98px) {\n .table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-md > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-lg > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-xl > .table-bordered {\n border: 0;\n }\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n.table-responsive > .table-bordered {\n border: 0;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n}\n\n.form-control {\n display: block;\n width: 100%;\n min-height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n\n.form-control:focus {\n color: #495057;\n background-color: #fff;\n border-color: #8bbafe;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-control::-webkit-input-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control::-moz-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control::-ms-input-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control::placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: 0.375rem 0;\n margin-bottom: 0;\n line-height: 1.5;\n color: #212529;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm {\n min-height: calc(1.5em + 0.5rem + 2px);\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.form-control-lg {\n min-height: calc(1.5em + 1rem + 2px);\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.form-control-color {\n max-width: 3rem;\n padding: 0.375rem;\n}\n\n.form-control-color::-moz-color-swatch {\n border-radius: 0.25rem;\n}\n\n.form-control-color::-webkit-color-swatch {\n border-radius: 0.25rem;\n}\n\n.form-select {\n display: block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n background-color: #fff;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right 0.75rem center;\n background-size: 16px 12px;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n\n.form-select:focus {\n border-color: #8bbafe;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-select:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.form-select[multiple], .form-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none;\n}\n\n.form-select:disabled {\n color: #6c757d;\n background-color: #e9ecef;\n}\n\n.form-select:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #495057;\n}\n\n.form-select-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n padding-left: 0.5rem;\n font-size: 0.875rem;\n}\n\n.form-select-lg {\n height: calc(1.5em + 1rem + 2px);\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 1rem;\n font-size: 1.25rem;\n}\n\n.form-check {\n display: block;\n min-height: 1.5rem;\n padding-left: 1.75em;\n margin-bottom: 0.125rem;\n}\n\n.form-check .form-check-input {\n float: left;\n margin-left: -1.75em;\n}\n\n.form-check-input {\n width: 1.25em;\n height: 1.25em;\n margin-top: 0.125em;\n vertical-align: top;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.25);\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n -webkit-print-color-adjust: exact;\n color-adjust: exact;\n}\n\n.form-check-input[type=\"checkbox\"] {\n border-radius: 0.25em;\n}\n\n.form-check-input[type=\"radio\"] {\n border-radius: 50%;\n}\n\n.form-check-input:active {\n -webkit-filter: brightness(90%);\n filter: brightness(90%);\n}\n\n.form-check-input:focus {\n border-color: #8bbafe;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-check-input:checked {\n background-color: #0d6efd;\n background-repeat: no-repeat;\n background-position: center center;\n background-size: 1em;\n border-color: #0d6efd;\n}\n\n.form-check-input:checked[type=\"checkbox\"] {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M4 8.5L6.5 11l6-6'/%3e%3c/svg%3e\");\n}\n\n.form-check-input:checked[type=\"radio\"] {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e\");\n}\n\n.form-check-input[type=\"checkbox\"]:indeterminate {\n background-color: #0d6efd;\n background-repeat: no-repeat;\n background-position: center center;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M5 8h6'/%3e%3c/svg%3e\");\n background-size: 1em;\n border-color: #0d6efd;\n}\n\n.form-check-input:disabled {\n pointer-events: none;\n -webkit-filter: none;\n filter: none;\n opacity: .5;\n}\n\n.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {\n opacity: .5;\n}\n\n.form-check-label {\n margin-bottom: 0;\n}\n\n.form-switch {\n padding-left: 2.5em;\n}\n\n.form-switch .form-check-input {\n width: 2em;\n margin-left: -2.5em;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: left center;\n background-size: contain;\n border-radius: 2em;\n -webkit-print-color-adjust: exact;\n color-adjust: exact;\n}\n\n.form-switch .form-check-input:focus {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2380bdff'/%3e%3c/svg%3e\");\n}\n\n.form-switch .form-check-input:checked {\n background-position: right center;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\");\n}\n\n.form-check-inline {\n display: inline-block;\n margin-right: 1rem;\n}\n\n.form-file {\n position: relative;\n height: calc(1.5em + 0.75rem + 2px);\n}\n\n.form-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: 100%;\n margin: 0;\n opacity: 0;\n}\n\n.form-file-input:focus-within ~ .form-file-label {\n border-color: #8bbafe;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-file-input[disabled] ~ .form-file-label .form-file-text,\n.form-file-input:disabled ~ .form-file-label .form-file-text {\n background-color: #e9ecef;\n}\n\n.form-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n display: flex;\n height: 100%;\n border-color: #ced4da;\n border-radius: 0.25rem;\n}\n\n.form-file-text {\n display: block;\n flex-grow: 1;\n padding: 0.375rem 0.75rem;\n overflow: hidden;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-overflow: ellipsis;\n white-space: nowrap;\n background-color: #fff;\n border-color: inherit;\n border-style: solid;\n border-width: 1px;\n border-top-left-radius: inherit;\n border-bottom-left-radius: inherit;\n}\n\n.form-file-button {\n display: block;\n flex-shrink: 0;\n padding: 0.375rem 0.75rem;\n margin-left: -1px;\n line-height: 1.5;\n color: #495057;\n background-color: #e9ecef;\n border-color: inherit;\n border-style: solid;\n border-width: 1px;\n border-top-right-radius: inherit;\n border-bottom-right-radius: inherit;\n}\n\n.form-file-sm {\n height: calc(1.5em + 0.5rem + 2px);\n font-size: 0.875rem;\n}\n\n.form-file-sm .form-file-text,\n.form-file-sm .form-file-button {\n padding: 0.25rem 0.5rem;\n}\n\n.form-file-lg {\n height: calc(1.5em + 1rem + 2px);\n font-size: 1.25rem;\n}\n\n.form-file-lg .form-file-text,\n.form-file-lg .form-file-button {\n padding: 0.5rem 1rem;\n}\n\n.form-range {\n width: 100%;\n height: 1.4rem;\n padding: 0;\n background-color: transparent;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n\n.form-range:focus {\n outline: none;\n}\n\n.form-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-range:focus::-ms-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-range::-moz-focus-outer {\n border: 0;\n}\n\n.form-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: #0d6efd;\n border: 0;\n border-radius: 1rem;\n -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n -webkit-appearance: none;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-range::-webkit-slider-thumb {\n -webkit-transition: none;\n transition: none;\n }\n}\n\n.form-range::-webkit-slider-thumb:active {\n background-color: #bed8fe;\n}\n\n.form-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.form-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #0d6efd;\n border: 0;\n border-radius: 1rem;\n -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n -moz-appearance: none;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-range::-moz-range-thumb {\n -moz-transition: none;\n transition: none;\n }\n}\n\n.form-range::-moz-range-thumb:active {\n background-color: #bed8fe;\n}\n\n.form-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.form-range::-ms-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: 0;\n margin-right: 0.2rem;\n margin-left: 0.2rem;\n background-color: #0d6efd;\n border: 0;\n border-radius: 1rem;\n -ms-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-range::-ms-thumb {\n -ms-transition: none;\n transition: none;\n }\n}\n\n.form-range::-ms-thumb:active {\n background-color: #bed8fe;\n}\n\n.form-range::-ms-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: transparent;\n border-color: transparent;\n border-width: 0.5rem;\n}\n\n.form-range::-ms-fill-lower {\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.form-range::-ms-fill-upper {\n margin-right: 15px;\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.form-range:disabled {\n pointer-events: none;\n}\n\n.form-range:disabled::-webkit-slider-thumb {\n background-color: #adb5bd;\n}\n\n.form-range:disabled::-moz-range-thumb {\n background-color: #adb5bd;\n}\n\n.form-range:disabled::-ms-thumb {\n background-color: #adb5bd;\n}\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n}\n\n.input-group > .form-control,\n.input-group > .form-select,\n.input-group > .form-file {\n position: relative;\n flex: 1 1 auto;\n width: 1%;\n min-width: 0;\n}\n\n.input-group > .form-control:focus,\n.input-group > .form-select:focus,\n.input-group > .form-file .form-file-input:focus ~ .form-file-label {\n z-index: 3;\n}\n\n.input-group > .form-file > .form-file-input:focus {\n z-index: 4;\n}\n\n.input-group > .form-file:not(:last-child) > .form-file-label {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-file:not(:first-child) > .form-file-label {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group .btn {\n position: relative;\n z-index: 2;\n}\n\n.input-group .btn:focus {\n z-index: 3;\n}\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-lg > .form-control {\n min-height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-select {\n height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .form-select,\n.input-group-lg > .input-group-text,\n.input-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.input-group-sm > .form-control {\n min-height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-select {\n height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .form-select,\n.input-group-sm > .input-group-text,\n.input-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.input-group-lg > .form-select,\n.input-group-sm > .form-select {\n padding-right: 1.75rem;\n}\n\n.input-group > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),\n.input-group > .dropdown-toggle:nth-last-child(n + 3) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > :not(:first-child):not(.dropdown-menu) {\n margin-left: -1px;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: #28a745;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n color: #fff;\n background-color: rgba(40, 167, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :valid ~ .valid-feedback,\n.was-validated :valid ~ .valid-tooltip,\n.is-valid ~ .valid-feedback,\n.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid {\n border-color: #28a745;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .form-select:valid, .form-select.is-valid {\n border-color: #28a745;\n padding-right: calc(0.75em + 2.3125rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\"), url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n background-position: right 0.75rem center, center right 1.75rem;\n background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-select:valid:focus, .form-select.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-check-input:valid, .form-check-input.is-valid {\n border-color: #28a745;\n}\n\n.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {\n background-color: #34ce57;\n}\n\n.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #28a745;\n}\n\n.form-check-inline .form-check-input ~ .valid-feedback {\n margin-left: .5em;\n}\n\n.was-validated .form-file-input:valid ~ .form-file-label, .form-file-input.is-valid ~ .form-file-label {\n border-color: #28a745;\n}\n\n.was-validated .form-file-input:valid:focus ~ .form-file-label, .form-file-input.is-valid:focus ~ .form-file-label {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :invalid ~ .invalid-feedback,\n.was-validated :invalid ~ .invalid-tooltip,\n.is-invalid ~ .invalid-feedback,\n.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: #dc3545;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .form-select:invalid, .form-select.is-invalid {\n border-color: #dc3545;\n padding-right: calc(0.75em + 2.3125rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\"), url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n background-position: right 0.75rem center, center right 1.75rem;\n background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-check-input:invalid, .form-check-input.is-invalid {\n border-color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {\n background-color: #e4606d;\n}\n\n.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dc3545;\n}\n\n.form-check-inline .form-check-input ~ .invalid-feedback {\n margin-left: .5em;\n}\n\n.was-validated .form-file-input:invalid ~ .form-file-label, .form-file-input.is-invalid ~ .form-file-label {\n border-color: #dc3545;\n}\n\n.was-validated .form-file-input:invalid:focus ~ .form-file-label, .form-file-input.is-invalid:focus ~ .form-file-label {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: center;\n text-decoration: none;\n vertical-align: middle;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n background-color: transparent;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n\n.btn:hover {\n color: #212529;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.btn:disabled, .btn.disabled,\nfieldset:disabled .btn {\n pointer-events: none;\n opacity: 0.65;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #025ce2;\n border-color: #0257d5;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n color: #fff;\n background-color: #025ce2;\n border-color: #0257d5;\n box-shadow: 0 0 0 0.2rem rgba(49, 132, 253, 0.5);\n}\n\n.btn-primary:active, .btn-primary.active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0257d5;\n border-color: #0252c9;\n}\n\n.btn-primary:active:focus, .btn-primary.active:focus,\n.show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(49, 132, 253, 0.5);\n}\n\n.btn-primary:disabled, .btn-primary.disabled {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-secondary:active, .btn-secondary.active,\n.show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #545b62;\n border-color: #4e555b;\n}\n\n.btn-secondary:active:focus, .btn-secondary.active:focus,\n.show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-secondary:disabled, .btn-secondary.disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-success {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-success:active, .btn-success.active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #1e7e34;\n border-color: #1c7430;\n}\n\n.btn-success:active:focus, .btn-success.active:focus,\n.show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-success:disabled, .btn-success.disabled {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-info:active, .btn-info.active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #117a8b;\n border-color: #10707f;\n}\n\n.btn-info:active:focus, .btn-info.active:focus,\n.show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-info:disabled, .btn-info.disabled {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-warning {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-warning:active, .btn-warning.active,\n.show > .btn-warning.dropdown-toggle {\n color: #212529;\n background-color: #d39e00;\n border-color: #c69500;\n}\n\n.btn-warning:active:focus, .btn-warning.active:focus,\n.show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-warning:disabled, .btn-warning.disabled {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-danger:active, .btn-danger.active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #bd2130;\n border-color: #b21f2d;\n}\n\n.btn-danger:active:focus, .btn-danger.active:focus,\n.show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-danger:disabled, .btn-danger.disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-light {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-light:active, .btn-light.active,\n.show > .btn-light.dropdown-toggle {\n color: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df;\n}\n\n.btn-light:active:focus, .btn-light.active:focus,\n.show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-light:disabled, .btn-light.disabled {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n}\n\n.btn-dark:focus, .btn-dark.focus {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-dark:active, .btn-dark.active,\n.show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d;\n}\n\n.btn-dark:active:focus, .btn-dark.active:focus,\n.show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-dark:disabled, .btn-dark.disabled {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-primary {\n color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.5);\n}\n\n.btn-outline-primary:active, .btn-outline-primary.active, .btn-outline-primary.dropdown-toggle.show {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-outline-primary:active:focus, .btn-outline-primary.active:focus, .btn-outline-primary.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.5);\n}\n\n.btn-outline-primary:disabled, .btn-outline-primary.disabled {\n color: #0d6efd;\n background-color: transparent;\n}\n\n.btn-outline-secondary {\n color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-secondary:active, .btn-outline-secondary.active, .btn-outline-secondary.dropdown-toggle.show {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:active:focus, .btn-outline-secondary.active:focus, .btn-outline-secondary.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-secondary:disabled, .btn-outline-secondary.disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.btn-outline-success {\n color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success:active, .btn-outline-success.active, .btn-outline-success.dropdown-toggle.show {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:active:focus, .btn-outline-success.active:focus, .btn-outline-success.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success:disabled, .btn-outline-success.disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-info {\n color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info:active, .btn-outline-info.active, .btn-outline-info.dropdown-toggle.show {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:active:focus, .btn-outline-info.active:focus, .btn-outline-info.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info:disabled, .btn-outline-info.disabled {\n color: #17a2b8;\n background-color: transparent;\n}\n\n.btn-outline-warning {\n color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning:active, .btn-outline-warning.active, .btn-outline-warning.dropdown-toggle.show {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:active:focus, .btn-outline-warning.active:focus, .btn-outline-warning.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning:disabled, .btn-outline-warning.disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-danger {\n color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger:active, .btn-outline-danger.active, .btn-outline-danger.dropdown-toggle.show {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:active:focus, .btn-outline-danger.active:focus, .btn-outline-danger.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger:disabled, .btn-outline-danger.disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light:active, .btn-outline-light.active, .btn-outline-light.dropdown-toggle.show {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:active:focus, .btn-outline-light.active:focus, .btn-outline-light.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light:disabled, .btn-outline-light.disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-dark {\n color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark:active, .btn-outline-dark.active, .btn-outline-dark.dropdown-toggle.show {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:active:focus, .btn-outline-dark.active:focus, .btn-outline-dark.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark:disabled, .btn-outline-dark.disabled {\n color: #343a40;\n background-color: transparent;\n}\n\n.btn-link {\n font-weight: 400;\n color: #0d6efd;\n text-decoration: underline;\n}\n\n.btn-link:hover {\n color: #024dbc;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\n.fade {\n transition: opacity 0.15s linear;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\n}\n\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse:not(.show) {\n display: none;\n}\n\n.collapsing {\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n@media (min-width: 576px) {\n .dropdown-menu-sm-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-sm-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 768px) {\n .dropdown-menu-md-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-md-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 992px) {\n .dropdown-menu-lg-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-lg-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 1200px) {\n .dropdown-menu-xl-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xl-right {\n right: 0;\n left: auto;\n }\n}\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: 0.125rem;\n}\n\n.dropright .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropleft .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: 0.125rem;\n}\n\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n\n.dropleft .dropdown-toggle::after {\n display: none;\n}\n\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-menu[x-placement^=\"top\"], .dropdown-menu[x-placement^=\"right\"], .dropdown-menu[x-placement^=\"bottom\"], .dropdown-menu[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1.5rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n text-decoration: none;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n\n.dropdown-item:hover, .dropdown-item:focus {\n color: #16181b;\n background-color: #f8f9fa;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #0d6efd;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: 0.25rem 1.5rem;\n color: #212529;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 1 1 auto;\n}\n\n.btn-group > .btn:hover, .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:hover,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) {\n margin-left: -1px;\n}\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n\n.dropdown-toggle-split::after,\n.dropup .dropdown-toggle-split::after,\n.dropright .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle-split::before {\n margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: -1px;\n}\n\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group-toggle > .btn,\n.btn-group-toggle > .btn-group > .btn {\n margin-bottom: 0;\n}\n\n.btn-group-toggle > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn input[type=\"checkbox\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #6c757d;\n pointer-events: none;\n cursor: default;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n}\n\n.nav-tabs .nav-link {\n margin-bottom: -1px;\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6 #dee2e6 #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #0d6efd;\n}\n\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar > .container,\n.navbar > .container-fluid, .navbar > .container-sm, .navbar > .container-md, .navbar > .container-lg, .navbar > .container-xl {\n display: flex;\n flex-wrap: inherit;\n align-items: center;\n justify-content: space-between;\n}\n\n.navbar-brand {\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n white-space: nowrap;\n}\n\n.navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static;\n}\n\n.navbar-text {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n align-items: center;\n width: 100%;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n transition: box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .navbar-toggler {\n transition: none;\n }\n}\n\n.navbar-toggler:hover {\n text-decoration: none;\n}\n\n.navbar-toggler:focus {\n text-decoration: none;\n outline: 0;\n box-shadow: 0 0 0 0.2rem;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n background-repeat: no-repeat;\n background-position: center;\n background-size: 100%;\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-expand {\n flex-wrap: nowrap;\n justify-content: flex-start;\n}\n\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.navbar-expand .navbar-collapse {\n display: flex !important;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.55);\n}\n\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.55);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.55);\n}\n\n.navbar-light .navbar-text a,\n.navbar-light .navbar-text a:hover,\n.navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.55);\n}\n\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.55);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.55);\n}\n\n.navbar-dark .navbar-text a,\n.navbar-dark .navbar-text a:hover,\n.navbar-dark .navbar-text a:focus {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n\n.card > .list-group:first-child .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.card > .list-group:last-child .list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.card-body {\n flex: 1 1 auto;\n padding: 1.25rem 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-header + .list-group .list-group-item:first-child {\n border-top: 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n width: 100%;\n}\n\n.card-img,\n.card-img-top {\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img,\n.card-img-bottom {\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-group > .card {\n margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n .card-group {\n display: flex;\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-top,\n .card-group > .card:not(:last-child) .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-bottom,\n .card-group > .card:not(:last-child) .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-top,\n .card-group > .card:not(:first-child) .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-bottom,\n .card-group > .card:not(:first-child) .card-footer {\n border-bottom-left-radius: 0;\n }\n}\n\n.accordion > .card {\n overflow: hidden;\n}\n\n.accordion > .card:not(:last-of-type) {\n border-bottom: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.accordion > .card:not(:first-of-type) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.accordion > .card > .card-header {\n border-radius: 0;\n margin-bottom: -1px;\n}\n\n.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item {\n display: flex;\n}\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: 0.5rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n color: #6c757d;\n content: \"/\";\n}\n\n.breadcrumb-item.active {\n color: #6c757d;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n}\n\n.page-link {\n position: relative;\n display: block;\n color: #0d6efd;\n text-decoration: none;\n background-color: #fff;\n border: 1px solid #dee2e6;\n}\n\n.page-link:hover {\n z-index: 2;\n color: #024dbc;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.page-link:focus {\n z-index: 3;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.page-item:not(:first-child) .page-link {\n margin-left: -1px;\n}\n\n.page-item.active .page-link {\n z-index: 3;\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff;\n border-color: #dee2e6;\n}\n\n.page-link {\n padding: 0.375rem 0.75rem;\n}\n\n.page-item:first-child .page-link {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.5em;\n font-size: 0.75em;\n font-weight: 700;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible {\n padding-right: 4rem;\n}\n\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-primary {\n color: #073984;\n background-color: #cfe2ff;\n border-color: #bbd6fe;\n}\n\n.alert-primary .alert-link {\n color: #042454;\n}\n\n.alert-secondary {\n color: #383d41;\n background-color: #e2e3e5;\n border-color: #d6d8db;\n}\n\n.alert-secondary .alert-link {\n color: #202326;\n}\n\n.alert-success {\n color: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info .alert-link {\n color: #062c33;\n}\n\n.alert-warning {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}\n\n.alert-warning .alert-link {\n color: #533f03;\n}\n\n.alert-danger {\n color: #721c24;\n background-color: #f8d7da;\n border-color: #f5c6cb;\n}\n\n.alert-danger .alert-link {\n color: #491217;\n}\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light .alert-link {\n color: #686868;\n}\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca;\n}\n\n.alert-dark .alert-link {\n color: #040505;\n}\n\n@-webkit-keyframes progress-bar-stripes {\n 0% {\n background-position-x: 1rem;\n }\n}\n\n@keyframes progress-bar-stripes {\n 0% {\n background-position-x: 1rem;\n }\n}\n\n.progress {\n display: flex;\n height: 1rem;\n overflow: hidden;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n background-color: #0d6efd;\n transition: width 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n -webkit-animation: progress-bar-stripes 1s linear infinite;\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n -webkit-animation: none;\n animation: none;\n }\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n\n.list-group-item-action:hover, .list-group-item-action:focus {\n z-index: 1;\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n text-decoration: none;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.list-group-item + .list-group-item {\n border-top-width: 0;\n}\n\n.list-group-item + .list-group-item.active {\n margin-top: -1px;\n border-top-width: 1px;\n}\n\n.list-group-horizontal {\n flex-direction: row;\n}\n\n.list-group-horizontal .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n}\n\n.list-group-horizontal .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n}\n\n.list-group-horizontal .list-group-item.active {\n margin-top: 0;\n}\n\n.list-group-horizontal .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n}\n\n.list-group-horizontal .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n}\n\n@media (min-width: 576px) {\n .list-group-horizontal-sm {\n flex-direction: row;\n }\n .list-group-horizontal-sm .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-sm .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-sm .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-sm .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-sm .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 768px) {\n .list-group-horizontal-md {\n flex-direction: row;\n }\n .list-group-horizontal-md .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-md .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-md .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-md .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-md .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 992px) {\n .list-group-horizontal-lg {\n flex-direction: row;\n }\n .list-group-horizontal-lg .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-lg .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-lg .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-lg .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-lg .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 1200px) {\n .list-group-horizontal-xl {\n flex-direction: row;\n }\n .list-group-horizontal-xl .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xl .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xl .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xl .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-xl .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n.list-group-flush .list-group-item {\n border-right-width: 0;\n border-left-width: 0;\n border-radius: 0;\n}\n\n.list-group-flush .list-group-item:first-child {\n border-top-width: 0;\n}\n\n.list-group-flush:last-child .list-group-item:last-child {\n border-bottom-width: 0;\n}\n\n.list-group-item-primary {\n color: #073984;\n background-color: #bbd6fe;\n}\n\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #073984;\n background-color: #a2c7fe;\n}\n\n.list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #073984;\n border-color: #073984;\n}\n\n.list-group-item-secondary {\n color: #383d41;\n background-color: #d6d8db;\n}\n\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #383d41;\n background-color: #c8cbcf;\n}\n\n.list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #383d41;\n border-color: #383d41;\n}\n\n.list-group-item-success {\n color: #155724;\n background-color: #c3e6cb;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #155724;\n background-color: #b1dfbb;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #0c5460;\n background-color: #abdde5;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\n}\n\n.list-group-item-warning {\n color: #856404;\n background-color: #ffeeba;\n}\n\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #856404;\n background-color: #ffe8a1;\n}\n\n.list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #856404;\n border-color: #856404;\n}\n\n.list-group-item-danger {\n color: #721c24;\n background-color: #f5c6cb;\n}\n\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #721c24;\n background-color: #f1b0b7;\n}\n\n.list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #721c24;\n border-color: #721c24;\n}\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe;\n}\n\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #818182;\n background-color: #ececf6;\n}\n\n.list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182;\n}\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca;\n}\n\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #1b1e21;\n background-color: #b9bbbe;\n}\n\n.list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21;\n}\n\n.close {\n font-size: calc(1.275rem + 0.3vw);\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n@media (min-width: 1200px) {\n .close {\n font-size: 1.5rem;\n }\n}\n\n.close:hover {\n color: #000;\n text-decoration: none;\n}\n\n.close:hover, .close:focus {\n opacity: .75;\n}\n\n.close:disabled, .close.disabled {\n pointer-events: none;\n}\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n\n.toast {\n max-width: 350px;\n overflow: hidden;\n font-size: 0.875rem;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n -webkit-backdrop-filter: blur(10px);\n backdrop-filter: blur(10px);\n opacity: 0;\n border-radius: 0.25rem;\n}\n\n.toast:not(:last-child) {\n margin-bottom: 0.75rem;\n}\n\n.toast.showing {\n opacity: 1;\n}\n\n.toast.show {\n display: block;\n opacity: 1;\n}\n\n.toast.hide {\n display: none;\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: 0.25rem 0.75rem;\n color: #6c757d;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n}\n\n.toast-body {\n padding: 0.75rem;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1050;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n outline: 0;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -50px);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n\n.modal.show .modal-dialog {\n transform: none;\n}\n\n.modal.modal-static .modal-dialog {\n transform: scale(1.02);\n}\n\n.modal-dialog-scrollable {\n max-height: calc(100% - 1rem);\n}\n\n.modal-dialog-scrollable .modal-content {\n overflow: hidden;\n}\n\n.modal-dialog-scrollable .modal-header,\n.modal-dialog-scrollable .modal-footer {\n flex-shrink: 0;\n}\n\n.modal-dialog-scrollable .modal-body {\n overflow-y: auto;\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - 1rem);\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1040;\n width: 100vw;\n height: 100vh;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n padding: 1rem 1rem;\n border-bottom: 1px solid #dee2e6;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.modal-header .close {\n padding: 1rem 1rem;\n margin: -1rem -1rem -1rem auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 1rem;\n}\n\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: flex-end;\n padding: 0.75rem;\n border-top: 1px solid #dee2e6;\n border-bottom-right-radius: calc(0.3rem - 1px);\n border-bottom-left-radius: calc(0.3rem - 1px);\n}\n\n.modal-footer > * {\n margin: 0.25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto;\n }\n .modal-dialog-scrollable {\n max-height: calc(100% - 3.5rem);\n }\n .modal-dialog-centered {\n min-height: calc(100% - 3.5rem);\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg,\n .modal-xl {\n max-width: 800px;\n }\n}\n\n@media (min-width: 1200px) {\n .modal-xl {\n max-width: 1140px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .tooltip-arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n\n.tooltip .tooltip-arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"top\"] .tooltip-arrow {\n bottom: 0;\n}\n\n.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .tooltip-arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000;\n}\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-right .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"right\"] .tooltip-arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-right .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .tooltip-arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .tooltip-arrow {\n top: 0;\n}\n\n.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .tooltip-arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000;\n}\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-left .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"left\"] .tooltip-arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-left .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .tooltip-arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .popover-arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem;\n}\n\n.popover .popover-arrow::before, .popover .popover-arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem;\n}\n\n.bs-popover-top > .popover-arrow, .bs-popover-auto[x-placement^=\"top\"] > .popover-arrow {\n bottom: calc(-0.5rem - 1px);\n}\n\n.bs-popover-top > .popover-arrow::before, .bs-popover-auto[x-placement^=\"top\"] > .popover-arrow::before {\n bottom: 0;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-top > .popover-arrow::after, .bs-popover-auto[x-placement^=\"top\"] > .popover-arrow::after {\n bottom: 1px;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: #fff;\n}\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem;\n}\n\n.bs-popover-right > .popover-arrow, .bs-popover-auto[x-placement^=\"right\"] > .popover-arrow {\n left: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-right > .popover-arrow::before, .bs-popover-auto[x-placement^=\"right\"] > .popover-arrow::before {\n left: 0;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-right > .popover-arrow::after, .bs-popover-auto[x-placement^=\"right\"] > .popover-arrow::after {\n left: 1px;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: #fff;\n}\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem;\n}\n\n.bs-popover-bottom > .popover-arrow, .bs-popover-auto[x-placement^=\"bottom\"] > .popover-arrow {\n top: calc(-0.5rem - 1px);\n}\n\n.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] > .popover-arrow::before {\n top: 0;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] > .popover-arrow::after {\n top: 1px;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: #fff;\n}\n\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem;\n}\n\n.bs-popover-left > .popover-arrow, .bs-popover-auto[x-placement^=\"left\"] > .popover-arrow {\n right: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-left > .popover-arrow::before, .bs-popover-auto[x-placement^=\"left\"] > .popover-arrow::before {\n right: 0;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-left > .popover-arrow::after, .bs-popover-auto[x-placement^=\"left\"] > .popover-arrow::after {\n right: 1px;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 0.5rem 0.75rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-inner::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n transition: transform 0.6s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n}\n\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n}\n\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n transition: opacity 0s 0.6s;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-left,\n .carousel-fade .active.carousel-item-right {\n transition: none;\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n transition: opacity 0.15s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n transition: none;\n }\n}\n\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: 0.9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background-repeat: no-repeat;\n background-position: 50%;\n background-size: 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #fff;\n background-clip: padding-box;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n opacity: 0.5;\n transition: opacity 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-indicators li {\n transition: none;\n }\n}\n\n.carousel-indicators .active {\n opacity: 1;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 1.25rem;\n left: 15%;\n padding-top: 1.25rem;\n padding-bottom: 1.25rem;\n color: #fff;\n text-align: center;\n}\n\n@-webkit-keyframes spinner-border {\n to {\n transform: rotate(360deg);\n }\n}\n\n@keyframes spinner-border {\n to {\n transform: rotate(360deg);\n }\n}\n\n.spinner-border {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n border: 0.25em solid currentColor;\n border-right-color: transparent;\n border-radius: 50%;\n -webkit-animation: spinner-border 0.75s linear infinite;\n animation: spinner-border 0.75s linear infinite;\n}\n\n.spinner-border-sm {\n width: 1rem;\n height: 1rem;\n border-width: 0.2em;\n}\n\n@-webkit-keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n }\n}\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n background-color: currentColor;\n border-radius: 50%;\n opacity: 0;\n -webkit-animation: spinner-grow 0.75s linear infinite;\n animation: spinner-grow 0.75s linear infinite;\n}\n\n.spinner-grow-sm {\n width: 1rem;\n height: 1rem;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.link-primary {\n color: #0d6efd;\n}\n\n.link-primary:hover, .link-primary:focus {\n color: #024dbc;\n}\n\n.link-secondary {\n color: #6c757d;\n}\n\n.link-secondary:hover, .link-secondary:focus {\n color: #494f54;\n}\n\n.link-success {\n color: #28a745;\n}\n\n.link-success:hover, .link-success:focus {\n color: #19692c;\n}\n\n.link-info {\n color: #17a2b8;\n}\n\n.link-info:hover, .link-info:focus {\n color: #0f6674;\n}\n\n.link-warning {\n color: #ffc107;\n}\n\n.link-warning:hover, .link-warning:focus {\n color: #ba8b00;\n}\n\n.link-danger {\n color: #dc3545;\n}\n\n.link-danger:hover, .link-danger:focus {\n color: #a71d2a;\n}\n\n.link-light {\n color: #f8f9fa;\n}\n\n.link-light:hover, .link-light:focus {\n color: #cbd3da;\n}\n\n.link-dark {\n color: #343a40;\n}\n\n.link-dark:hover, .link-dark:focus {\n color: #121416;\n}\n\n.embed-responsive {\n position: relative;\n width: 100%;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n@supports ((position: -webkit-sticky) or (position: sticky)) {\n .sticky-top {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n @media (min-width: 576px) {\n .sticky-sm-top {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n }\n @media (min-width: 768px) {\n .sticky-md-top {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n }\n @media (min-width: 992px) {\n .sticky-lg-top {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n }\n @media (min-width: 1200px) {\n .sticky-xl-top {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n }\n}\n\n.sr-only,\n.sr-only-focusable:not(:focus) {\n position: absolute !important;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important;\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n}\n\n.stretched-link::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n content: \"\";\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: -webkit-sticky !important;\n position: sticky !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #0d6efd !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mr-3 {\n margin-right: 1rem !important;\n}\n\n.mr-4 {\n margin-right: 1.5rem !important;\n}\n\n.mr-5 {\n margin-right: 3rem !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.ml-3 {\n margin-left: 1rem !important;\n}\n\n.ml-4 {\n margin-left: 1.5rem !important;\n}\n\n.ml-5 {\n margin-left: 3rem !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mx-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n}\n\n.mx-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n}\n\n.mx-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n}\n\n.mx-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n}\n\n.mx-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n}\n\n.my-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n}\n\n.my-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n}\n\n.my-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n}\n\n.my-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n}\n\n.my-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n}\n\n.mt-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mt-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mt-n3 {\n margin-top: -1rem !important;\n}\n\n.mt-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mt-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mr-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mr-n3 {\n margin-right: -1rem !important;\n}\n\n.mr-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mr-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.mb-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.mb-n3 {\n margin-bottom: -1rem !important;\n}\n\n.mb-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.mb-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n1 {\n margin-left: -0.25rem !important;\n}\n\n.ml-n2 {\n margin-left: -0.5rem !important;\n}\n\n.ml-n3 {\n margin-left: -1rem !important;\n}\n\n.ml-n4 {\n margin-left: -1.5rem !important;\n}\n\n.ml-n5 {\n margin-left: -3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pr-3 {\n padding-right: 1rem !important;\n}\n\n.pr-4 {\n padding-right: 1.5rem !important;\n}\n\n.pr-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.pl-3 {\n padding-left: 1rem !important;\n}\n\n.pl-4 {\n padding-left: 1.5rem !important;\n}\n\n.pl-5 {\n padding-left: 3rem !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-lighter {\n font-weight: lighter !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-weight-bolder {\n font-weight: bolder !important;\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n.text-primary {\n color: #0d6efd !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\n.text-success {\n color: #28a745 !important;\n}\n\n.text-info {\n color: #17a2b8 !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-reset {\n color: inherit !important;\n}\n\n.lh-1 {\n line-height: 1 !important;\n}\n\n.lh-sm {\n line-height: 1.25 !important;\n}\n\n.lh-base {\n line-height: 1.5 !important;\n}\n\n.lh-lg {\n line-height: 2 !important;\n}\n\n.bg-primary {\n background-color: #0d6efd !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\n.bg-success {\n background-color: #28a745 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\n.bg-body {\n background-color: #fff !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.text-decoration-underline {\n text-decoration: underline !important;\n}\n\n.text-decoration-line-through {\n text-decoration: line-through !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.font-normal {\n font-style: normal !important;\n}\n\n.text-break {\n word-wrap: break-word !important;\n}\n\n.font-monospace {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !important;\n}\n\n.user-select-all {\n -webkit-user-select: all !important;\n -moz-user-select: all !important;\n -ms-user-select: all !important;\n user-select: all !important;\n}\n\n.user-select-auto {\n -webkit-user-select: auto !important;\n -moz-user-select: auto !important;\n -ms-user-select: auto !important;\n user-select: auto !important;\n}\n\n.user-select-none {\n -webkit-user-select: none !important;\n -moz-user-select: none !important;\n -ms-user-select: none !important;\n user-select: none !important;\n}\n\n.pe-none {\n pointer-events: none !important;\n}\n\n.pe-auto {\n pointer-events: auto !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-sm {\n border-radius: 0.2rem !important;\n}\n\n.rounded-lg {\n border-radius: 0.3rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: 50rem !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-bottom-left-radius: 0.25rem !important;\n border-top-left-radius: 0.25rem !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-0 {\n margin-right: 0 !important;\n }\n .mr-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mr-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mr-sm-3 {\n margin-right: 1rem !important;\n }\n .mr-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mr-sm-5 {\n margin-right: 3rem !important;\n }\n .mr-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-0 {\n margin-left: 0 !important;\n }\n .ml-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ml-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ml-sm-3 {\n margin-left: 1rem !important;\n }\n .ml-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ml-sm-5 {\n margin-left: 3rem !important;\n }\n .ml-sm-auto {\n margin-left: auto !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-sm-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-sm-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-sm-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-sm-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-sm-n3 {\n margin-top: -1rem !important;\n }\n .mt-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-sm-n3 {\n margin-right: -1rem !important;\n }\n .mr-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-sm-n3 {\n margin-left: -1rem !important;\n }\n .ml-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-sm-n5 {\n margin-left: -3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-0 {\n padding-right: 0 !important;\n }\n .pr-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pr-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pr-sm-3 {\n padding-right: 1rem !important;\n }\n .pr-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pr-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-0 {\n padding-left: 0 !important;\n }\n .pl-sm-1 {\n padding-left: 0.25rem !important;\n }\n .pl-sm-2 {\n padding-left: 0.5rem !important;\n }\n .pl-sm-3 {\n padding-left: 1rem !important;\n }\n .pl-sm-4 {\n padding-left: 1.5rem !important;\n }\n .pl-sm-5 {\n padding-left: 3rem !important;\n }\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .mr-md-0 {\n margin-right: 0 !important;\n }\n .mr-md-1 {\n margin-right: 0.25rem !important;\n }\n .mr-md-2 {\n margin-right: 0.5rem !important;\n }\n .mr-md-3 {\n margin-right: 1rem !important;\n }\n .mr-md-4 {\n margin-right: 1.5rem !important;\n }\n .mr-md-5 {\n margin-right: 3rem !important;\n }\n .mr-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-0 {\n margin-left: 0 !important;\n }\n .ml-md-1 {\n margin-left: 0.25rem !important;\n }\n .ml-md-2 {\n margin-left: 0.5rem !important;\n }\n .ml-md-3 {\n margin-left: 1rem !important;\n }\n .ml-md-4 {\n margin-left: 1.5rem !important;\n }\n .ml-md-5 {\n margin-left: 3rem !important;\n }\n .ml-md-auto {\n margin-left: auto !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-md-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-md-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-md-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-md-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-md-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-md-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-md-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-md-n3 {\n margin-top: -1rem !important;\n }\n .mt-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-md-n3 {\n margin-right: -1rem !important;\n }\n .mr-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-md-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-md-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-md-n3 {\n margin-left: -1rem !important;\n }\n .ml-md-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-md-n5 {\n margin-left: -3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-0 {\n padding-right: 0 !important;\n }\n .pr-md-1 {\n padding-right: 0.25rem !important;\n }\n .pr-md-2 {\n padding-right: 0.5rem !important;\n }\n .pr-md-3 {\n padding-right: 1rem !important;\n }\n .pr-md-4 {\n padding-right: 1.5rem !important;\n }\n .pr-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-0 {\n padding-left: 0 !important;\n }\n .pl-md-1 {\n padding-left: 0.25rem !important;\n }\n .pl-md-2 {\n padding-left: 0.5rem !important;\n }\n .pl-md-3 {\n padding-left: 1rem !important;\n }\n .pl-md-4 {\n padding-left: 1.5rem !important;\n }\n .pl-md-5 {\n padding-left: 3rem !important;\n }\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-0 {\n margin-right: 0 !important;\n }\n .mr-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mr-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mr-lg-3 {\n margin-right: 1rem !important;\n }\n .mr-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mr-lg-5 {\n margin-right: 3rem !important;\n }\n .mr-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-0 {\n margin-left: 0 !important;\n }\n .ml-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ml-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ml-lg-3 {\n margin-left: 1rem !important;\n }\n .ml-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ml-lg-5 {\n margin-left: 3rem !important;\n }\n .ml-lg-auto {\n margin-left: auto !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-lg-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-lg-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-lg-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-lg-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-lg-n3 {\n margin-top: -1rem !important;\n }\n .mt-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-lg-n3 {\n margin-right: -1rem !important;\n }\n .mr-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-lg-n3 {\n margin-left: -1rem !important;\n }\n .ml-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-lg-n5 {\n margin-left: -3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-0 {\n padding-right: 0 !important;\n }\n .pr-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pr-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pr-lg-3 {\n padding-right: 1rem !important;\n }\n .pr-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pr-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-0 {\n padding-left: 0 !important;\n }\n .pl-lg-1 {\n padding-left: 0.25rem !important;\n }\n .pl-lg-2 {\n padding-left: 0.5rem !important;\n }\n .pl-lg-3 {\n padding-left: 1rem !important;\n }\n .pl-lg-4 {\n padding-left: 1.5rem !important;\n }\n .pl-lg-5 {\n padding-left: 3rem !important;\n }\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-0 {\n margin-right: 0 !important;\n }\n .mr-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mr-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mr-xl-3 {\n margin-right: 1rem !important;\n }\n .mr-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mr-xl-5 {\n margin-right: 3rem !important;\n }\n .mr-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-0 {\n margin-left: 0 !important;\n }\n .ml-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ml-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ml-xl-3 {\n margin-left: 1rem !important;\n }\n .ml-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ml-xl-5 {\n margin-left: 3rem !important;\n }\n .ml-xl-auto {\n margin-left: auto !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-xl-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-xl-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-xl-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-xl-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-xl-n3 {\n margin-top: -1rem !important;\n }\n .mt-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-xl-n3 {\n margin-right: -1rem !important;\n }\n .mr-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-xl-n3 {\n margin-left: -1rem !important;\n }\n .ml-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-xl-n5 {\n margin-left: -3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-0 {\n padding-right: 0 !important;\n }\n .pr-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pr-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pr-xl-3 {\n padding-right: 1rem !important;\n }\n .pr-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pr-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-0 {\n padding-left: 0 !important;\n }\n .pl-xl-1 {\n padding-left: 0.25rem !important;\n }\n .pl-xl-2 {\n padding-left: 0.5rem !important;\n }\n .pl-xl-3 {\n padding-left: 1rem !important;\n }\n .pl-xl-4 {\n padding-left: 1.5rem !important;\n }\n .pl-xl-5 {\n padding-left: 3rem !important;\n }\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n/*# sourceMappingURL=bootstrap.css.map */","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated responsive values for font sizes, paddings, margins and much more\n//\n// Licensed under MIT (https://github.com/twbs/rfs/blob/master/LICENSE)\n\n// Configuration\n\n// Base value\n$rfs-base-value: 1.25rem !default;\n$rfs-unit: rem !default;\n\n@if $rfs-unit != rem and $rfs-unit != px {\n @error \"`#{$rfs-unit}` is not a valid unit for $rfs-unit. Use `px` or `rem`.\";\n}\n\n// Breakpoint at where values start decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n}\n\n// Resize values based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != number or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Mode. Possibilities: \"min-media-query\", \"max-media-query\"\n$rfs-mode: min-media-query !default;\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-rfs to false\n$enable-rfs: true !default;\n\n// Cache $rfs-base-value unit\n$rfs-base-value-unit: unit($rfs-base-value);\n\n// Remove px-unit from $rfs-base-value for calculations\n@if $rfs-base-value-unit == px {\n $rfs-base-value: $rfs-base-value / ($rfs-base-value * 0 + 1);\n}\n@else if $rfs-base-value-unit == rem {\n $rfs-base-value: $rfs-base-value / ($rfs-base-value * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == px {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == rem or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Calculate the media query value\n$rfs-mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit});\n$rfs-mq-property-width: if($rfs-mode == max-media-query, max-width, min-width);\n$rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height);\n\n// Internal mixin used to determine which media query needs to be used\n@mixin _rfs-media-query {\n @if $rfs-two-dimensional {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}), (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n @content;\n }\n }\n @else {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) {\n @content;\n }\n }\n}\n\n// Internal mixin that adds disable classes to the selector if needed.\n@mixin _rfs-rule {\n @if $rfs-class == disable and $rfs-mode == max-media-query {\n // Adding an extra class increases specificity, which prevents the media query to override the property\n &,\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @else if $rfs-class == enable and $rfs-mode == min-media-query {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n// Internal mixin that adds enable classes to the selector if needed.\n@mixin _rfs-media-query-rule {\n\n @if $rfs-class == enable {\n @if $rfs-mode == min-media-query {\n @content;\n }\n\n @include _rfs-media-query {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n }\n }\n @else {\n @if $rfs-class == disable and $rfs-mode == min-media-query {\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @include _rfs-media-query {\n @content;\n }\n }\n}\n\n// Helper function to get the formatted non-responsive value\n@function rfs-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: '';\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + ' 0';\n }\n @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n @if $unit == px {\n // Convert to rem if needed\n $val: $val + ' ' + if($rfs-unit == rem, #{$value / ($value * 0 + $rfs-rem-value)}rem, $value);\n }\n @else if $unit == rem {\n // Convert to px if needed\n $val: $val + ' ' + if($rfs-unit == px, #{$value / ($value * 0 + 1) * $rfs-rem-value}px, $value);\n }\n @else {\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n $val: $val + ' ' + $value;\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// Helper function to get the responsive value calculated by RFS\n@function rfs-fluid-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: '';\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + ' 0';\n }\n\n @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $unit or $unit != px and $unit != rem {\n $val: $val + ' ' + $value;\n }\n\n @else {\n // Remove unit from $value for calculations\n $value: $value / ($value * 0 + if($unit == px, 1, 1 / $rfs-rem-value));\n\n // Only add the media query if the value is greater than the minimum value\n @if abs($value) <= $rfs-base-value or not $enable-rfs {\n $val: $val + ' ' + if($rfs-unit == rem, #{$value / $rfs-rem-value}rem, #{$value}px);\n }\n @else {\n // Calculate the minimum value\n $value-min: $rfs-base-value + (abs($value) - $rfs-base-value) / $rfs-factor;\n\n // Calculate difference between $value and the minimum value\n $value-diff: abs($value) - $value-min;\n\n // Base value formatting\n $min-width: if($rfs-unit == rem, #{$value-min / $rfs-rem-value}rem, #{$value-min}px);\n\n // Use negative value if needed\n $min-width: if($value < 0, -$min-width, $min-width);\n\n // Use `vmin` if two-dimensional is enabled\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$value-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Return the calculated value\n $val: $val + ' calc(' + $min-width + if($value < 0, ' - ', ' + ') + $variable-width + ')';\n }\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// RFS mixin\n@mixin rfs($values, $property: font-size) {\n @if $values != null {\n $val: rfs-value($values);\n $fluidVal: rfs-fluid-value($values);\n\n // Do not print the media query if responsive & non-responsive values are the same\n @if $val == $fluidVal {\n #{$property}: $val;\n }\n @else {\n @include _rfs-rule {\n #{$property}: if($rfs-mode == max-media-query, $val, $fluidVal);\n\n // Include safari iframe resize fix if needed\n min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null);\n }\n\n @include _rfs-media-query-rule {\n #{$property}: if($rfs-mode == max-media-query, $fluidVal, $val);\n }\n }\n }\n}\n\n// Shorthand helper mixins\n@mixin font-size($value) {\n @include rfs($value);\n}\n\n@mixin padding($value) {\n @include rfs($value, padding);\n}\n\n@mixin padding-top($value) {\n @include rfs($value, padding-top);\n}\n\n@mixin padding-right($value) {\n @include rfs($value, padding-right);\n}\n\n@mixin padding-bottom($value) {\n @include rfs($value, padding-bottom);\n}\n\n@mixin padding-left($value) {\n @include rfs($value, padding-left);\n}\n\n@mixin margin($value) {\n @include rfs($value, margin);\n}\n\n@mixin margin-top($value) {\n @include rfs($value, margin-top);\n}\n\n@mixin margin-right($value) {\n @include rfs($value, margin-right);\n}\n\n@mixin margin-bottom($value) {\n @include rfs($value, margin-bottom);\n}\n\n@mixin margin-left($value) {\n @include rfs($value, margin-left);\n}\n","/*!\n * Bootstrap v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n:root {\n --blue: #0d6efd;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #d63384;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #fff;\n --gray: #6c757d;\n --gray-dark: #343a40;\n --primary: #0d6efd;\n --secondary: #6c757d;\n --success: #28a745;\n --info: #17a2b8;\n --warning: #ffc107;\n --danger: #dc3545;\n --light: #f8f9fa;\n --dark: #343a40;\n --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n background-color: #fff;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n margin: 1rem 0;\n color: inherit;\n background-color: currentColor;\n border: 0;\n opacity: 0.25;\n}\n\nhr:not([size]) {\n height: 1px;\n}\n\nh1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1, .h1 {\n font-size: calc(1.375rem + 1.5vw);\n}\n\n@media (min-width: 1200px) {\n h1, .h1 {\n font-size: 2.5rem;\n }\n}\n\nh2, .h2 {\n font-size: calc(1.325rem + 0.9vw);\n}\n\n@media (min-width: 1200px) {\n h2, .h2 {\n font-size: 2rem;\n }\n}\n\nh3, .h3 {\n font-size: calc(1.3rem + 0.6vw);\n}\n\n@media (min-width: 1200px) {\n h3, .h3 {\n font-size: 1.75rem;\n }\n}\n\nh4, .h4 {\n font-size: calc(1.275rem + 0.3vw);\n}\n\n@media (min-width: 1200px) {\n h4, .h4 {\n font-size: 1.5rem;\n }\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall, .small {\n font-size: 0.875em;\n}\n\nmark, .mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 0.75em;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #0d6efd;\n text-decoration: underline;\n}\n\na:hover {\n color: #024dbc;\n}\n\na:not([href]), a:not([href]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: 0.875em;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\ncode {\n font-size: 0.875em;\n color: #d63384;\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 0.875em;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 1em;\n font-weight: 700;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: #6c757d;\n text-align: left;\n}\n\nth {\n text-align: inherit;\n text-align: -webkit-match-parent;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nselect {\n word-wrap: normal;\n}\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: textfield;\n}\n\ntextarea {\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n float: left;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: calc(1.275rem + 0.3vw);\n line-height: inherit;\n white-space: normal;\n}\n\n@media (min-width: 1200px) {\n legend {\n font-size: 1.5rem;\n }\n}\n\nlegend + * {\n clear: left;\n}\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: textfield;\n}\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[hidden] {\n display: none !important;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: calc(1.725rem + 5.7vw);\n font-weight: 300;\n line-height: 1.2;\n}\n\n@media (min-width: 1200px) {\n .display-1 {\n font-size: 6rem;\n }\n}\n\n.display-2 {\n font-size: calc(1.675rem + 5.1vw);\n font-weight: 300;\n line-height: 1.2;\n}\n\n@media (min-width: 1200px) {\n .display-2 {\n font-size: 5.5rem;\n }\n}\n\n.display-3 {\n font-size: calc(1.575rem + 3.9vw);\n font-weight: 300;\n line-height: 1.2;\n}\n\n@media (min-width: 1200px) {\n .display-3 {\n font-size: 4.5rem;\n }\n}\n\n.display-4 {\n font-size: calc(1.475rem + 2.7vw);\n font-weight: 300;\n line-height: 1.2;\n}\n\n@media (min-width: 1200px) {\n .display-4 {\n font-size: 3.5rem;\n }\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 0.875em;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 0.875em;\n color: #6c757d;\n}\n\n.blockquote-footer::before {\n content: \"\\2014\\00A0\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 0.875em;\n color: #6c757d;\n}\n\n.container {\n width: 100%;\n padding-right: 1rem;\n padding-left: 1rem;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid, .container-sm, .container-md, .container-lg, .container-xl {\n width: 100%;\n padding-right: 1rem;\n padding-left: 1rem;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -0.75rem;\n margin-left: -0.75rem;\n}\n\n.row > * {\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.g-0,\n.gx-0 {\n margin-right: 0;\n margin-left: 0;\n}\n\n.g-0 > *,\n.gx-0 > * {\n padding-right: 0;\n padding-left: 0;\n}\n\n.g-0,\n.gy-0 {\n margin-top: 0;\n}\n\n.g-0 > *,\n.gy-0 > * {\n margin-top: 0;\n}\n\n.g-1,\n.gx-1 {\n margin-right: -0.125rem;\n margin-left: -0.125rem;\n}\n\n.g-1 > *,\n.gx-1 > * {\n padding-right: 0.125rem;\n padding-left: 0.125rem;\n}\n\n.g-1,\n.gy-1 {\n margin-top: -0.25rem;\n}\n\n.g-1 > *,\n.gy-1 > * {\n margin-top: 0.25rem;\n}\n\n.g-2,\n.gx-2 {\n margin-right: -0.25rem;\n margin-left: -0.25rem;\n}\n\n.g-2 > *,\n.gx-2 > * {\n padding-right: 0.25rem;\n padding-left: 0.25rem;\n}\n\n.g-2,\n.gy-2 {\n margin-top: -0.5rem;\n}\n\n.g-2 > *,\n.gy-2 > * {\n margin-top: 0.5rem;\n}\n\n.g-3,\n.gx-3 {\n margin-right: -0.5rem;\n margin-left: -0.5rem;\n}\n\n.g-3 > *,\n.gx-3 > * {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.g-3,\n.gy-3 {\n margin-top: -1rem;\n}\n\n.g-3 > *,\n.gy-3 > * {\n margin-top: 1rem;\n}\n\n.g-4,\n.gx-4 {\n margin-right: -0.75rem;\n margin-left: -0.75rem;\n}\n\n.g-4 > *,\n.gx-4 > * {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.g-4,\n.gy-4 {\n margin-top: -1.5rem;\n}\n\n.g-4 > *,\n.gy-4 > * {\n margin-top: 1.5rem;\n}\n\n.g-5,\n.gx-5 {\n margin-right: -1.5rem;\n margin-left: -1.5rem;\n}\n\n.g-5 > *,\n.gx-5 > * {\n padding-right: 1.5rem;\n padding-left: 1.5rem;\n}\n\n.g-5,\n.gy-5 {\n margin-top: -3rem;\n}\n\n.g-5 > *,\n.gy-5 > * {\n margin-top: 3rem;\n}\n\n@media (min-width: 576px) {\n .g-sm-0,\n .gx-sm-0 {\n margin-right: 0;\n margin-left: 0;\n }\n .g-sm-0 > *,\n .gx-sm-0 > * {\n padding-right: 0;\n padding-left: 0;\n }\n .g-sm-0,\n .gy-sm-0 {\n margin-top: 0;\n }\n .g-sm-0 > *,\n .gy-sm-0 > * {\n margin-top: 0;\n }\n .g-sm-1,\n .gx-sm-1 {\n margin-right: -0.125rem;\n margin-left: -0.125rem;\n }\n .g-sm-1 > *,\n .gx-sm-1 > * {\n padding-right: 0.125rem;\n padding-left: 0.125rem;\n }\n .g-sm-1,\n .gy-sm-1 {\n margin-top: -0.25rem;\n }\n .g-sm-1 > *,\n .gy-sm-1 > * {\n margin-top: 0.25rem;\n }\n .g-sm-2,\n .gx-sm-2 {\n margin-right: -0.25rem;\n margin-left: -0.25rem;\n }\n .g-sm-2 > *,\n .gx-sm-2 > * {\n padding-right: 0.25rem;\n padding-left: 0.25rem;\n }\n .g-sm-2,\n .gy-sm-2 {\n margin-top: -0.5rem;\n }\n .g-sm-2 > *,\n .gy-sm-2 > * {\n margin-top: 0.5rem;\n }\n .g-sm-3,\n .gx-sm-3 {\n margin-right: -0.5rem;\n margin-left: -0.5rem;\n }\n .g-sm-3 > *,\n .gx-sm-3 > * {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .g-sm-3,\n .gy-sm-3 {\n margin-top: -1rem;\n }\n .g-sm-3 > *,\n .gy-sm-3 > * {\n margin-top: 1rem;\n }\n .g-sm-4,\n .gx-sm-4 {\n margin-right: -0.75rem;\n margin-left: -0.75rem;\n }\n .g-sm-4 > *,\n .gx-sm-4 > * {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n }\n .g-sm-4,\n .gy-sm-4 {\n margin-top: -1.5rem;\n }\n .g-sm-4 > *,\n .gy-sm-4 > * {\n margin-top: 1.5rem;\n }\n .g-sm-5,\n .gx-sm-5 {\n margin-right: -1.5rem;\n margin-left: -1.5rem;\n }\n .g-sm-5 > *,\n .gx-sm-5 > * {\n padding-right: 1.5rem;\n padding-left: 1.5rem;\n }\n .g-sm-5,\n .gy-sm-5 {\n margin-top: -3rem;\n }\n .g-sm-5 > *,\n .gy-sm-5 > * {\n margin-top: 3rem;\n }\n}\n\n@media (min-width: 768px) {\n .g-md-0,\n .gx-md-0 {\n margin-right: 0;\n margin-left: 0;\n }\n .g-md-0 > *,\n .gx-md-0 > * {\n padding-right: 0;\n padding-left: 0;\n }\n .g-md-0,\n .gy-md-0 {\n margin-top: 0;\n }\n .g-md-0 > *,\n .gy-md-0 > * {\n margin-top: 0;\n }\n .g-md-1,\n .gx-md-1 {\n margin-right: -0.125rem;\n margin-left: -0.125rem;\n }\n .g-md-1 > *,\n .gx-md-1 > * {\n padding-right: 0.125rem;\n padding-left: 0.125rem;\n }\n .g-md-1,\n .gy-md-1 {\n margin-top: -0.25rem;\n }\n .g-md-1 > *,\n .gy-md-1 > * {\n margin-top: 0.25rem;\n }\n .g-md-2,\n .gx-md-2 {\n margin-right: -0.25rem;\n margin-left: -0.25rem;\n }\n .g-md-2 > *,\n .gx-md-2 > * {\n padding-right: 0.25rem;\n padding-left: 0.25rem;\n }\n .g-md-2,\n .gy-md-2 {\n margin-top: -0.5rem;\n }\n .g-md-2 > *,\n .gy-md-2 > * {\n margin-top: 0.5rem;\n }\n .g-md-3,\n .gx-md-3 {\n margin-right: -0.5rem;\n margin-left: -0.5rem;\n }\n .g-md-3 > *,\n .gx-md-3 > * {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .g-md-3,\n .gy-md-3 {\n margin-top: -1rem;\n }\n .g-md-3 > *,\n .gy-md-3 > * {\n margin-top: 1rem;\n }\n .g-md-4,\n .gx-md-4 {\n margin-right: -0.75rem;\n margin-left: -0.75rem;\n }\n .g-md-4 > *,\n .gx-md-4 > * {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n }\n .g-md-4,\n .gy-md-4 {\n margin-top: -1.5rem;\n }\n .g-md-4 > *,\n .gy-md-4 > * {\n margin-top: 1.5rem;\n }\n .g-md-5,\n .gx-md-5 {\n margin-right: -1.5rem;\n margin-left: -1.5rem;\n }\n .g-md-5 > *,\n .gx-md-5 > * {\n padding-right: 1.5rem;\n padding-left: 1.5rem;\n }\n .g-md-5,\n .gy-md-5 {\n margin-top: -3rem;\n }\n .g-md-5 > *,\n .gy-md-5 > * {\n margin-top: 3rem;\n }\n}\n\n@media (min-width: 992px) {\n .g-lg-0,\n .gx-lg-0 {\n margin-right: 0;\n margin-left: 0;\n }\n .g-lg-0 > *,\n .gx-lg-0 > * {\n padding-right: 0;\n padding-left: 0;\n }\n .g-lg-0,\n .gy-lg-0 {\n margin-top: 0;\n }\n .g-lg-0 > *,\n .gy-lg-0 > * {\n margin-top: 0;\n }\n .g-lg-1,\n .gx-lg-1 {\n margin-right: -0.125rem;\n margin-left: -0.125rem;\n }\n .g-lg-1 > *,\n .gx-lg-1 > * {\n padding-right: 0.125rem;\n padding-left: 0.125rem;\n }\n .g-lg-1,\n .gy-lg-1 {\n margin-top: -0.25rem;\n }\n .g-lg-1 > *,\n .gy-lg-1 > * {\n margin-top: 0.25rem;\n }\n .g-lg-2,\n .gx-lg-2 {\n margin-right: -0.25rem;\n margin-left: -0.25rem;\n }\n .g-lg-2 > *,\n .gx-lg-2 > * {\n padding-right: 0.25rem;\n padding-left: 0.25rem;\n }\n .g-lg-2,\n .gy-lg-2 {\n margin-top: -0.5rem;\n }\n .g-lg-2 > *,\n .gy-lg-2 > * {\n margin-top: 0.5rem;\n }\n .g-lg-3,\n .gx-lg-3 {\n margin-right: -0.5rem;\n margin-left: -0.5rem;\n }\n .g-lg-3 > *,\n .gx-lg-3 > * {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .g-lg-3,\n .gy-lg-3 {\n margin-top: -1rem;\n }\n .g-lg-3 > *,\n .gy-lg-3 > * {\n margin-top: 1rem;\n }\n .g-lg-4,\n .gx-lg-4 {\n margin-right: -0.75rem;\n margin-left: -0.75rem;\n }\n .g-lg-4 > *,\n .gx-lg-4 > * {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n }\n .g-lg-4,\n .gy-lg-4 {\n margin-top: -1.5rem;\n }\n .g-lg-4 > *,\n .gy-lg-4 > * {\n margin-top: 1.5rem;\n }\n .g-lg-5,\n .gx-lg-5 {\n margin-right: -1.5rem;\n margin-left: -1.5rem;\n }\n .g-lg-5 > *,\n .gx-lg-5 > * {\n padding-right: 1.5rem;\n padding-left: 1.5rem;\n }\n .g-lg-5,\n .gy-lg-5 {\n margin-top: -3rem;\n }\n .g-lg-5 > *,\n .gy-lg-5 > * {\n margin-top: 3rem;\n }\n}\n\n@media (min-width: 1200px) {\n .g-xl-0,\n .gx-xl-0 {\n margin-right: 0;\n margin-left: 0;\n }\n .g-xl-0 > *,\n .gx-xl-0 > * {\n padding-right: 0;\n padding-left: 0;\n }\n .g-xl-0,\n .gy-xl-0 {\n margin-top: 0;\n }\n .g-xl-0 > *,\n .gy-xl-0 > * {\n margin-top: 0;\n }\n .g-xl-1,\n .gx-xl-1 {\n margin-right: -0.125rem;\n margin-left: -0.125rem;\n }\n .g-xl-1 > *,\n .gx-xl-1 > * {\n padding-right: 0.125rem;\n padding-left: 0.125rem;\n }\n .g-xl-1,\n .gy-xl-1 {\n margin-top: -0.25rem;\n }\n .g-xl-1 > *,\n .gy-xl-1 > * {\n margin-top: 0.25rem;\n }\n .g-xl-2,\n .gx-xl-2 {\n margin-right: -0.25rem;\n margin-left: -0.25rem;\n }\n .g-xl-2 > *,\n .gx-xl-2 > * {\n padding-right: 0.25rem;\n padding-left: 0.25rem;\n }\n .g-xl-2,\n .gy-xl-2 {\n margin-top: -0.5rem;\n }\n .g-xl-2 > *,\n .gy-xl-2 > * {\n margin-top: 0.5rem;\n }\n .g-xl-3,\n .gx-xl-3 {\n margin-right: -0.5rem;\n margin-left: -0.5rem;\n }\n .g-xl-3 > *,\n .gx-xl-3 > * {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .g-xl-3,\n .gy-xl-3 {\n margin-top: -1rem;\n }\n .g-xl-3 > *,\n .gy-xl-3 > * {\n margin-top: 1rem;\n }\n .g-xl-4,\n .gx-xl-4 {\n margin-right: -0.75rem;\n margin-left: -0.75rem;\n }\n .g-xl-4 > *,\n .gx-xl-4 > * {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n }\n .g-xl-4,\n .gy-xl-4 {\n margin-top: -1.5rem;\n }\n .g-xl-4 > *,\n .gy-xl-4 > * {\n margin-top: 1.5rem;\n }\n .g-xl-5,\n .gx-xl-5 {\n margin-right: -1.5rem;\n margin-left: -1.5rem;\n }\n .g-xl-5 > *,\n .gx-xl-5 > * {\n padding-right: 1.5rem;\n padding-left: 1.5rem;\n }\n .g-xl-5,\n .gy-xl-5 {\n margin-top: -3rem;\n }\n .g-xl-5 > *,\n .gy-xl-5 > * {\n margin-top: 3rem;\n }\n}\n\n.col {\n flex: 1 0 0%;\n min-width: 0;\n}\n\n.row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n}\n\n.row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.col-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.col-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 auto;\n width: 75%;\n}\n\n.col-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex: 1 0 0%;\n min-width: 0;\n }\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex: 1 0 0%;\n min-width: 0;\n }\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex: 1 0 0%;\n min-width: 0;\n }\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex: 1 0 0%;\n min-width: 0;\n }\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n margin-bottom: 1rem;\n color: #212529;\n vertical-align: top;\n}\n\n.table th,\n.table td {\n padding: 0.5rem;\n border-bottom: 1px solid #dee2e6;\n}\n\n.table tbody {\n vertical-align: inherit;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom-color: #495057;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #dee2e6;\n}\n\n.caption-top {\n caption-side: top;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.25rem;\n}\n\n.table-bordered {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-borderless th,\n.table-borderless td,\n.table-borderless thead th,\n.table-borderless tbody + tbody {\n border: 0;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n color: #212529;\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n background-color: #bbd6fe;\n}\n\n.table-primary th,\n.table-primary td,\n.table-primary thead th,\n.table-primary tbody + tbody {\n border-color: #81b4fe;\n}\n\n.table-hover .table-primary:hover {\n background-color: #a2c7fe;\n}\n\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n background-color: #a2c7fe;\n}\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n background-color: #d6d8db;\n}\n\n.table-secondary th,\n.table-secondary td,\n.table-secondary thead th,\n.table-secondary tbody + tbody {\n border-color: #b3b7bb;\n}\n\n.table-hover .table-secondary:hover {\n background-color: #c8cbcf;\n}\n\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n background-color: #c8cbcf;\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #c3e6cb;\n}\n\n.table-success th,\n.table-success td,\n.table-success thead th,\n.table-success tbody + tbody {\n border-color: #8fd19e;\n}\n\n.table-hover .table-success:hover {\n background-color: #b1dfbb;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #b1dfbb;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #bee5eb;\n}\n\n.table-info th,\n.table-info td,\n.table-info thead th,\n.table-info tbody + tbody {\n border-color: #86cfda;\n}\n\n.table-hover .table-info:hover {\n background-color: #abdde5;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #abdde5;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #ffeeba;\n}\n\n.table-warning th,\n.table-warning td,\n.table-warning thead th,\n.table-warning tbody + tbody {\n border-color: #ffdf7e;\n}\n\n.table-hover .table-warning:hover {\n background-color: #ffe8a1;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #ffe8a1;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f5c6cb;\n}\n\n.table-danger th,\n.table-danger td,\n.table-danger thead th,\n.table-danger tbody + tbody {\n border-color: #ed969e;\n}\n\n.table-hover .table-danger:hover {\n background-color: #f1b0b7;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #f1b0b7;\n}\n\n.table-light,\n.table-light > th,\n.table-light > td {\n background-color: #fdfdfe;\n}\n\n.table-light th,\n.table-light td,\n.table-light thead th,\n.table-light tbody + tbody {\n border-color: #fbfcfc;\n}\n\n.table-hover .table-light:hover {\n background-color: #ececf6;\n}\n\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n background-color: #ececf6;\n}\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n background-color: #c6c8ca;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th,\n.table-dark tbody + tbody {\n border-color: #95999c;\n}\n\n.table-hover .table-dark:hover {\n background-color: #b9bbbe;\n}\n\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n background-color: #b9bbbe;\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table .thead-dark th {\n color: #fff;\n background-color: #343a40;\n border-color: #454d55;\n}\n\n.table .thead-light th {\n color: #495057;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.table-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th {\n border-color: #454d55;\n}\n\n.table-dark.table-bordered {\n border: 0;\n}\n\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-dark.table-hover tbody tr:hover {\n color: #fff;\n background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-sm > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 767.98px) {\n .table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-md > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-lg > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-xl > .table-bordered {\n border: 0;\n }\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n.table-responsive > .table-bordered {\n border: 0;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n}\n\n.form-control {\n display: block;\n width: 100%;\n min-height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n\n.form-control:focus {\n color: #495057;\n background-color: #fff;\n border-color: #8bbafe;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-control::placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: 0.375rem 0;\n margin-bottom: 0;\n line-height: 1.5;\n color: #212529;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm {\n min-height: calc(1.5em + 0.5rem + 2px);\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.form-control-lg {\n min-height: calc(1.5em + 1rem + 2px);\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.form-control-color {\n max-width: 3rem;\n padding: 0.375rem;\n}\n\n.form-control-color::-moz-color-swatch {\n border-radius: 0.25rem;\n}\n\n.form-control-color::-webkit-color-swatch {\n border-radius: 0.25rem;\n}\n\n.form-select {\n display: block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n background-color: #fff;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right 0.75rem center;\n background-size: 16px 12px;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n appearance: none;\n}\n\n.form-select:focus {\n border-color: #8bbafe;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-select:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.form-select[multiple], .form-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none;\n}\n\n.form-select:disabled {\n color: #6c757d;\n background-color: #e9ecef;\n}\n\n.form-select:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #495057;\n}\n\n.form-select-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n padding-left: 0.5rem;\n font-size: 0.875rem;\n}\n\n.form-select-lg {\n height: calc(1.5em + 1rem + 2px);\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 1rem;\n font-size: 1.25rem;\n}\n\n.form-check {\n display: block;\n min-height: 1.5rem;\n padding-left: 1.75em;\n margin-bottom: 0.125rem;\n}\n\n.form-check .form-check-input {\n float: left;\n margin-left: -1.75em;\n}\n\n.form-check-input {\n width: 1.25em;\n height: 1.25em;\n margin-top: 0.125em;\n vertical-align: top;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.25);\n appearance: none;\n color-adjust: exact;\n}\n\n.form-check-input[type=\"checkbox\"] {\n border-radius: 0.25em;\n}\n\n.form-check-input[type=\"radio\"] {\n border-radius: 50%;\n}\n\n.form-check-input:active {\n filter: brightness(90%);\n}\n\n.form-check-input:focus {\n border-color: #8bbafe;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-check-input:checked {\n background-color: #0d6efd;\n background-repeat: no-repeat;\n background-position: center center;\n background-size: 1em;\n border-color: #0d6efd;\n}\n\n.form-check-input:checked[type=\"checkbox\"] {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M4 8.5L6.5 11l6-6'/%3e%3c/svg%3e\");\n}\n\n.form-check-input:checked[type=\"radio\"] {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e\");\n}\n\n.form-check-input[type=\"checkbox\"]:indeterminate {\n background-color: #0d6efd;\n background-repeat: no-repeat;\n background-position: center center;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M5 8h6'/%3e%3c/svg%3e\");\n background-size: 1em;\n border-color: #0d6efd;\n}\n\n.form-check-input:disabled {\n pointer-events: none;\n filter: none;\n opacity: .5;\n}\n\n.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {\n opacity: .5;\n}\n\n.form-check-label {\n margin-bottom: 0;\n}\n\n.form-switch {\n padding-left: 2.5em;\n}\n\n.form-switch .form-check-input {\n width: 2em;\n margin-left: -2.5em;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: left center;\n background-size: contain;\n border-radius: 2em;\n color-adjust: exact;\n}\n\n.form-switch .form-check-input:focus {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2380bdff'/%3e%3c/svg%3e\");\n}\n\n.form-switch .form-check-input:checked {\n background-position: right center;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\");\n}\n\n.form-check-inline {\n display: inline-block;\n margin-right: 1rem;\n}\n\n.form-file {\n position: relative;\n height: calc(1.5em + 0.75rem + 2px);\n}\n\n.form-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: 100%;\n margin: 0;\n opacity: 0;\n}\n\n.form-file-input:focus-within ~ .form-file-label {\n border-color: #8bbafe;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-file-input[disabled] ~ .form-file-label .form-file-text,\n.form-file-input:disabled ~ .form-file-label .form-file-text {\n background-color: #e9ecef;\n}\n\n.form-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n display: flex;\n height: 100%;\n border-color: #ced4da;\n border-radius: 0.25rem;\n}\n\n.form-file-text {\n display: block;\n flex-grow: 1;\n padding: 0.375rem 0.75rem;\n overflow: hidden;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-overflow: ellipsis;\n white-space: nowrap;\n background-color: #fff;\n border-color: inherit;\n border-style: solid;\n border-width: 1px;\n border-top-left-radius: inherit;\n border-bottom-left-radius: inherit;\n}\n\n.form-file-button {\n display: block;\n flex-shrink: 0;\n padding: 0.375rem 0.75rem;\n margin-left: -1px;\n line-height: 1.5;\n color: #495057;\n background-color: #e9ecef;\n border-color: inherit;\n border-style: solid;\n border-width: 1px;\n border-top-right-radius: inherit;\n border-bottom-right-radius: inherit;\n}\n\n.form-file-sm {\n height: calc(1.5em + 0.5rem + 2px);\n font-size: 0.875rem;\n}\n\n.form-file-sm .form-file-text,\n.form-file-sm .form-file-button {\n padding: 0.25rem 0.5rem;\n}\n\n.form-file-lg {\n height: calc(1.5em + 1rem + 2px);\n font-size: 1.25rem;\n}\n\n.form-file-lg .form-file-text,\n.form-file-lg .form-file-button {\n padding: 0.5rem 1rem;\n}\n\n.form-range {\n width: 100%;\n height: 1.4rem;\n padding: 0;\n background-color: transparent;\n appearance: none;\n}\n\n.form-range:focus {\n outline: none;\n}\n\n.form-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-range:focus::-ms-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-range::-moz-focus-outer {\n border: 0;\n}\n\n.form-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: #0d6efd;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-range::-webkit-slider-thumb {\n transition: none;\n }\n}\n\n.form-range::-webkit-slider-thumb:active {\n background-color: #bed8fe;\n}\n\n.form-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.form-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #0d6efd;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-range::-moz-range-thumb {\n transition: none;\n }\n}\n\n.form-range::-moz-range-thumb:active {\n background-color: #bed8fe;\n}\n\n.form-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.form-range::-ms-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: 0;\n margin-right: 0.2rem;\n margin-left: 0.2rem;\n background-color: #0d6efd;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-range::-ms-thumb {\n transition: none;\n }\n}\n\n.form-range::-ms-thumb:active {\n background-color: #bed8fe;\n}\n\n.form-range::-ms-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: transparent;\n border-color: transparent;\n border-width: 0.5rem;\n}\n\n.form-range::-ms-fill-lower {\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.form-range::-ms-fill-upper {\n margin-right: 15px;\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.form-range:disabled {\n pointer-events: none;\n}\n\n.form-range:disabled::-webkit-slider-thumb {\n background-color: #adb5bd;\n}\n\n.form-range:disabled::-moz-range-thumb {\n background-color: #adb5bd;\n}\n\n.form-range:disabled::-ms-thumb {\n background-color: #adb5bd;\n}\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n}\n\n.input-group > .form-control,\n.input-group > .form-select,\n.input-group > .form-file {\n position: relative;\n flex: 1 1 auto;\n width: 1%;\n min-width: 0;\n}\n\n.input-group > .form-control:focus,\n.input-group > .form-select:focus,\n.input-group > .form-file .form-file-input:focus ~ .form-file-label {\n z-index: 3;\n}\n\n.input-group > .form-file > .form-file-input:focus {\n z-index: 4;\n}\n\n.input-group > .form-file:not(:last-child) > .form-file-label {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-file:not(:first-child) > .form-file-label {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group .btn {\n position: relative;\n z-index: 2;\n}\n\n.input-group .btn:focus {\n z-index: 3;\n}\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-lg > .form-control {\n min-height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-select {\n height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .form-select,\n.input-group-lg > .input-group-text,\n.input-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.input-group-sm > .form-control {\n min-height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-select {\n height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .form-select,\n.input-group-sm > .input-group-text,\n.input-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.input-group-lg > .form-select,\n.input-group-sm > .form-select {\n padding-right: 1.75rem;\n}\n\n.input-group > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),\n.input-group > .dropdown-toggle:nth-last-child(n + 3) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > :not(:first-child):not(.dropdown-menu) {\n margin-left: -1px;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: #28a745;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n color: #fff;\n background-color: rgba(40, 167, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :valid ~ .valid-feedback,\n.was-validated :valid ~ .valid-tooltip,\n.is-valid ~ .valid-feedback,\n.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid {\n border-color: #28a745;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .form-select:valid, .form-select.is-valid {\n border-color: #28a745;\n padding-right: calc(0.75em + 2.3125rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\"), url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n background-position: right 0.75rem center, center right 1.75rem;\n background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-select:valid:focus, .form-select.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-check-input:valid, .form-check-input.is-valid {\n border-color: #28a745;\n}\n\n.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {\n background-color: #34ce57;\n}\n\n.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #28a745;\n}\n\n.form-check-inline .form-check-input ~ .valid-feedback {\n margin-left: .5em;\n}\n\n.was-validated .form-file-input:valid ~ .form-file-label, .form-file-input.is-valid ~ .form-file-label {\n border-color: #28a745;\n}\n\n.was-validated .form-file-input:valid:focus ~ .form-file-label, .form-file-input.is-valid:focus ~ .form-file-label {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :invalid ~ .invalid-feedback,\n.was-validated :invalid ~ .invalid-tooltip,\n.is-invalid ~ .invalid-feedback,\n.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: #dc3545;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .form-select:invalid, .form-select.is-invalid {\n border-color: #dc3545;\n padding-right: calc(0.75em + 2.3125rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\"), url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n background-position: right 0.75rem center, center right 1.75rem;\n background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-check-input:invalid, .form-check-input.is-invalid {\n border-color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {\n background-color: #e4606d;\n}\n\n.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dc3545;\n}\n\n.form-check-inline .form-check-input ~ .invalid-feedback {\n margin-left: .5em;\n}\n\n.was-validated .form-file-input:invalid ~ .form-file-label, .form-file-input.is-invalid ~ .form-file-label {\n border-color: #dc3545;\n}\n\n.was-validated .form-file-input:invalid:focus ~ .form-file-label, .form-file-input.is-invalid:focus ~ .form-file-label {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: center;\n text-decoration: none;\n vertical-align: middle;\n cursor: pointer;\n user-select: none;\n background-color: transparent;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n\n.btn:hover {\n color: #212529;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.btn:disabled, .btn.disabled,\nfieldset:disabled .btn {\n pointer-events: none;\n opacity: 0.65;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #025ce2;\n border-color: #0257d5;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n color: #fff;\n background-color: #025ce2;\n border-color: #0257d5;\n box-shadow: 0 0 0 0.2rem rgba(49, 132, 253, 0.5);\n}\n\n.btn-primary:active, .btn-primary.active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0257d5;\n border-color: #0252c9;\n}\n\n.btn-primary:active:focus, .btn-primary.active:focus,\n.show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(49, 132, 253, 0.5);\n}\n\n.btn-primary:disabled, .btn-primary.disabled {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-secondary:active, .btn-secondary.active,\n.show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #545b62;\n border-color: #4e555b;\n}\n\n.btn-secondary:active:focus, .btn-secondary.active:focus,\n.show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-secondary:disabled, .btn-secondary.disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-success {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-success:active, .btn-success.active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #1e7e34;\n border-color: #1c7430;\n}\n\n.btn-success:active:focus, .btn-success.active:focus,\n.show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-success:disabled, .btn-success.disabled {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-info:active, .btn-info.active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #117a8b;\n border-color: #10707f;\n}\n\n.btn-info:active:focus, .btn-info.active:focus,\n.show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-info:disabled, .btn-info.disabled {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-warning {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-warning:active, .btn-warning.active,\n.show > .btn-warning.dropdown-toggle {\n color: #212529;\n background-color: #d39e00;\n border-color: #c69500;\n}\n\n.btn-warning:active:focus, .btn-warning.active:focus,\n.show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-warning:disabled, .btn-warning.disabled {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-danger:active, .btn-danger.active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #bd2130;\n border-color: #b21f2d;\n}\n\n.btn-danger:active:focus, .btn-danger.active:focus,\n.show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-danger:disabled, .btn-danger.disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-light {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-light:active, .btn-light.active,\n.show > .btn-light.dropdown-toggle {\n color: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df;\n}\n\n.btn-light:active:focus, .btn-light.active:focus,\n.show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-light:disabled, .btn-light.disabled {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n}\n\n.btn-dark:focus, .btn-dark.focus {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-dark:active, .btn-dark.active,\n.show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d;\n}\n\n.btn-dark:active:focus, .btn-dark.active:focus,\n.show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-dark:disabled, .btn-dark.disabled {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-primary {\n color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.5);\n}\n\n.btn-outline-primary:active, .btn-outline-primary.active, .btn-outline-primary.dropdown-toggle.show {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-outline-primary:active:focus, .btn-outline-primary.active:focus, .btn-outline-primary.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.5);\n}\n\n.btn-outline-primary:disabled, .btn-outline-primary.disabled {\n color: #0d6efd;\n background-color: transparent;\n}\n\n.btn-outline-secondary {\n color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-secondary:active, .btn-outline-secondary.active, .btn-outline-secondary.dropdown-toggle.show {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:active:focus, .btn-outline-secondary.active:focus, .btn-outline-secondary.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-secondary:disabled, .btn-outline-secondary.disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.btn-outline-success {\n color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success:active, .btn-outline-success.active, .btn-outline-success.dropdown-toggle.show {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:active:focus, .btn-outline-success.active:focus, .btn-outline-success.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success:disabled, .btn-outline-success.disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-info {\n color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info:active, .btn-outline-info.active, .btn-outline-info.dropdown-toggle.show {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:active:focus, .btn-outline-info.active:focus, .btn-outline-info.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info:disabled, .btn-outline-info.disabled {\n color: #17a2b8;\n background-color: transparent;\n}\n\n.btn-outline-warning {\n color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning:active, .btn-outline-warning.active, .btn-outline-warning.dropdown-toggle.show {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:active:focus, .btn-outline-warning.active:focus, .btn-outline-warning.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning:disabled, .btn-outline-warning.disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-danger {\n color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger:active, .btn-outline-danger.active, .btn-outline-danger.dropdown-toggle.show {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:active:focus, .btn-outline-danger.active:focus, .btn-outline-danger.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger:disabled, .btn-outline-danger.disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light:active, .btn-outline-light.active, .btn-outline-light.dropdown-toggle.show {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:active:focus, .btn-outline-light.active:focus, .btn-outline-light.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light:disabled, .btn-outline-light.disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-dark {\n color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark:active, .btn-outline-dark.active, .btn-outline-dark.dropdown-toggle.show {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:active:focus, .btn-outline-dark.active:focus, .btn-outline-dark.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark:disabled, .btn-outline-dark.disabled {\n color: #343a40;\n background-color: transparent;\n}\n\n.btn-link {\n font-weight: 400;\n color: #0d6efd;\n text-decoration: underline;\n}\n\n.btn-link:hover {\n color: #024dbc;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\n.fade {\n transition: opacity 0.15s linear;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\n}\n\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse:not(.show) {\n display: none;\n}\n\n.collapsing {\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n@media (min-width: 576px) {\n .dropdown-menu-sm-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-sm-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 768px) {\n .dropdown-menu-md-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-md-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 992px) {\n .dropdown-menu-lg-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-lg-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 1200px) {\n .dropdown-menu-xl-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xl-right {\n right: 0;\n left: auto;\n }\n}\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: 0.125rem;\n}\n\n.dropright .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropleft .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: 0.125rem;\n}\n\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n\n.dropleft .dropdown-toggle::after {\n display: none;\n}\n\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-menu[x-placement^=\"top\"], .dropdown-menu[x-placement^=\"right\"], .dropdown-menu[x-placement^=\"bottom\"], .dropdown-menu[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1.5rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n text-decoration: none;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n\n.dropdown-item:hover, .dropdown-item:focus {\n color: #16181b;\n background-color: #f8f9fa;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #0d6efd;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: 0.25rem 1.5rem;\n color: #212529;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 1 1 auto;\n}\n\n.btn-group > .btn:hover, .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:hover,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) {\n margin-left: -1px;\n}\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n\n.dropdown-toggle-split::after,\n.dropup .dropdown-toggle-split::after,\n.dropright .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle-split::before {\n margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: -1px;\n}\n\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group-toggle > .btn,\n.btn-group-toggle > .btn-group > .btn {\n margin-bottom: 0;\n}\n\n.btn-group-toggle > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn input[type=\"checkbox\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #6c757d;\n pointer-events: none;\n cursor: default;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n}\n\n.nav-tabs .nav-link {\n margin-bottom: -1px;\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6 #dee2e6 #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #0d6efd;\n}\n\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar > .container,\n.navbar > .container-fluid, .navbar > .container-sm, .navbar > .container-md, .navbar > .container-lg, .navbar > .container-xl {\n display: flex;\n flex-wrap: inherit;\n align-items: center;\n justify-content: space-between;\n}\n\n.navbar-brand {\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n white-space: nowrap;\n}\n\n.navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static;\n}\n\n.navbar-text {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n align-items: center;\n width: 100%;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n transition: box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .navbar-toggler {\n transition: none;\n }\n}\n\n.navbar-toggler:hover {\n text-decoration: none;\n}\n\n.navbar-toggler:focus {\n text-decoration: none;\n outline: 0;\n box-shadow: 0 0 0 0.2rem;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n background-repeat: no-repeat;\n background-position: center;\n background-size: 100%;\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-expand {\n flex-wrap: nowrap;\n justify-content: flex-start;\n}\n\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.navbar-expand .navbar-collapse {\n display: flex !important;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.55);\n}\n\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.55);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.55);\n}\n\n.navbar-light .navbar-text a,\n.navbar-light .navbar-text a:hover,\n.navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.55);\n}\n\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.55);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.55);\n}\n\n.navbar-dark .navbar-text a,\n.navbar-dark .navbar-text a:hover,\n.navbar-dark .navbar-text a:focus {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n\n.card > .list-group:first-child .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.card > .list-group:last-child .list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.card-body {\n flex: 1 1 auto;\n padding: 1.25rem 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-header + .list-group .list-group-item:first-child {\n border-top: 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n width: 100%;\n}\n\n.card-img,\n.card-img-top {\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img,\n.card-img-bottom {\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-group > .card {\n margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n .card-group {\n display: flex;\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-top,\n .card-group > .card:not(:last-child) .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-bottom,\n .card-group > .card:not(:last-child) .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-top,\n .card-group > .card:not(:first-child) .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-bottom,\n .card-group > .card:not(:first-child) .card-footer {\n border-bottom-left-radius: 0;\n }\n}\n\n.accordion > .card {\n overflow: hidden;\n}\n\n.accordion > .card:not(:last-of-type) {\n border-bottom: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.accordion > .card:not(:first-of-type) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.accordion > .card > .card-header {\n border-radius: 0;\n margin-bottom: -1px;\n}\n\n.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item {\n display: flex;\n}\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: 0.5rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n color: #6c757d;\n content: \"/\";\n}\n\n.breadcrumb-item.active {\n color: #6c757d;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n}\n\n.page-link {\n position: relative;\n display: block;\n color: #0d6efd;\n text-decoration: none;\n background-color: #fff;\n border: 1px solid #dee2e6;\n}\n\n.page-link:hover {\n z-index: 2;\n color: #024dbc;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.page-link:focus {\n z-index: 3;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.page-item:not(:first-child) .page-link {\n margin-left: -1px;\n}\n\n.page-item.active .page-link {\n z-index: 3;\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff;\n border-color: #dee2e6;\n}\n\n.page-link {\n padding: 0.375rem 0.75rem;\n}\n\n.page-item:first-child .page-link {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.5em;\n font-size: 0.75em;\n font-weight: 700;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible {\n padding-right: 4rem;\n}\n\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-primary {\n color: #073984;\n background-color: #cfe2ff;\n border-color: #bbd6fe;\n}\n\n.alert-primary .alert-link {\n color: #042454;\n}\n\n.alert-secondary {\n color: #383d41;\n background-color: #e2e3e5;\n border-color: #d6d8db;\n}\n\n.alert-secondary .alert-link {\n color: #202326;\n}\n\n.alert-success {\n color: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info .alert-link {\n color: #062c33;\n}\n\n.alert-warning {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}\n\n.alert-warning .alert-link {\n color: #533f03;\n}\n\n.alert-danger {\n color: #721c24;\n background-color: #f8d7da;\n border-color: #f5c6cb;\n}\n\n.alert-danger .alert-link {\n color: #491217;\n}\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light .alert-link {\n color: #686868;\n}\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca;\n}\n\n.alert-dark .alert-link {\n color: #040505;\n}\n\n@keyframes progress-bar-stripes {\n 0% {\n background-position-x: 1rem;\n }\n}\n\n.progress {\n display: flex;\n height: 1rem;\n overflow: hidden;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n background-color: #0d6efd;\n transition: width 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n animation: none;\n }\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n\n.list-group-item-action:hover, .list-group-item-action:focus {\n z-index: 1;\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n text-decoration: none;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.list-group-item + .list-group-item {\n border-top-width: 0;\n}\n\n.list-group-item + .list-group-item.active {\n margin-top: -1px;\n border-top-width: 1px;\n}\n\n.list-group-horizontal {\n flex-direction: row;\n}\n\n.list-group-horizontal .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n}\n\n.list-group-horizontal .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n}\n\n.list-group-horizontal .list-group-item.active {\n margin-top: 0;\n}\n\n.list-group-horizontal .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n}\n\n.list-group-horizontal .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n}\n\n@media (min-width: 576px) {\n .list-group-horizontal-sm {\n flex-direction: row;\n }\n .list-group-horizontal-sm .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-sm .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-sm .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-sm .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-sm .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 768px) {\n .list-group-horizontal-md {\n flex-direction: row;\n }\n .list-group-horizontal-md .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-md .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-md .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-md .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-md .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 992px) {\n .list-group-horizontal-lg {\n flex-direction: row;\n }\n .list-group-horizontal-lg .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-lg .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-lg .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-lg .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-lg .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 1200px) {\n .list-group-horizontal-xl {\n flex-direction: row;\n }\n .list-group-horizontal-xl .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xl .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xl .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xl .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-xl .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n.list-group-flush .list-group-item {\n border-right-width: 0;\n border-left-width: 0;\n border-radius: 0;\n}\n\n.list-group-flush .list-group-item:first-child {\n border-top-width: 0;\n}\n\n.list-group-flush:last-child .list-group-item:last-child {\n border-bottom-width: 0;\n}\n\n.list-group-item-primary {\n color: #073984;\n background-color: #bbd6fe;\n}\n\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #073984;\n background-color: #a2c7fe;\n}\n\n.list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #073984;\n border-color: #073984;\n}\n\n.list-group-item-secondary {\n color: #383d41;\n background-color: #d6d8db;\n}\n\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #383d41;\n background-color: #c8cbcf;\n}\n\n.list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #383d41;\n border-color: #383d41;\n}\n\n.list-group-item-success {\n color: #155724;\n background-color: #c3e6cb;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #155724;\n background-color: #b1dfbb;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #0c5460;\n background-color: #abdde5;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\n}\n\n.list-group-item-warning {\n color: #856404;\n background-color: #ffeeba;\n}\n\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #856404;\n background-color: #ffe8a1;\n}\n\n.list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #856404;\n border-color: #856404;\n}\n\n.list-group-item-danger {\n color: #721c24;\n background-color: #f5c6cb;\n}\n\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #721c24;\n background-color: #f1b0b7;\n}\n\n.list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #721c24;\n border-color: #721c24;\n}\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe;\n}\n\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #818182;\n background-color: #ececf6;\n}\n\n.list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182;\n}\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca;\n}\n\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #1b1e21;\n background-color: #b9bbbe;\n}\n\n.list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21;\n}\n\n.close {\n font-size: calc(1.275rem + 0.3vw);\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n@media (min-width: 1200px) {\n .close {\n font-size: 1.5rem;\n }\n}\n\n.close:hover {\n color: #000;\n text-decoration: none;\n}\n\n.close:hover, .close:focus {\n opacity: .75;\n}\n\n.close:disabled, .close.disabled {\n pointer-events: none;\n}\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n appearance: none;\n}\n\n.toast {\n max-width: 350px;\n overflow: hidden;\n font-size: 0.875rem;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n backdrop-filter: blur(10px);\n opacity: 0;\n border-radius: 0.25rem;\n}\n\n.toast:not(:last-child) {\n margin-bottom: 0.75rem;\n}\n\n.toast.showing {\n opacity: 1;\n}\n\n.toast.show {\n display: block;\n opacity: 1;\n}\n\n.toast.hide {\n display: none;\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: 0.25rem 0.75rem;\n color: #6c757d;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n}\n\n.toast-body {\n padding: 0.75rem;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1050;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n outline: 0;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -50px);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n\n.modal.show .modal-dialog {\n transform: none;\n}\n\n.modal.modal-static .modal-dialog {\n transform: scale(1.02);\n}\n\n.modal-dialog-scrollable {\n max-height: calc(100% - 1rem);\n}\n\n.modal-dialog-scrollable .modal-content {\n overflow: hidden;\n}\n\n.modal-dialog-scrollable .modal-header,\n.modal-dialog-scrollable .modal-footer {\n flex-shrink: 0;\n}\n\n.modal-dialog-scrollable .modal-body {\n overflow-y: auto;\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - 1rem);\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1040;\n width: 100vw;\n height: 100vh;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n padding: 1rem 1rem;\n border-bottom: 1px solid #dee2e6;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.modal-header .close {\n padding: 1rem 1rem;\n margin: -1rem -1rem -1rem auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 1rem;\n}\n\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: flex-end;\n padding: 0.75rem;\n border-top: 1px solid #dee2e6;\n border-bottom-right-radius: calc(0.3rem - 1px);\n border-bottom-left-radius: calc(0.3rem - 1px);\n}\n\n.modal-footer > * {\n margin: 0.25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto;\n }\n .modal-dialog-scrollable {\n max-height: calc(100% - 3.5rem);\n }\n .modal-dialog-centered {\n min-height: calc(100% - 3.5rem);\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg,\n .modal-xl {\n max-width: 800px;\n }\n}\n\n@media (min-width: 1200px) {\n .modal-xl {\n max-width: 1140px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .tooltip-arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n\n.tooltip .tooltip-arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"top\"] .tooltip-arrow {\n bottom: 0;\n}\n\n.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .tooltip-arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000;\n}\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-right .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"right\"] .tooltip-arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-right .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .tooltip-arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .tooltip-arrow {\n top: 0;\n}\n\n.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .tooltip-arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000;\n}\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-left .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"left\"] .tooltip-arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-left .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .tooltip-arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .popover-arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem;\n}\n\n.popover .popover-arrow::before, .popover .popover-arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem;\n}\n\n.bs-popover-top > .popover-arrow, .bs-popover-auto[x-placement^=\"top\"] > .popover-arrow {\n bottom: calc(-0.5rem - 1px);\n}\n\n.bs-popover-top > .popover-arrow::before, .bs-popover-auto[x-placement^=\"top\"] > .popover-arrow::before {\n bottom: 0;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-top > .popover-arrow::after, .bs-popover-auto[x-placement^=\"top\"] > .popover-arrow::after {\n bottom: 1px;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: #fff;\n}\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem;\n}\n\n.bs-popover-right > .popover-arrow, .bs-popover-auto[x-placement^=\"right\"] > .popover-arrow {\n left: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-right > .popover-arrow::before, .bs-popover-auto[x-placement^=\"right\"] > .popover-arrow::before {\n left: 0;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-right > .popover-arrow::after, .bs-popover-auto[x-placement^=\"right\"] > .popover-arrow::after {\n left: 1px;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: #fff;\n}\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem;\n}\n\n.bs-popover-bottom > .popover-arrow, .bs-popover-auto[x-placement^=\"bottom\"] > .popover-arrow {\n top: calc(-0.5rem - 1px);\n}\n\n.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] > .popover-arrow::before {\n top: 0;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] > .popover-arrow::after {\n top: 1px;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: #fff;\n}\n\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem;\n}\n\n.bs-popover-left > .popover-arrow, .bs-popover-auto[x-placement^=\"left\"] > .popover-arrow {\n right: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-left > .popover-arrow::before, .bs-popover-auto[x-placement^=\"left\"] > .popover-arrow::before {\n right: 0;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-left > .popover-arrow::after, .bs-popover-auto[x-placement^=\"left\"] > .popover-arrow::after {\n right: 1px;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 0.5rem 0.75rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-inner::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n transition: transform 0.6s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n}\n\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n}\n\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n transition: opacity 0s 0.6s;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-left,\n .carousel-fade .active.carousel-item-right {\n transition: none;\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n transition: opacity 0.15s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n transition: none;\n }\n}\n\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: 0.9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background-repeat: no-repeat;\n background-position: 50%;\n background-size: 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #fff;\n background-clip: padding-box;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n opacity: 0.5;\n transition: opacity 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-indicators li {\n transition: none;\n }\n}\n\n.carousel-indicators .active {\n opacity: 1;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 1.25rem;\n left: 15%;\n padding-top: 1.25rem;\n padding-bottom: 1.25rem;\n color: #fff;\n text-align: center;\n}\n\n@keyframes spinner-border {\n to {\n transform: rotate(360deg);\n }\n}\n\n.spinner-border {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n border: 0.25em solid currentColor;\n border-right-color: transparent;\n border-radius: 50%;\n animation: spinner-border 0.75s linear infinite;\n}\n\n.spinner-border-sm {\n width: 1rem;\n height: 1rem;\n border-width: 0.2em;\n}\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n background-color: currentColor;\n border-radius: 50%;\n opacity: 0;\n animation: spinner-grow 0.75s linear infinite;\n}\n\n.spinner-grow-sm {\n width: 1rem;\n height: 1rem;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.link-primary {\n color: #0d6efd;\n}\n\n.link-primary:hover, .link-primary:focus {\n color: #024dbc;\n}\n\n.link-secondary {\n color: #6c757d;\n}\n\n.link-secondary:hover, .link-secondary:focus {\n color: #494f54;\n}\n\n.link-success {\n color: #28a745;\n}\n\n.link-success:hover, .link-success:focus {\n color: #19692c;\n}\n\n.link-info {\n color: #17a2b8;\n}\n\n.link-info:hover, .link-info:focus {\n color: #0f6674;\n}\n\n.link-warning {\n color: #ffc107;\n}\n\n.link-warning:hover, .link-warning:focus {\n color: #ba8b00;\n}\n\n.link-danger {\n color: #dc3545;\n}\n\n.link-danger:hover, .link-danger:focus {\n color: #a71d2a;\n}\n\n.link-light {\n color: #f8f9fa;\n}\n\n.link-light:hover, .link-light:focus {\n color: #cbd3da;\n}\n\n.link-dark {\n color: #343a40;\n}\n\n.link-dark:hover, .link-dark:focus {\n color: #121416;\n}\n\n.embed-responsive {\n position: relative;\n width: 100%;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n@supports (position: sticky) {\n .sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n @media (min-width: 576px) {\n .sticky-sm-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n }\n @media (min-width: 768px) {\n .sticky-md-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n }\n @media (min-width: 992px) {\n .sticky-lg-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n }\n @media (min-width: 1200px) {\n .sticky-xl-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n }\n}\n\n.sr-only,\n.sr-only-focusable:not(:focus) {\n position: absolute !important;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important;\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n}\n\n.stretched-link::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n content: \"\";\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: sticky !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #0d6efd !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mr-3 {\n margin-right: 1rem !important;\n}\n\n.mr-4 {\n margin-right: 1.5rem !important;\n}\n\n.mr-5 {\n margin-right: 3rem !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.ml-3 {\n margin-left: 1rem !important;\n}\n\n.ml-4 {\n margin-left: 1.5rem !important;\n}\n\n.ml-5 {\n margin-left: 3rem !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mx-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n}\n\n.mx-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n}\n\n.mx-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n}\n\n.mx-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n}\n\n.mx-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n}\n\n.my-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n}\n\n.my-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n}\n\n.my-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n}\n\n.my-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n}\n\n.my-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n}\n\n.mt-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mt-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mt-n3 {\n margin-top: -1rem !important;\n}\n\n.mt-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mt-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mr-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mr-n3 {\n margin-right: -1rem !important;\n}\n\n.mr-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mr-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.mb-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.mb-n3 {\n margin-bottom: -1rem !important;\n}\n\n.mb-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.mb-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n1 {\n margin-left: -0.25rem !important;\n}\n\n.ml-n2 {\n margin-left: -0.5rem !important;\n}\n\n.ml-n3 {\n margin-left: -1rem !important;\n}\n\n.ml-n4 {\n margin-left: -1.5rem !important;\n}\n\n.ml-n5 {\n margin-left: -3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pr-3 {\n padding-right: 1rem !important;\n}\n\n.pr-4 {\n padding-right: 1.5rem !important;\n}\n\n.pr-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.pl-3 {\n padding-left: 1rem !important;\n}\n\n.pl-4 {\n padding-left: 1.5rem !important;\n}\n\n.pl-5 {\n padding-left: 3rem !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-lighter {\n font-weight: lighter !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-weight-bolder {\n font-weight: bolder !important;\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n.text-primary {\n color: #0d6efd !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\n.text-success {\n color: #28a745 !important;\n}\n\n.text-info {\n color: #17a2b8 !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-reset {\n color: inherit !important;\n}\n\n.lh-1 {\n line-height: 1 !important;\n}\n\n.lh-sm {\n line-height: 1.25 !important;\n}\n\n.lh-base {\n line-height: 1.5 !important;\n}\n\n.lh-lg {\n line-height: 2 !important;\n}\n\n.bg-primary {\n background-color: #0d6efd !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\n.bg-success {\n background-color: #28a745 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\n.bg-body {\n background-color: #fff !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.text-decoration-underline {\n text-decoration: underline !important;\n}\n\n.text-decoration-line-through {\n text-decoration: line-through !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.font-normal {\n font-style: normal !important;\n}\n\n.text-break {\n word-wrap: break-word !important;\n}\n\n.font-monospace {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !important;\n}\n\n.user-select-all {\n user-select: all !important;\n}\n\n.user-select-auto {\n user-select: auto !important;\n}\n\n.user-select-none {\n user-select: none !important;\n}\n\n.pe-none {\n pointer-events: none !important;\n}\n\n.pe-auto {\n pointer-events: auto !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-sm {\n border-radius: 0.2rem !important;\n}\n\n.rounded-lg {\n border-radius: 0.3rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: 50rem !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-bottom-left-radius: 0.25rem !important;\n border-top-left-radius: 0.25rem !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-0 {\n margin-right: 0 !important;\n }\n .mr-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mr-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mr-sm-3 {\n margin-right: 1rem !important;\n }\n .mr-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mr-sm-5 {\n margin-right: 3rem !important;\n }\n .mr-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-0 {\n margin-left: 0 !important;\n }\n .ml-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ml-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ml-sm-3 {\n margin-left: 1rem !important;\n }\n .ml-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ml-sm-5 {\n margin-left: 3rem !important;\n }\n .ml-sm-auto {\n margin-left: auto !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-sm-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-sm-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-sm-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-sm-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-sm-n3 {\n margin-top: -1rem !important;\n }\n .mt-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-sm-n3 {\n margin-right: -1rem !important;\n }\n .mr-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-sm-n3 {\n margin-left: -1rem !important;\n }\n .ml-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-sm-n5 {\n margin-left: -3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-0 {\n padding-right: 0 !important;\n }\n .pr-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pr-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pr-sm-3 {\n padding-right: 1rem !important;\n }\n .pr-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pr-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-0 {\n padding-left: 0 !important;\n }\n .pl-sm-1 {\n padding-left: 0.25rem !important;\n }\n .pl-sm-2 {\n padding-left: 0.5rem !important;\n }\n .pl-sm-3 {\n padding-left: 1rem !important;\n }\n .pl-sm-4 {\n padding-left: 1.5rem !important;\n }\n .pl-sm-5 {\n padding-left: 3rem !important;\n }\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .mr-md-0 {\n margin-right: 0 !important;\n }\n .mr-md-1 {\n margin-right: 0.25rem !important;\n }\n .mr-md-2 {\n margin-right: 0.5rem !important;\n }\n .mr-md-3 {\n margin-right: 1rem !important;\n }\n .mr-md-4 {\n margin-right: 1.5rem !important;\n }\n .mr-md-5 {\n margin-right: 3rem !important;\n }\n .mr-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-0 {\n margin-left: 0 !important;\n }\n .ml-md-1 {\n margin-left: 0.25rem !important;\n }\n .ml-md-2 {\n margin-left: 0.5rem !important;\n }\n .ml-md-3 {\n margin-left: 1rem !important;\n }\n .ml-md-4 {\n margin-left: 1.5rem !important;\n }\n .ml-md-5 {\n margin-left: 3rem !important;\n }\n .ml-md-auto {\n margin-left: auto !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-md-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-md-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-md-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-md-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-md-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-md-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-md-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-md-n3 {\n margin-top: -1rem !important;\n }\n .mt-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-md-n3 {\n margin-right: -1rem !important;\n }\n .mr-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-md-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-md-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-md-n3 {\n margin-left: -1rem !important;\n }\n .ml-md-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-md-n5 {\n margin-left: -3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-0 {\n padding-right: 0 !important;\n }\n .pr-md-1 {\n padding-right: 0.25rem !important;\n }\n .pr-md-2 {\n padding-right: 0.5rem !important;\n }\n .pr-md-3 {\n padding-right: 1rem !important;\n }\n .pr-md-4 {\n padding-right: 1.5rem !important;\n }\n .pr-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-0 {\n padding-left: 0 !important;\n }\n .pl-md-1 {\n padding-left: 0.25rem !important;\n }\n .pl-md-2 {\n padding-left: 0.5rem !important;\n }\n .pl-md-3 {\n padding-left: 1rem !important;\n }\n .pl-md-4 {\n padding-left: 1.5rem !important;\n }\n .pl-md-5 {\n padding-left: 3rem !important;\n }\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-0 {\n margin-right: 0 !important;\n }\n .mr-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mr-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mr-lg-3 {\n margin-right: 1rem !important;\n }\n .mr-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mr-lg-5 {\n margin-right: 3rem !important;\n }\n .mr-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-0 {\n margin-left: 0 !important;\n }\n .ml-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ml-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ml-lg-3 {\n margin-left: 1rem !important;\n }\n .ml-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ml-lg-5 {\n margin-left: 3rem !important;\n }\n .ml-lg-auto {\n margin-left: auto !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-lg-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-lg-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-lg-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-lg-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-lg-n3 {\n margin-top: -1rem !important;\n }\n .mt-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-lg-n3 {\n margin-right: -1rem !important;\n }\n .mr-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-lg-n3 {\n margin-left: -1rem !important;\n }\n .ml-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-lg-n5 {\n margin-left: -3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-0 {\n padding-right: 0 !important;\n }\n .pr-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pr-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pr-lg-3 {\n padding-right: 1rem !important;\n }\n .pr-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pr-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-0 {\n padding-left: 0 !important;\n }\n .pl-lg-1 {\n padding-left: 0.25rem !important;\n }\n .pl-lg-2 {\n padding-left: 0.5rem !important;\n }\n .pl-lg-3 {\n padding-left: 1rem !important;\n }\n .pl-lg-4 {\n padding-left: 1.5rem !important;\n }\n .pl-lg-5 {\n padding-left: 3rem !important;\n }\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-0 {\n margin-right: 0 !important;\n }\n .mr-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mr-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mr-xl-3 {\n margin-right: 1rem !important;\n }\n .mr-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mr-xl-5 {\n margin-right: 3rem !important;\n }\n .mr-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-0 {\n margin-left: 0 !important;\n }\n .ml-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ml-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ml-xl-3 {\n margin-left: 1rem !important;\n }\n .ml-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ml-xl-5 {\n margin-left: 3rem !important;\n }\n .ml-xl-auto {\n margin-left: auto !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-xl-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-xl-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-xl-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-xl-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-xl-n3 {\n margin-top: -1rem !important;\n }\n .mt-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-xl-n3 {\n margin-right: -1rem !important;\n }\n .mr-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-xl-n3 {\n margin-left: -1rem !important;\n }\n .ml-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-xl-n5 {\n margin-left: -3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-0 {\n padding-right: 0 !important;\n }\n .pr-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pr-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pr-xl-3 {\n padding-right: 1rem !important;\n }\n .pr-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pr-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-0 {\n padding-left: 0 !important;\n }\n .pl-xl-1 {\n padding-left: 0.25rem !important;\n }\n .pl-xl-2 {\n padding-left: 0.5rem !important;\n }\n .pl-xl-3 {\n padding-left: 1rem !important;\n }\n .pl-xl-4 {\n padding-left: 1.5rem !important;\n }\n .pl-xl-5 {\n padding-left: 3rem !important;\n }\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */","// stylelint-disable property-blacklist\n// Single side border-radius\n\n// Helper function to replace negative values with 0\n@function valid-radius($radius) {\n $return: ();\n @each $value in $radius {\n @if type-of($value) == number {\n $return: append($return, max($value, 0));\n } @else {\n $return: append($return, $value);\n }\n }\n @return $return;\n}\n\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: valid-radius($radius);\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-right-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-left-radius($radius) {\n @if $enable-rounded {\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n","//\n// Headings\n//\n.h1 {\n @extend h1;\n}\n\n.h2 {\n @extend h2;\n}\n\n.h3 {\n @extend h3;\n}\n\n.h4 {\n @extend h4;\n}\n\n.h5 {\n @extend h5;\n}\n\n.h6 {\n @extend h6;\n}\n\n\n.lead {\n @include font-size($lead-font-size);\n font-weight: $lead-font-weight;\n}\n\n// Type display classes\n.display-1 {\n @include font-size($display1-size);\n font-weight: $display1-weight;\n line-height: $display-line-height;\n}\n.display-2 {\n @include font-size($display2-size);\n font-weight: $display2-weight;\n line-height: $display-line-height;\n}\n.display-3 {\n @include font-size($display3-size);\n font-weight: $display3-weight;\n line-height: $display-line-height;\n}\n.display-4 {\n @include font-size($display4-size);\n font-weight: $display4-weight;\n line-height: $display-line-height;\n}\n\n//\n// Emphasis\n//\n.small {\n @extend small;\n}\n\n.mark {\n @extend mark;\n}\n\n//\n// Lists\n//\n\n.list-unstyled {\n @include list-unstyled();\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n @include list-unstyled();\n}\n.list-inline-item {\n display: inline-block;\n\n &:not(:last-child) {\n margin-right: $list-inline-padding;\n }\n}\n\n\n//\n// Misc\n//\n\n// Builds on `abbr`\n.initialism {\n @include font-size($initialism-font-size);\n text-transform: uppercase;\n}\n\n// Blockquotes\n.blockquote {\n margin-bottom: $spacer;\n @include font-size($blockquote-font-size);\n}\n\n.blockquote-footer {\n display: block;\n @include font-size($blockquote-small-font-size);\n color: $blockquote-small-color;\n\n &::before {\n content: \"\\2014\\00A0\"; // em dash, nbsp\n }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n","// Responsive images (ensure images don't scale beyond their parents)\n//\n// This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.\n// We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n// which weren't expecting the images within themselves to be involuntarily resized.\n// See also https://github.com/twbs/bootstrap/issues/18178\n.img-fluid {\n @include img-fluid();\n}\n\n\n// Image thumbnails\n.img-thumbnail {\n padding: $thumbnail-padding;\n background-color: $thumbnail-bg;\n border: $thumbnail-border-width solid $thumbnail-border-color;\n @include border-radius($thumbnail-border-radius);\n @include box-shadow($thumbnail-box-shadow);\n\n // Keep them at most 100% wide\n @include img-fluid();\n}\n\n//\n// Figures\n//\n\n.figure {\n // Ensures the caption's text aligns with the image.\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: $spacer / 2;\n line-height: 1;\n}\n\n.figure-caption {\n @include font-size($figure-caption-font-size);\n color: $figure-caption-color;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid {\n // Part 1: Set a maximum relative to the parent\n max-width: 100%;\n // Part 2: Override the height to auto, otherwise images will be stretched\n // when setting a width and height attribute on the img element.\n height: auto;\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n","// Container mixins\n\n@mixin make-container($padding-x: $container-padding-x) {\n width: 100%;\n padding-right: $padding-x;\n padding-left: $padding-x;\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n\n > * {\n @include make-col-ready();\n }\n }\n}\n\n// Gutters\n//\n// Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n\n@if $enable-grid-classes {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n\n @each $key, $value in $gutters {\n .g#{$infix}-#{$key},\n .gx#{$infix}-#{$key} {\n margin-right: -$value / 2;\n margin-left: -$value / 2;\n\n > * {\n padding-right: $value / 2;\n padding-left: $value / 2;\n }\n }\n\n .g#{$infix}-#{$key},\n .gy#{$infix}-#{$key} {\n margin-top: -$value;\n\n > * {\n margin-top: $value;\n }\n }\n }\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter / 2;\n margin-left: -$gutter / 2;\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n // Add box sizing if only the grid is loaded\n box-sizing: if(variable-exists(include-column-box-sizing) and $include-column-box-sizing, border-box, null);\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we set the width\n // later on to override this initial width.\n flex-shrink: 0;\n width: 100%;\n max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 auto;\n width: percentage($size / $columns);\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n & > * {\n flex: 0 0 auto;\n width: 100% / $count;\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0%; // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n min-width: 0; // See https://github.com/twbs/bootstrap/issues/25410\n }\n\n .row-cols#{$infix}-auto > * {\n @include make-col-auto();\n }\n\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","//\n// Basic Bootstrap table\n//\n\n.table {\n width: 100%;\n margin-bottom: $spacer;\n color: $table-color;\n vertical-align: $table-cell-vertical-align;\n background-color: $table-bg; // Reset for nesting within parents with `background-color`.\n\n th,\n td {\n padding: $table-cell-padding;\n border-bottom: $table-border-width solid $table-border-color;\n }\n\n tbody {\n vertical-align: inherit;\n }\n\n thead th {\n vertical-align: bottom;\n border-bottom-color: $table-head-border-color;\n }\n\n tbody + tbody {\n border-top: (2 * $table-border-width) solid $table-border-color;\n }\n}\n\n\n//\n// Change placement of captions with a class\n//\n\n.caption-top { caption-side: top; }\n\n\n//\n// Condensed table w/ half padding\n//\n\n.table-sm {\n th,\n td {\n padding: $table-cell-padding-sm;\n }\n}\n\n\n// Border versions\n//\n// Add or remove borders all around the table and between all the columns.\n\n.table-bordered {\n border: $table-border-width solid $table-border-color;\n\n th,\n td {\n border: $table-border-width solid $table-border-color;\n }\n\n thead {\n th,\n td {\n border-bottom-width: 2 * $table-border-width;\n }\n }\n}\n\n.table-borderless {\n th,\n td,\n thead th,\n tbody + tbody {\n border: 0;\n }\n}\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-accent-bg;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n tbody tr {\n &:hover {\n color: $table-hover-color;\n background-color: $table-hover-bg;\n }\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n@each $color, $value in $theme-colors {\n @include table-row-variant($color, color-level($value, $table-bg-level), color-level($value, $table-border-level));\n}\n\n@include table-row-variant(active, $table-active-bg);\n\n\n// Dark styles\n//\n// Same table markup, but inverted color scheme: dark background and light text.\n\n// stylelint-disable-next-line no-duplicate-selectors\n.table {\n .thead-dark {\n th {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n border-color: $table-dark-border-color;\n }\n }\n\n .thead-light {\n th {\n color: $table-head-color;\n background-color: $table-head-bg;\n border-color: $table-border-color;\n }\n }\n}\n\n.table-dark {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n\n th,\n td,\n thead th {\n border-color: $table-dark-border-color;\n }\n\n &.table-bordered {\n border: 0;\n }\n\n &.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-dark-accent-bg;\n }\n }\n\n &.table-hover {\n tbody tr {\n &:hover {\n color: $table-dark-hover-color;\n background-color: $table-dark-hover-bg;\n }\n }\n }\n}\n\n\n// Responsive tables\n//\n// Generate series of `.table-responsive-*` classes for configuring the screen\n// size of where your table will overflow.\n\n.table-responsive {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n\n // Prevent double border on horizontal scroll due to use of `display: block;`\n > .table-bordered {\n border: 0;\n }\n }\n }\n }\n}\n","// Tables\n\n@mixin table-row-variant($state, $background, $border: null) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table-#{$state} {\n &,\n > th,\n > td {\n background-color: $background;\n }\n\n @if $border != null {\n th,\n td,\n thead th,\n tbody + tbody {\n border-color: $border;\n }\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover {\n $hover-background: darken($background, 5%);\n\n .table-#{$state} {\n &:hover {\n background-color: $hover-background;\n\n > td,\n > th {\n background-color: $hover-background;\n }\n }\n }\n }\n}\n","//\n// Labels\n//\n\n// For use with horizontal and inline forms, when you need the label (or legend)\n// text to align with the form controls.\n.col-form-label {\n padding-top: add($input-padding-y, $input-border-width);\n padding-bottom: add($input-padding-y, $input-border-width);\n margin-bottom: 0; // Override the `<label>/<legend>` default\n @include font-size(inherit); // Override the `<legend>` default\n line-height: $input-line-height;\n}\n\n.col-form-label-lg {\n padding-top: add($input-padding-y-lg, $input-border-width);\n padding-bottom: add($input-padding-y-lg, $input-border-width);\n @include font-size($input-font-size-lg);\n}\n\n.col-form-label-sm {\n padding-top: add($input-padding-y-sm, $input-border-width);\n padding-bottom: add($input-padding-y-sm, $input-border-width);\n @include font-size($input-font-size-sm);\n}\n","//\n// Textual form controls\n//\n\n.form-control {\n display: block;\n width: 100%;\n min-height: $input-height;\n padding: $input-padding-y $input-padding-x;\n font-family: $input-font-family;\n @include font-size($input-font-size);\n font-weight: $input-font-weight;\n line-height: $input-line-height;\n color: $input-color;\n background-color: $input-bg;\n background-clip: padding-box;\n border: $input-border-width solid $input-border-color;\n\n // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.\n @include border-radius($input-border-radius, 0);\n\n @include box-shadow($input-box-shadow);\n @include transition($input-transition);\n\n // Customize the `:focus` state to imitate native WebKit styles.\n &:focus {\n color: $input-focus-color;\n background-color: $input-focus-bg;\n border-color: $input-focus-border-color;\n outline: 0;\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $input-box-shadow, $input-focus-box-shadow;\n } @else {\n box-shadow: $input-focus-box-shadow;\n }\n }\n\n // Placeholder\n &::placeholder {\n color: $input-placeholder-color;\n // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.\n opacity: 1;\n }\n\n // Disabled and read-only inputs\n //\n // HTML5 says that controls under a fieldset > legend:first-child won't be\n // disabled if the fieldset is disabled. Due to implementation difficulty, we\n // don't honor that edge case; we style them as disabled anyway.\n &:disabled,\n &[readonly] {\n background-color: $input-disabled-bg;\n border-color: $input-disabled-border-color;\n // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n opacity: 1;\n }\n}\n\n// Readonly controls as plain text\n//\n// Apply class to a readonly input to make it appear like regular plain\n// text (without any border, background color, focus indicator)\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: $input-padding-y 0;\n margin-bottom: 0; // match inputs if this class comes on inputs with default margins\n line-height: $input-line-height;\n color: $input-plaintext-color;\n background-color: transparent;\n border: solid transparent;\n border-width: $input-border-width 0;\n\n &.form-control-sm,\n &.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n//\n// Repeated in `_input_group.scss` to avoid Sass extend issues.\n\n.form-control-sm {\n min-height: $input-height-sm;\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n @include border-radius($input-border-radius-sm);\n}\n\n.form-control-lg {\n min-height: $input-height-lg;\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n @include border-radius($input-border-radius-lg);\n}\n\n.form-control-color {\n max-width: 3rem;\n padding: $input-padding-y;\n}\n\n.form-control-color::-moz-color-swatch {\n @include border-radius($input-border-radius);\n}\n\n.form-control-color::-webkit-color-swatch {\n @include border-radius($input-border-radius);\n}\n","// stylelint-disable property-blacklist\n@mixin transition($transition...) {\n @if $enable-transitions {\n @if length($transition) == 0 {\n transition: $transition-base;\n } @else {\n transition: $transition;\n }\n\n @if $enable-prefers-reduced-motion-media-query {\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n }\n }\n}\n","// Select\n//\n// Replaces the browser default select with a custom one, mostly pulled from\n// https://primer.github.io/.\n\n.form-select {\n display: block;\n width: 100%;\n height: $form-select-height;\n padding: $form-select-padding-y ($form-select-padding-x + $form-select-indicator-padding) $form-select-padding-y $form-select-padding-x;\n font-family: $form-select-font-family;\n @include font-size($form-select-font-size);\n font-weight: $form-select-font-weight;\n line-height: $form-select-line-height;\n color: $form-select-color;\n vertical-align: middle;\n background-color: $form-select-bg;\n background-image: escape-svg($form-select-indicator);\n background-repeat: no-repeat;\n background-position: $form-select-bg-position;\n background-size: $form-select-bg-size;\n border: $form-select-border-width solid $form-select-border-color;\n @include border-radius($form-select-border-radius, 0);\n @include box-shadow($form-select-box-shadow);\n appearance: none;\n\n &:focus {\n border-color: $form-select-focus-border-color;\n outline: 0;\n @if $enable-shadows {\n box-shadow: $form-select-box-shadow, $form-select-focus-box-shadow;\n } @else {\n box-shadow: $form-select-focus-box-shadow;\n }\n\n &::-ms-value {\n // For visual consistency with other platforms/browsers,\n // suppress the default white text on blue background highlight given to\n // the selected option text when the (still closed) <select> receives focus\n // in Edge.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n }\n\n &[multiple],\n &[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: $form-select-padding-x;\n background-image: none;\n }\n\n &:disabled {\n color: $form-select-disabled-color;\n background-color: $form-select-disabled-bg;\n border-color: $form-select-disabled-border-color;\n }\n\n // Remove outline from select box in FF\n &:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 $form-select-color;\n }\n}\n\n.form-select-sm {\n height: $form-select-height-sm;\n padding-top: $form-select-padding-y-sm;\n padding-bottom: $form-select-padding-y-sm;\n padding-left: $form-select-padding-x-sm;\n @include font-size($form-select-font-size-sm);\n}\n\n.form-select-lg {\n height: $form-select-height-lg;\n padding-top: $form-select-padding-y-lg;\n padding-bottom: $form-select-padding-y-lg;\n padding-left: $form-select-padding-x-lg;\n @include font-size($form-select-font-size-lg);\n}\n","//\n// Check/radio\n//\n\n.form-check {\n display: block;\n min-height: $form-check-min-height;\n padding-left: $form-check-padding-left;\n margin-bottom: $form-check-margin-bottom;\n\n .form-check-input {\n float: left;\n margin-left: $form-check-padding-left * -1;\n }\n}\n\n.form-check-input {\n width: $form-check-input-width;\n height: $form-check-input-width;\n margin-top: ($line-height-base - $form-check-input-width) / 2; // line-height minus check height\n vertical-align: top;\n background-color: $form-check-input-bg;\n border: $form-check-input-border;\n appearance: none;\n color-adjust: exact; // Keep themed appearance for print\n\n &[type=\"checkbox\"] {\n @include border-radius($form-check-input-border-radius);\n }\n\n &[type=\"radio\"] {\n @include border-radius($form-check-radio-border-radius);\n }\n\n &:active {\n filter: $form-check-input-active-filter;\n }\n\n &:focus {\n border-color: $form-check-input-focus-border;\n outline: 0;\n box-shadow: $form-check-input-focus-box-shadow;\n }\n\n &:checked {\n background-color: $form-check-input-checked-bg-color;\n background-repeat: $form-check-input-checked-bg-repeat;\n background-position: $form-check-input-checked-bg-position;\n background-size: $form-check-input-checked-bg-size;\n border-color: $form-check-input-checked-border-color;\n\n &[type=\"checkbox\"] {\n @if $enable-gradients {\n background-image: escape-svg($form-check-input-checked-bg-image), linear-gradient(180deg, lighten($form-check-input-checked-bg-color, 10%), $form-check-input-checked-bg-color);\n background-size: $form-check-input-checked-bg-size, auto;\n } @else {\n background-image: escape-svg($form-check-input-checked-bg-image);\n }\n }\n\n &[type=\"radio\"] {\n @if $enable-gradients {\n background-image: escape-svg($form-check-radio-checked-bg-image), linear-gradient(180deg, lighten($form-check-input-checked-bg-color, 10%), $form-check-input-checked-bg-color);\n background-size: $form-check-input-checked-bg-size, auto;\n } @else {\n background-image: escape-svg($form-check-radio-checked-bg-image);\n }\n }\n }\n\n &[type=\"checkbox\"]:indeterminate {\n background-color: $form-check-input-indeterminate-bg-color;\n background-repeat: $form-check-input-indeterminate-bg-repeat;\n background-position: $form-check-input-indeterminate-bg-position;\n @if $enable-gradients {\n background-image: escape-svg($form-check-input-indeterminate-bg-image), linear-gradient(180deg, lighten($form-check-input-checked-bg-color, 10%), $form-check-input-checked-bg-color);\n background-size: $form-check-input-checked-bg-size, auto;\n } @else {\n background-image: escape-svg($form-check-input-indeterminate-bg-image);\n background-size: $form-check-input-indeterminate-bg-size;\n }\n border-color: $form-check-input-indeterminate-border-color;\n }\n\n &:disabled {\n pointer-events: none;\n filter: none;\n opacity: .5;\n }\n\n // Use disabled attribute in addition of :disabled pseudo-class\n // See: https://github.com/twbs/bootstrap/issues/28247\n &[disabled],\n &:disabled {\n ~ .form-check-label {\n opacity: .5;\n }\n }\n}\n\n.form-check-label {\n margin-bottom: 0;\n color: $form-check-label-color;\n cursor: $form-check-label-cursor;\n}\n\n//\n// Switch\n//\n\n.form-switch {\n padding-left: $form-switch-padding-left;\n\n .form-check-input {\n width: $form-switch-width;\n margin-left: $form-switch-padding-left * -1;\n background-image: escape-svg($form-switch-bg-image);\n background-repeat: no-repeat;\n background-position: left center;\n background-size: $form-switch-bg-size; // Get a 1px separation\n @include border-radius($form-switch-border-radius);\n color-adjust: exact; // Keep themed appearance for print\n // Todo: Figure out how to tackle these, with or without mixin?\n // transition: $form-switch-transition;\n // transition-property: $form-switch-transition-property;\n\n &:focus {\n background-image: escape-svg($form-switch-focus-bg-image);\n }\n\n &:checked {\n background-position: $form-switch-checked-bg-position;\n\n @if $enable-gradients {\n background-image: escape-svg($form-switch-checked-bg-image), linear-gradient(180deg, $form-check-input-checked-bg-color, lighten($form-check-input-checked-bg-color, 10%));\n background-size: $form-switch-bg-size, auto;\n } @else {\n background-image: escape-svg($form-switch-checked-bg-image);\n }\n }\n }\n}\n\n.form-check-inline {\n display: inline-block;\n margin-right: $form-check-inline-margin-right;\n}\n",".form-file {\n position: relative;\n height: $form-file-height;\n}\n\n.form-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: 100%;\n margin: 0;\n opacity: 0;\n\n &:focus-within ~ .form-file-label {\n border-color: $form-file-focus-border-color;\n box-shadow: $form-file-focus-box-shadow;\n }\n\n // Use disabled attribute in addition of :disabled pseudo-class\n // See: https://github.com/twbs/bootstrap/issues/28247\n &[disabled] ~ .form-file-label .form-file-text,\n &:disabled ~ .form-file-label .form-file-text {\n background-color: $form-file-disabled-bg;\n border-color: $form-file-disabled-border-color;\n }\n}\n\n.form-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n display: flex;\n height: 100%;\n border-color: $form-file-border-color;\n @include border-radius($form-file-border-radius);\n @include box-shadow($form-file-box-shadow);\n}\n\n.form-file-text {\n display: block;\n flex-grow: 1;\n padding: $form-file-padding-y $form-file-padding-x;\n overflow: hidden;\n font-family: $form-file-font-family;\n font-weight: $form-file-font-weight;\n line-height: $form-file-line-height;\n color: $form-file-color;\n text-overflow: ellipsis;\n white-space: nowrap;\n background-color: $form-file-bg;\n border-color: inherit;\n border-style: solid;\n border-width: $form-file-border-width;\n @include border-left-radius(inherit);\n}\n\n.form-file-button {\n display: block;\n flex-shrink: 0;\n padding: $form-file-padding-y $form-file-padding-x;\n margin-left: -$form-file-border-width;\n line-height: $form-file-line-height;\n color: $form-file-button-color;\n @include gradient-bg($form-file-button-bg);\n border-color: inherit;\n border-style: solid;\n border-width: $form-file-border-width;\n @include border-right-radius(inherit);\n}\n\n.form-file-sm {\n height: $form-file-height-sm;\n @include font-size($form-file-font-size-sm);\n\n .form-file-text,\n .form-file-button {\n padding: $form-file-padding-y-sm $form-file-padding-x-sm;\n }\n}\n\n.form-file-lg {\n height: $form-file-height-lg;\n @include font-size($form-file-font-size-lg);\n\n .form-file-text,\n .form-file-button {\n padding: $form-file-padding-y-lg $form-file-padding-x-lg;\n }\n}\n","// Gradients\n\n@mixin gradient-bg($color, $foreground: null) {\n @if $enable-gradients {\n @if $foreground {\n background-image: $foreground, linear-gradient(180deg, mix($body-bg, $color, 15%), $color);\n } @else {\n background-image: linear-gradient(180deg, mix($body-bg, $color, 15%), $color);\n }\n } @else {\n background-color: $color;\n }\n}\n\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: null, $end-percent: null) {\n background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n}\n\n@mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) {\n background-image: linear-gradient($deg, $start-color, $end-color);\n}\n\n@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n}\n\n@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n}\n\n@mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) {\n background-image: radial-gradient(circle, $inner-color, $outer-color);\n}\n\n@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {\n background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n","// Range\n//\n// Style range inputs the same across browsers. Vendor-specific rules for pseudo\n// elements cannot be mixed. As such, there are no shared styles for focus or\n// active states on prefixed selectors.\n\n.form-range {\n width: 100%;\n height: add($form-range-thumb-height, $form-range-thumb-focus-box-shadow-width * 2);\n padding: 0; // Need to reset padding\n background-color: transparent;\n appearance: none;\n\n &:focus {\n outline: none;\n\n // Pseudo-elements must be split across multiple rulesets to have an effect.\n // No box-shadow() mixin for focus accessibility.\n &::-webkit-slider-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }\n &::-moz-range-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }\n &::-ms-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }\n }\n\n &::-moz-focus-outer {\n border: 0;\n }\n\n &::-webkit-slider-thumb {\n width: $form-range-thumb-width;\n height: $form-range-thumb-height;\n margin-top: ($form-range-track-height - $form-range-thumb-height) / 2; // Webkit specific\n @include gradient-bg($form-range-thumb-bg);\n border: $form-range-thumb-border;\n @include border-radius($form-range-thumb-border-radius);\n @include box-shadow($form-range-thumb-box-shadow);\n @include transition($form-range-thumb-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($form-range-thumb-active-bg);\n }\n }\n\n &::-webkit-slider-runnable-track {\n width: $form-range-track-width;\n height: $form-range-track-height;\n color: transparent; // Why?\n cursor: $form-range-track-cursor;\n background-color: $form-range-track-bg;\n border-color: transparent;\n @include border-radius($form-range-track-border-radius);\n @include box-shadow($form-range-track-box-shadow);\n }\n\n &::-moz-range-thumb {\n width: $form-range-thumb-width;\n height: $form-range-thumb-height;\n @include gradient-bg($form-range-thumb-bg);\n border: $form-range-thumb-border;\n @include border-radius($form-range-thumb-border-radius);\n @include box-shadow($form-range-thumb-box-shadow);\n @include transition($form-range-thumb-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($form-range-thumb-active-bg);\n }\n }\n\n &::-moz-range-track {\n width: $form-range-track-width;\n height: $form-range-track-height;\n color: transparent;\n cursor: $form-range-track-cursor;\n background-color: $form-range-track-bg;\n border-color: transparent; // Firefox specific?\n @include border-radius($form-range-track-border-radius);\n @include box-shadow($form-range-track-box-shadow);\n }\n\n &::-ms-thumb {\n width: $form-range-thumb-width;\n height: $form-range-thumb-height;\n margin-top: 0; // Edge specific\n margin-right: $form-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.\n margin-left: $form-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.\n @include gradient-bg($form-range-thumb-bg);\n border: $form-range-thumb-border;\n @include border-radius($form-range-thumb-border-radius);\n @include box-shadow($form-range-thumb-box-shadow);\n @include transition($form-range-thumb-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($form-range-thumb-active-bg);\n }\n }\n\n &::-ms-track {\n width: $form-range-track-width;\n height: $form-range-track-height;\n color: transparent;\n cursor: $form-range-track-cursor;\n background-color: transparent;\n border-color: transparent;\n border-width: $form-range-thumb-height / 2;\n @include box-shadow($form-range-track-box-shadow);\n }\n\n &::-ms-fill-lower {\n background-color: $form-range-track-bg;\n @include border-radius($form-range-track-border-radius);\n }\n\n &::-ms-fill-upper {\n margin-right: 15px; // arbitrary?\n background-color: $form-range-track-bg;\n @include border-radius($form-range-track-border-radius);\n }\n\n &:disabled {\n pointer-events: none;\n\n &::-webkit-slider-thumb {\n background-color: $form-range-thumb-disabled-bg;\n }\n\n &::-moz-range-thumb {\n background-color: $form-range-thumb-disabled-bg;\n }\n\n &::-ms-thumb {\n background-color: $form-range-thumb-disabled-bg;\n }\n }\n}\n","//\n// Base styles\n//\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap; // For form validation feedback\n align-items: stretch;\n width: 100%;\n\n > .form-control,\n > .form-select,\n > .form-file {\n position: relative; // For focus state's z-index\n flex: 1 1 auto;\n width: 1%;\n min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size\n }\n\n // Bring the \"active\" form control to the top of surrounding elements\n > .form-control:focus,\n > .form-select:focus,\n > .form-file .form-file-input:focus ~ .form-file-label {\n z-index: 3;\n }\n\n // Bring the custom file input above the label\n > .form-file {\n > .form-file-input:focus {\n z-index: 4;\n }\n\n &:not(:last-child) > .form-file-label {\n @include border-right-radius(0);\n }\n\n &:not(:first-child) > .form-file-label {\n @include border-left-radius(0);\n }\n }\n\n // Ensure buttons are always above inputs for more visually pleasing borders.\n // This isn't needed for `.input-group-text` since it shares the same border-color\n // as our inputs.\n .btn {\n position: relative;\n z-index: 2;\n\n &:focus {\n z-index: 3;\n }\n }\n}\n\n\n// Textual addons\n//\n// Serves as a catch-all element for any text or radio/checkbox input you wish\n// to prepend or append to an input.\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: $input-padding-y $input-padding-x;\n margin-bottom: 0; // Allow use of <label> elements by overriding our default margin-bottom\n @include font-size($input-font-size); // Match inputs\n font-weight: $font-weight-normal;\n line-height: $input-line-height;\n color: $input-group-addon-color;\n text-align: center;\n white-space: nowrap;\n background-color: $input-group-addon-bg;\n border: $input-border-width solid $input-group-addon-border-color;\n @include border-radius($input-border-radius);\n}\n\n\n// Sizing\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control {\n min-height: $input-height-lg;\n}\n\n.input-group-lg > .form-select {\n height: $input-height-lg;\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .form-select,\n.input-group-lg > .input-group-text,\n.input-group-lg > .btn {\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n @include border-radius($input-border-radius-lg);\n}\n\n.input-group-sm > .form-control {\n min-height: $input-height-sm;\n}\n\n.input-group-sm > .form-select {\n height: $input-height-sm;\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .form-select,\n.input-group-sm > .input-group-text,\n.input-group-sm > .btn {\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n @include border-radius($input-border-radius-sm);\n}\n\n.input-group-lg > .form-select,\n.input-group-sm > .form-select {\n padding-right: $form-select-padding-x + $form-select-indicator-padding;\n}\n\n\n// Rounded corners\n//\n// These rulesets must come after the sizing ones to properly override sm and lg\n// border-radius values when extending. They're more specific than we'd like\n// with the `.input-group >` part, but without it, we cannot override the sizing.\n\n// stylelint-disable-next-line no-duplicate-selectors\n.input-group {\n > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),\n > .dropdown-toggle:nth-last-child(n + 3) {\n @include border-right-radius(0);\n }\n\n > :not(:first-child):not(.dropdown-menu) {\n margin-left: -$input-border-width;\n @include border-left-radius(0);\n }\n}\n","// This mixin uses an `if()` technique to be compatible with Dart Sass\n// See https://github.com/sass/sass/issues/1873#issuecomment-152293725 for more details\n@mixin form-validation-state-selector($state) {\n @if ($state == \"valid\" or $state == \"invalid\") {\n .was-validated #{if(&, \"&\", \"\")}:#{$state},\n #{if(&, \"&\", \"\")}.is-#{$state} {\n @content;\n }\n } @else {\n #{if(&, \"&\", \"\")}.is-#{$state} {\n @content;\n }\n }\n}\n\n@mixin form-validation-state($state, $color, $icon) {\n .#{$state}-feedback {\n display: none;\n width: 100%;\n margin-top: $form-feedback-margin-top;\n @include font-size($form-feedback-font-size);\n color: $color;\n }\n\n .#{$state}-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%; // Contain to parent when possible\n padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x;\n margin-top: .1rem;\n @include font-size($form-feedback-tooltip-font-size);\n line-height: $form-feedback-tooltip-line-height;\n color: color-contrast($color);\n background-color: rgba($color, $form-feedback-tooltip-opacity);\n @include border-radius($form-feedback-tooltip-border-radius);\n }\n\n @include form-validation-state-selector($state) {\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n\n .form-control {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-image: escape-svg($icon);\n background-repeat: no-repeat;\n background-position: right $input-height-inner-quarter center;\n background-size: $input-height-inner-half $input-height-inner-half;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, $input-btn-focus-color-opacity);\n }\n }\n }\n\n // stylelint-disable-next-line selector-no-qualifying-type\n textarea.form-control {\n @include form-validation-state-selector($state) {\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-position: top $input-height-inner-quarter right $input-height-inner-quarter;\n }\n }\n }\n\n .form-select {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $form-select-feedback-icon-padding-right;\n background-image: escape-svg($form-select-indicator), escape-svg($icon);\n background-position: $form-select-bg-position, $form-select-feedback-icon-position;\n background-size: $form-select-bg-size, $form-select-feedback-icon-size;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n\n .form-check-input {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n &:checked {\n @include gradient-bg(lighten($color, 10%), escape-svg($form-check-input-checked-bg-image));\n }\n\n &:focus {\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n\n ~ .form-check-label {\n color: $color;\n }\n }\n }\n .form-check-inline .form-check-input {\n ~ .#{$state}-feedback {\n margin-left: .5em;\n }\n }\n\n // custom file\n .form-file-input {\n @include form-validation-state-selector($state) {\n ~ .form-file-label {\n border-color: $color;\n }\n\n &:focus {\n ~ .form-file-label {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n }\n}\n","//\n// Base styles\n//\n\n.btn {\n display: inline-block;\n font-family: $btn-font-family;\n font-weight: $btn-font-weight;\n line-height: $btn-line-height;\n color: $body-color;\n text-align: center;\n text-decoration: if($link-decoration == none, null, none);\n white-space: $btn-white-space;\n vertical-align: middle;\n cursor: if($enable-pointer-cursor-for-buttons, pointer, null);\n user-select: none;\n background-color: transparent;\n border: $btn-border-width solid transparent;\n @include button-size($btn-padding-y, $btn-padding-x, $btn-font-size, $btn-border-radius);\n @include transition($btn-transition);\n\n &:hover {\n color: $body-color;\n text-decoration: if($link-hover-decoration == underline, none, null);\n }\n\n &:focus,\n &.focus {\n outline: 0;\n box-shadow: $btn-focus-box-shadow;\n }\n\n &:active,\n &.active {\n @include box-shadow($btn-active-box-shadow);\n\n &:focus {\n @include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow);\n }\n }\n\n &:disabled,\n &.disabled,\n fieldset:disabled & { // stylelint-disable-line selector-no-qualifying-type\n pointer-events: none;\n opacity: $btn-disabled-opacity;\n @include box-shadow(none);\n }\n}\n\n\n//\n// Alternate buttons\n//\n\n@each $color, $value in $theme-colors {\n .btn-#{$color} {\n @include button-variant($value, $value);\n }\n}\n\n@each $color, $value in $theme-colors {\n .btn-outline-#{$color} {\n @include button-outline-variant($value);\n }\n}\n\n\n//\n// Link buttons\n//\n\n// Make a button look and behave like a link\n.btn-link {\n font-weight: $font-weight-normal;\n color: $btn-link-color;\n text-decoration: $link-decoration;\n\n &:hover {\n color: $btn-link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n\n &:focus,\n &.focus {\n text-decoration: $link-hover-decoration;\n }\n\n &:disabled,\n &.disabled {\n color: $btn-link-disabled-color;\n }\n\n // No need for an active state here\n}\n\n\n//\n// Button Sizes\n//\n\n.btn-lg {\n @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-border-radius-lg);\n}\n\n.btn-sm {\n @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-border-radius-sm);\n}\n\n\n//\n// Block button\n//\n\n.btn-block {\n display: block;\n width: 100%;\n\n // Vertically space out multiple block buttons\n + .btn-block {\n margin-top: $btn-block-spacing-y;\n }\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n@mixin button-variant(\n $background,\n $border,\n $color: color-contrast($background),\n $hover-background: darken($background, 7.5%),\n $hover-border: darken($border, 10%),\n $hover-color: color-contrast($hover-background),\n $active-background: darken($background, 10%),\n $active-border: darken($border, 12.5%),\n $active-color: color-contrast($active-background)\n) {\n color: $color;\n @include gradient-bg($background);\n border-color: $border;\n @include box-shadow($btn-box-shadow);\n\n &:hover {\n color: $hover-color;\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n }\n\n &:focus,\n &.focus {\n color: $hover-color;\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $btn-box-shadow, 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5);\n }\n }\n\n &:active,\n &.active,\n .show > &.dropdown-toggle {\n color: $active-color;\n background-color: $active-background;\n // Remove CSS gradients if they're enabled\n background-image: if($enable-gradients, none, null);\n border-color: $active-border;\n\n &:focus {\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows and $btn-active-box-shadow != none {\n box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5);\n }\n }\n }\n\n &:disabled,\n &.disabled {\n color: $color;\n background-color: $background;\n // Remove CSS gradients if they're enabled\n background-image: if($enable-gradients, none, null);\n border-color: $border;\n }\n}\n\n@mixin button-outline-variant(\n $color,\n $color-hover: color-contrast($color),\n $active-background: $color,\n $active-border: $color,\n $active-color: color-contrast($active-background)\n) {\n color: $color;\n border-color: $color;\n\n &:hover {\n color: $color-hover;\n background-color: $active-background;\n border-color: $active-border;\n }\n\n &:focus,\n &.focus {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n\n &:active,\n &.active,\n &.dropdown-toggle.show {\n color: $active-color;\n background-color: $active-background;\n border-color: $active-border;\n\n &:focus {\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows and $btn-active-box-shadow != none {\n box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n }\n }\n\n &:disabled,\n &.disabled {\n color: $color;\n background-color: transparent;\n }\n}\n\n// Button sizes\n@mixin button-size($padding-y, $padding-x, $font-size, $border-radius) {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n // Manually declare to provide an override to the browser default\n @include border-radius($border-radius, 0);\n}\n",".fade {\n @include transition($transition-fade);\n\n &:not(.show) {\n opacity: 0;\n }\n}\n\n.collapse {\n &:not(.show) {\n display: none;\n }\n}\n\n.collapsing {\n height: 0;\n overflow: hidden;\n @include transition($transition-collapse);\n}\n","// The dropdown wrapper (`<div>`)\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n\n // Generate the caret automatically\n @include caret();\n}\n\n// The dropdown menu\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: $zindex-dropdown;\n display: none; // none by default, but block on \"open\" of the menu\n min-width: $dropdown-min-width;\n padding: $dropdown-padding-y 0;\n margin: $dropdown-spacer 0 0; // override default ul\n @include font-size($dropdown-font-size);\n color: $dropdown-color;\n text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n list-style: none;\n background-color: $dropdown-bg;\n background-clip: padding-box;\n border: $dropdown-border-width solid $dropdown-border-color;\n @include border-radius($dropdown-border-radius);\n @include box-shadow($dropdown-box-shadow);\n}\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .dropdown-menu#{$infix}-left {\n right: auto;\n left: 0;\n }\n\n .dropdown-menu#{$infix}-right {\n right: 0;\n left: auto;\n }\n }\n}\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n// Just add .dropup after the standard .dropdown class and you're set.\n.dropup {\n .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(up);\n }\n}\n\n.dropright {\n .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(right);\n &::after {\n vertical-align: 0;\n }\n }\n}\n\n.dropleft {\n .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(left);\n &::before {\n vertical-align: 0;\n }\n }\n}\n\n// When enabled Popper.js, reset basic dropdown position\n// stylelint-disable-next-line no-duplicate-selectors\n.dropdown-menu {\n &[x-placement^=\"top\"],\n &[x-placement^=\"right\"],\n &[x-placement^=\"bottom\"],\n &[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n }\n}\n\n// Dividers (basically an `<hr>`) within the dropdown\n.dropdown-divider {\n height: 0;\n margin: $dropdown-divider-margin-y 0;\n overflow: hidden;\n border-top: 1px solid $dropdown-divider-bg;\n}\n\n// Links, buttons, and more within the dropdown menu\n//\n// `<button>`-specific styles are denoted with `// For <button>s`\n.dropdown-item {\n display: block;\n width: 100%; // For `<button>`s\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n clear: both;\n font-weight: $font-weight-normal;\n color: $dropdown-link-color;\n text-align: inherit; // For `<button>`s\n text-decoration: if($link-decoration == none, null, none);\n white-space: nowrap; // prevent links from randomly breaking onto new lines\n background-color: transparent; // For `<button>`s\n border: 0; // For `<button>`s\n\n // Prevent dropdown overflow if there's no padding\n // See https://github.com/twbs/bootstrap/pull/27703\n @if $dropdown-padding-y == 0 {\n &:first-child {\n @include border-top-radius($dropdown-inner-border-radius);\n }\n\n &:last-child {\n @include border-bottom-radius($dropdown-inner-border-radius);\n }\n }\n\n &:hover,\n &:focus {\n color: $dropdown-link-hover-color;\n text-decoration: if($link-hover-decoration == underline, none, null);\n @include gradient-bg($dropdown-link-hover-bg);\n }\n\n &.active,\n &:active {\n color: $dropdown-link-active-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-active-bg);\n }\n\n &.disabled,\n &:disabled {\n color: $dropdown-link-disabled-color;\n pointer-events: none;\n background-color: transparent;\n // Remove CSS gradients if they're enabled\n background-image: if($enable-gradients, none, null);\n }\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n// Dropdown section headers\n.dropdown-header {\n display: block;\n padding: $dropdown-header-padding;\n margin-bottom: 0; // for use with heading elements\n @include font-size($font-size-sm);\n color: $dropdown-header-color;\n white-space: nowrap; // as with > li > a\n}\n\n// Dropdown text\n.dropdown-item-text {\n display: block;\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n color: $dropdown-link-color;\n}\n","@mixin caret-down {\n border-top: $caret-width solid;\n border-right: $caret-width solid transparent;\n border-bottom: 0;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-up {\n border-top: 0;\n border-right: $caret-width solid transparent;\n border-bottom: $caret-width solid;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-right {\n border-top: $caret-width solid transparent;\n border-right: 0;\n border-bottom: $caret-width solid transparent;\n border-left: $caret-width solid;\n}\n\n@mixin caret-left {\n border-top: $caret-width solid transparent;\n border-right: $caret-width solid;\n border-bottom: $caret-width solid transparent;\n}\n\n@mixin caret($direction: down) {\n @if $enable-caret {\n &::after {\n display: inline-block;\n margin-left: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @if $direction == down {\n @include caret-down();\n } @else if $direction == up {\n @include caret-up();\n } @else if $direction == right {\n @include caret-right();\n }\n }\n\n @if $direction == left {\n &::after {\n display: none;\n }\n\n &::before {\n display: inline-block;\n margin-right: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @include caret-left();\n }\n }\n\n &:empty::after {\n margin-left: 0;\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle; // match .btn alignment given font-size hack above\n\n > .btn {\n position: relative;\n flex: 1 1 auto;\n\n // Bring the hover, focused, and \"active\" buttons to the front to overlay\n // the borders properly\n &:hover,\n &:focus,\n &:active,\n &.active {\n z-index: 1;\n }\n }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n\n .input-group {\n width: auto;\n }\n}\n\n.btn-group {\n // Prevent double borders when buttons are next to each other\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-left: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-right-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-left-radius(0);\n }\n}\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-sm > .btn { @extend .btn-sm; }\n.btn-group-lg > .btn { @extend .btn-lg; }\n\n\n//\n// Split button dropdowns\n//\n\n.dropdown-toggle-split {\n padding-right: $btn-padding-x * .75;\n padding-left: $btn-padding-x * .75;\n\n &::after,\n .dropup &::after,\n .dropright &::after {\n margin-left: 0;\n }\n\n .dropleft &::before {\n margin-right: 0;\n }\n}\n\n.btn-sm + .dropdown-toggle-split {\n padding-right: $btn-padding-x-sm * .75;\n padding-left: $btn-padding-x-sm * .75;\n}\n\n.btn-lg + .dropdown-toggle-split {\n padding-right: $btn-padding-x-lg * .75;\n padding-left: $btn-padding-x-lg * .75;\n}\n\n\n// The clickable button for toggling the menu\n// Set the same inset shadow as the :active state\n.btn-group.show .dropdown-toggle {\n @include box-shadow($btn-active-box-shadow);\n\n // Show no shadow for `.btn-link` since it has no other button styles.\n &.btn-link {\n @include box-shadow(none);\n }\n}\n\n\n//\n// Vertical button groups\n//\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n\n > .btn,\n > .btn-group {\n width: 100%;\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-top: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-bottom-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-top-radius(0);\n }\n}\n\n\n// Checkbox and radio options\n//\n// In order to support the browser's form validation feedback, powered by the\n// `required` attribute, we have to \"hide\" the inputs via `clip`. We cannot use\n// `display: none;` or `visibility: hidden;` as that also hides the popover.\n// Simply visually hiding the inputs via `opacity` would leave them clickable in\n// certain cases which is prevented by using `clip` and `pointer-events`.\n// This way, we ensure a DOM element is visible to position the popover from.\n//\n// See https://github.com/twbs/bootstrap/pull/12794 and\n// https://github.com/twbs/bootstrap/pull/14559 for more information.\n\n.btn-group-toggle {\n > .btn,\n > .btn-group > .btn {\n margin-bottom: 0; // Override default `<label>` value\n\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n }\n }\n}\n","// Base class\n//\n// Kickstart any navigation component with a set of style resets. Works with\n// `<nav>`s, `<ul>`s or `<ol>`s.\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: $nav-link-padding-y $nav-link-padding-x;\n text-decoration: if($link-decoration == none, null, none);\n\n &:hover,\n &:focus {\n text-decoration: if($link-hover-decoration == underline, none, null);\n }\n\n // Disabled state lightens text\n &.disabled {\n color: $nav-link-disabled-color;\n pointer-events: none;\n cursor: default;\n }\n}\n\n//\n// Tabs\n//\n\n.nav-tabs {\n border-bottom: $nav-tabs-border-width solid $nav-tabs-border-color;\n\n .nav-link {\n margin-bottom: -$nav-tabs-border-width;\n border: $nav-tabs-border-width solid transparent;\n @include border-top-radius($nav-tabs-border-radius);\n\n &:hover,\n &:focus {\n border-color: $nav-tabs-link-hover-border-color;\n }\n\n &.disabled {\n color: $nav-link-disabled-color;\n background-color: transparent;\n border-color: transparent;\n }\n }\n\n .nav-link.active,\n .nav-item.show .nav-link {\n color: $nav-tabs-link-active-color;\n background-color: $nav-tabs-link-active-bg;\n border-color: $nav-tabs-link-active-border-color;\n }\n\n .dropdown-menu {\n // Make dropdown border overlap tab border\n margin-top: -$nav-tabs-border-width;\n // Remove the top rounded corners here since there is a hard edge above the menu\n @include border-top-radius(0);\n }\n}\n\n\n//\n// Pills\n//\n\n.nav-pills {\n .nav-link {\n @include border-radius($nav-pills-border-radius);\n }\n\n .nav-link.active,\n .show > .nav-link {\n color: $nav-pills-link-active-color;\n background-color: $nav-pills-link-active-bg;\n }\n}\n\n\n//\n// Justified variants\n//\n\n.nav-fill {\n .nav-item {\n flex: 1 1 auto;\n text-align: center;\n }\n}\n\n.nav-justified {\n .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n }\n}\n\n\n// Tabbable tabs\n//\n// Hide tabbable panes to start, show them when `.active`\n\n.tab-content {\n > .tab-pane {\n display: none;\n }\n > .active {\n display: block;\n }\n}\n","// Contents\n//\n// Navbar\n// Navbar brand\n// Navbar nav\n// Navbar text\n// Responsive navbar\n// Navbar position\n// Navbar themes\n\n\n// Navbar\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap; // allow us to do the line break for collapsing content\n align-items: center;\n justify-content: space-between; // space out brand from logo\n padding-top: $navbar-padding-y;\n padding-right: $navbar-padding-x; // default: null\n padding-bottom: $navbar-padding-y;\n padding-left: $navbar-padding-x; // default: null\n\n // Because flex properties aren't inherited, we need to redeclare these first\n // few properties so that content nested within behave properly.\n // The `flex-wrap` property is inherited to simplify the expanded navbars\n %container-flex-properties {\n display: flex;\n flex-wrap: inherit;\n align-items: center;\n justify-content: space-between;\n }\n\n > .container,\n > .container-fluid {\n @extend %container-flex-properties;\n }\n\n @each $breakpoint, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($breakpoint, $container-max-widths)} {\n @extend %container-flex-properties;\n }\n }\n}\n\n\n// Navbar brand\n//\n// Used for brand, project, or site names.\n\n.navbar-brand {\n padding-top: $navbar-brand-padding-y;\n padding-bottom: $navbar-brand-padding-y;\n margin-right: $navbar-brand-margin-right;\n @include font-size($navbar-brand-font-size);\n white-space: nowrap;\n\n &:hover,\n &:focus {\n text-decoration: none;\n }\n}\n\n\n// Navbar nav\n//\n// Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`).\n\n.navbar-nav {\n display: flex;\n flex-direction: column; // cannot use `inherit` to get the `.navbar`s value\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n\n .nav-link {\n padding-right: 0;\n padding-left: 0;\n }\n\n .dropdown-menu {\n position: static;\n }\n}\n\n\n// Navbar text\n//\n//\n\n.navbar-text {\n padding-top: $nav-link-padding-y;\n padding-bottom: $nav-link-padding-y;\n}\n\n\n// Responsive navbar\n//\n// Custom styles for responsive collapsing and toggling of navbar contents.\n// Powered by the collapse Bootstrap JavaScript plugin.\n\n// When collapsed, prevent the toggleable navbar contents from appearing in\n// the default flexbox row orientation. Requires the use of `flex-wrap: wrap`\n// on the `.navbar` parent.\n.navbar-collapse {\n // For always expanded or extra full navbars, ensure content aligns itself\n // properly vertically. Can be easily overridden with flex utilities.\n align-items: center;\n width: 100%;\n}\n\n// Button for toggling the navbar when in its collapsed state\n.navbar-toggler {\n padding: $navbar-toggler-padding-y $navbar-toggler-padding-x;\n @include font-size($navbar-toggler-font-size);\n line-height: 1;\n background-color: transparent; // remove default button style\n border: $border-width solid transparent; // remove default button style\n @include border-radius($navbar-toggler-border-radius);\n @include transition($navbar-toggler-transition);\n\n &:hover {\n text-decoration: none;\n }\n\n &:focus {\n text-decoration: none;\n outline: 0;\n box-shadow: 0 0 0 $navbar-toggler-focus-width;\n }\n}\n\n// Keep as a separate element so folks can easily override it with another icon\n// or image file as needed.\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n background-repeat: no-repeat;\n background-position: center;\n background-size: 100%;\n}\n\n// Generate series of `.navbar-expand-*` responsive classes for configuring\n// where your navbar collapses.\n.navbar-expand {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-up($next) {\n flex-wrap: nowrap;\n justify-content: flex-start;\n\n .navbar-nav {\n flex-direction: row;\n\n .dropdown-menu {\n position: absolute;\n }\n\n .nav-link {\n padding-right: $navbar-nav-link-padding-x;\n padding-left: $navbar-nav-link-padding-x;\n }\n }\n\n .navbar-collapse {\n display: flex !important; // stylelint-disable-line declaration-no-important\n }\n\n .navbar-toggler {\n display: none;\n }\n }\n }\n }\n}\n\n\n// Navbar themes\n//\n// Styles for switching between navbars with light or dark background.\n\n// Dark links against a light background\n.navbar-light {\n .navbar-brand {\n color: $navbar-light-brand-color;\n\n &:hover,\n &:focus {\n color: $navbar-light-brand-hover-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-light-color;\n\n &:hover,\n &:focus {\n color: $navbar-light-hover-color;\n }\n\n &.disabled {\n color: $navbar-light-disabled-color;\n }\n }\n\n .show > .nav-link,\n .active > .nav-link,\n .nav-link.show,\n .nav-link.active {\n color: $navbar-light-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-light-color;\n border-color: $navbar-light-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: escape-svg($navbar-light-toggler-icon-bg);\n }\n\n .navbar-text {\n color: $navbar-light-color;\n\n a,\n a:hover,\n a:focus {\n color: $navbar-light-active-color;\n }\n }\n}\n\n// White links against a dark background\n.navbar-dark {\n .navbar-brand {\n color: $navbar-dark-brand-color;\n\n &:hover,\n &:focus {\n color: $navbar-dark-brand-hover-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-dark-color;\n\n &:hover,\n &:focus {\n color: $navbar-dark-hover-color;\n }\n\n &.disabled {\n color: $navbar-dark-disabled-color;\n }\n }\n\n .show > .nav-link,\n .active > .nav-link,\n .nav-link.show,\n .nav-link.active {\n color: $navbar-dark-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-dark-color;\n border-color: $navbar-dark-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: escape-svg($navbar-dark-toggler-icon-bg);\n }\n\n .navbar-text {\n color: $navbar-dark-color;\n a,\n a:hover,\n a:focus {\n color: $navbar-dark-active-color;\n }\n }\n}\n","//\n// Base styles\n//\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106\n height: $card-height;\n word-wrap: break-word;\n background-color: $card-bg;\n background-clip: border-box;\n border: $card-border-width solid $card-border-color;\n @include border-radius($card-border-radius);\n\n > hr {\n margin-right: 0;\n margin-left: 0;\n }\n\n > .list-group:first-child {\n .list-group-item:first-child {\n @include border-top-radius($card-border-radius);\n }\n }\n\n > .list-group:last-child {\n .list-group-item:last-child {\n @include border-bottom-radius($card-border-radius);\n }\n }\n}\n\n.card-body {\n // Enable `flex-grow: 1` for decks and groups so that card blocks take up\n // as much space as possible, ensuring footers are aligned to the bottom.\n flex: 1 1 auto;\n padding: $card-spacer-y $card-spacer-x;\n color: $card-color;\n}\n\n.card-title {\n margin-bottom: $card-title-spacer-y;\n}\n\n.card-subtitle {\n margin-top: -$card-title-spacer-y / 2;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link {\n &:hover {\n text-decoration: none;\n }\n\n + .card-link {\n margin-left: $card-spacer-x;\n }\n}\n\n//\n// Optional textual caps\n//\n\n.card-header {\n padding: $card-cap-padding-y $card-cap-padding-x;\n margin-bottom: 0; // Removes the default margin-bottom of <hN>\n color: $card-cap-color;\n background-color: $card-cap-bg;\n border-bottom: $card-border-width solid $card-border-color;\n\n &:first-child {\n @include border-radius($card-inner-border-radius $card-inner-border-radius 0 0);\n }\n\n + .list-group {\n .list-group-item:first-child {\n border-top: 0;\n }\n }\n}\n\n.card-footer {\n padding: $card-cap-padding-y $card-cap-padding-x;\n background-color: $card-cap-bg;\n border-top: $card-border-width solid $card-border-color;\n\n &:last-child {\n @include border-radius(0 0 $card-inner-border-radius $card-inner-border-radius);\n }\n}\n\n\n//\n// Header navs\n//\n\n.card-header-tabs {\n margin-right: -$card-cap-padding-x / 2;\n margin-bottom: -$card-cap-padding-y;\n margin-left: -$card-cap-padding-x / 2;\n border-bottom: 0;\n\n @if $nav-tabs-link-active-bg != $card-bg {\n .nav-link.active {\n background-color: $card-bg;\n border-bottom-color: $card-bg;\n }\n }\n}\n\n.card-header-pills {\n margin-right: -$card-cap-padding-x / 2;\n margin-left: -$card-cap-padding-x / 2;\n}\n\n// Card image\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: $card-img-overlay-padding;\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n}\n\n.card-img,\n.card-img-top {\n @include border-top-radius($card-inner-border-radius);\n}\n\n.card-img,\n.card-img-bottom {\n @include border-bottom-radius($card-inner-border-radius);\n}\n\n\n//\n// Card groups\n//\n\n.card-group {\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n margin-bottom: $card-group-margin;\n }\n\n @include media-breakpoint-up(sm) {\n display: flex;\n flex-flow: row wrap;\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n flex: 1 0 0%;\n margin-bottom: 0;\n\n + .card {\n margin-left: 0;\n border-left: 0;\n }\n\n // Handle rounded corners\n @if $enable-rounded {\n &:not(:last-child) {\n @include border-right-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-blacklist\n border-top-right-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-blacklist\n border-bottom-right-radius: 0;\n }\n }\n\n &:not(:first-child) {\n @include border-left-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-blacklist\n border-top-left-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-blacklist\n border-bottom-left-radius: 0;\n }\n }\n }\n }\n }\n}\n\n\n//\n// Accordion\n//\n\n.accordion {\n > .card {\n overflow: hidden;\n\n &:not(:last-of-type) {\n border-bottom: 0;\n @include border-bottom-radius(0);\n }\n\n &:not(:first-of-type) {\n @include border-top-radius(0);\n }\n\n > .card-header {\n @include border-radius(0);\n margin-bottom: -$card-border-width;\n }\n }\n}\n",".breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: $breadcrumb-padding-y $breadcrumb-padding-x;\n margin-bottom: $breadcrumb-margin-bottom;\n @include font-size($breadcrumb-font-size);\n list-style: none;\n background-color: $breadcrumb-bg;\n @include border-radius($breadcrumb-border-radius);\n}\n\n.breadcrumb-item {\n display: flex;\n\n // The separator between breadcrumbs (by default, a forward-slash: \"/\")\n + .breadcrumb-item {\n padding-left: $breadcrumb-item-padding-x;\n\n &::before {\n display: inline-block; // Suppress underlining of the separator\n padding-right: $breadcrumb-item-padding-x;\n color: $breadcrumb-divider-color;\n content: escape-svg($breadcrumb-divider);\n }\n }\n\n &.active {\n color: $breadcrumb-active-color;\n }\n}\n",".pagination {\n display: flex;\n @include list-unstyled();\n}\n\n.page-link {\n position: relative;\n display: block;\n color: $pagination-color;\n text-decoration: if($link-decoration == none, null, none);\n background-color: $pagination-bg;\n border: $pagination-border-width solid $pagination-border-color;\n\n &:hover {\n z-index: 2;\n color: $pagination-hover-color;\n text-decoration: if($link-hover-decoration == underline, none, null);\n background-color: $pagination-hover-bg;\n border-color: $pagination-hover-border-color;\n }\n\n &:focus {\n z-index: 3;\n outline: $pagination-focus-outline;\n box-shadow: $pagination-focus-box-shadow;\n }\n}\n\n.page-item {\n &:not(:first-child) .page-link {\n margin-left: $pagination-margin-left;\n }\n\n &.active .page-link {\n z-index: 3;\n color: $pagination-active-color;\n background-color: $pagination-active-bg;\n border-color: $pagination-active-border-color;\n }\n\n &.disabled .page-link {\n color: $pagination-disabled-color;\n pointer-events: none;\n background-color: $pagination-disabled-bg;\n border-color: $pagination-disabled-border-color;\n }\n}\n\n\n//\n// Sizing\n//\n@include pagination-size($pagination-padding-y, $pagination-padding-x, null, $pagination-border-radius);\n\n.pagination-lg {\n @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $border-radius-lg);\n}\n\n.pagination-sm {\n @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $border-radius-sm);\n}\n","// Pagination\n\n@mixin pagination-size($padding-y, $padding-x, $font-size, $border-radius) {\n .page-link {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n }\n\n .page-item {\n @if $pagination-margin-left == (-$pagination-border-width) {\n &:first-child {\n .page-link {\n @include border-left-radius($border-radius);\n }\n }\n\n &:last-child {\n .page-link {\n @include border-right-radius($border-radius);\n }\n }\n } @else {\n //Add border-radius to all pageLinks in case they have left margin\n .page-link {\n @include border-radius($border-radius);\n }\n }\n }\n}\n","// Base class\n//\n// Requires one of the contextual, color modifier classes for `color` and\n// `background-color`.\n\n.badge {\n display: inline-block;\n padding: $badge-padding-y $badge-padding-x;\n @include font-size($badge-font-size);\n font-weight: $badge-font-weight;\n line-height: 1;\n color: $badge-color;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n @include border-radius($badge-border-radius);\n\n // Empty badges collapse automatically\n &:empty {\n display: none;\n }\n}\n\n// Quick fix for badges in buttons\n.btn .badge {\n position: relative;\n top: -1px;\n}\n","//\n// Base styles\n//\n\n.alert {\n position: relative;\n padding: $alert-padding-y $alert-padding-x;\n margin-bottom: $alert-margin-bottom;\n border: $alert-border-width solid transparent;\n @include border-radius($alert-border-radius);\n}\n\n// Headings for larger alerts\n.alert-heading {\n // Specified to prevent conflicts of changing $headings-color\n color: inherit;\n}\n\n// Provide class for links that match alerts\n.alert-link {\n font-weight: $alert-link-font-weight;\n}\n\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissible {\n padding-right: $close-font-size + $alert-padding-x * 2;\n\n // Adjust close link position\n .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: $alert-padding-y $alert-padding-x;\n color: inherit;\n }\n}\n\n\n// Alternate styles\n//\n// Generate contextual modifier classes for colorizing the alert.\n\n@each $color, $value in $theme-colors {\n .alert-#{$color} {\n @include alert-variant(color-level($value, $alert-bg-level), color-level($value, $alert-border-level), color-level($value, $alert-color-level));\n }\n}\n","@mixin alert-variant($background, $border, $color) {\n color: $color;\n @include gradient-bg($background);\n border-color: $border;\n\n .alert-link {\n color: darken($color, 10%);\n }\n}\n","// Disable animation if transitions are disabled\n@if $enable-transitions {\n @keyframes progress-bar-stripes {\n 0% { background-position-x: $progress-height; }\n }\n}\n\n.progress {\n display: flex;\n height: $progress-height;\n overflow: hidden; // force rounded corners by cropping it\n @include font-size($progress-font-size);\n background-color: $progress-bg;\n @include border-radius($progress-border-radius);\n @include box-shadow($progress-box-shadow);\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: $progress-bar-color;\n text-align: center;\n white-space: nowrap;\n background-color: $progress-bar-bg;\n @include transition($progress-bar-transition);\n}\n\n.progress-bar-striped {\n @include gradient-striped();\n background-size: $progress-height $progress-height;\n}\n\n@if $enable-transitions {\n .progress-bar-animated {\n animation: progress-bar-stripes $progress-bar-animation-timing;\n\n @if $enable-prefers-reduced-motion-media-query {\n @media (prefers-reduced-motion: reduce) {\n animation: none;\n }\n }\n }\n}\n","// Base class\n//\n// Easily usable on <ul>, <ol>, or <div>.\n\n.list-group {\n display: flex;\n flex-direction: column;\n\n // No need to set list-style: none; since .list-group-item is block level\n padding-left: 0; // reset padding because ul and ol\n margin-bottom: 0;\n}\n\n\n// Interactive list items\n//\n// Use anchor or button elements instead of `li`s or `div`s to create interactive\n// list items. Includes an extra `.active` modifier class for selected items.\n\n.list-group-item-action {\n width: 100%; // For `<button>`s (anchors become 100% by default though)\n color: $list-group-action-color;\n text-align: inherit; // For `<button>`s (anchors inherit)\n\n // Hover state\n &:hover,\n &:focus {\n z-index: 1; // Place hover/focus items above their siblings for proper border styling\n color: $list-group-action-hover-color;\n text-decoration: none;\n background-color: $list-group-hover-bg;\n }\n\n &:active {\n color: $list-group-action-active-color;\n background-color: $list-group-action-active-bg;\n }\n}\n\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n position: relative;\n display: block;\n padding: $list-group-item-padding-y $list-group-item-padding-x;\n margin-bottom: 0; // for <label> variations\n color: $list-group-color;\n text-decoration: if($link-decoration == none, null, none);\n background-color: $list-group-bg;\n border: $list-group-border-width solid $list-group-border-color;\n\n &:first-child {\n @include border-top-radius($list-group-border-radius);\n }\n\n &:last-child {\n @include border-bottom-radius($list-group-border-radius);\n }\n\n &.disabled,\n &:disabled {\n color: $list-group-disabled-color;\n pointer-events: none;\n background-color: $list-group-disabled-bg;\n }\n\n // Include both here for `<a>`s and `<button>`s\n &.active {\n z-index: 2; // Place active items above their siblings for proper border styling\n color: $list-group-active-color;\n background-color: $list-group-active-bg;\n border-color: $list-group-active-border-color;\n }\n\n & + & {\n border-top-width: 0;\n\n &.active {\n margin-top: -$list-group-border-width;\n border-top-width: $list-group-border-width;\n }\n }\n}\n\n\n// Horizontal\n//\n// Change the layout of list group items from vertical (default) to horizontal.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .list-group-horizontal#{$infix} {\n flex-direction: row;\n\n .list-group-item {\n &:first-child {\n @include border-bottom-left-radius($list-group-border-radius);\n @include border-top-right-radius(0);\n }\n\n &:last-child {\n @include border-top-right-radius($list-group-border-radius);\n @include border-bottom-left-radius(0);\n }\n\n &.active {\n margin-top: 0;\n }\n\n & + .list-group-item {\n border-top-width: $list-group-border-width;\n border-left-width: 0;\n\n &.active {\n margin-left: -$list-group-border-width;\n border-left-width: $list-group-border-width;\n }\n }\n }\n }\n }\n}\n\n\n// Flush list items\n//\n// Remove borders and border-radius to keep list group items edge-to-edge. Most\n// useful within other components (e.g., cards).\n\n.list-group-flush {\n .list-group-item {\n border-right-width: 0;\n border-left-width: 0;\n @include border-radius(0);\n\n &:first-child {\n border-top-width: 0;\n }\n }\n\n &:last-child {\n .list-group-item:last-child {\n border-bottom-width: 0;\n }\n }\n}\n\n\n// Contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n@each $color, $value in $theme-colors {\n @include list-group-item-variant($color, color-level($value, -9), color-level($value, 6));\n}\n","// List Groups\n\n@mixin list-group-item-variant($state, $background, $color) {\n .list-group-item-#{$state} {\n color: $color;\n background-color: $background;\n\n &.list-group-item-action {\n &:hover,\n &:focus {\n color: $color;\n background-color: darken($background, 5%);\n }\n\n &.active {\n color: $white;\n background-color: $color;\n border-color: $color;\n }\n }\n }\n}\n",".close {\n @include font-size($close-font-size);\n font-weight: $close-font-weight;\n line-height: 1;\n color: $close-color;\n text-shadow: $close-text-shadow;\n opacity: .5;\n\n // Override <a>'s hover style\n &:hover {\n color: $close-color;\n text-decoration: none;\n }\n\n &:hover,\n &:focus {\n opacity: .75;\n }\n\n &:disabled,\n &.disabled {\n pointer-events: none;\n }\n}\n\n// Additional properties for button version\n// iOS requires the button element instead of an anchor tag.\n// If you want the anchor version, it requires `href=\"#\"`.\n// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n// stylelint-disable-next-line selector-no-qualifying-type\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n appearance: none;\n}\n",".toast {\n max-width: $toast-max-width;\n overflow: hidden; // cheap rounded corners on nested items\n @include font-size($toast-font-size);\n color: $toast-color;\n background-color: $toast-background-color;\n background-clip: padding-box;\n border: $toast-border-width solid $toast-border-color;\n box-shadow: $toast-box-shadow;\n backdrop-filter: blur(10px);\n opacity: 0;\n @include border-radius($toast-border-radius);\n\n &:not(:last-child) {\n margin-bottom: $toast-padding-x;\n }\n\n &.showing {\n opacity: 1;\n }\n\n &.show {\n display: block;\n opacity: 1;\n }\n\n &.hide {\n display: none;\n }\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: $toast-padding-y $toast-padding-x;\n color: $toast-header-color;\n background-color: $toast-header-background-color;\n background-clip: padding-box;\n border-bottom: $toast-border-width solid $toast-header-border-color;\n}\n\n.toast-body {\n padding: $toast-padding-x; // apply to both vertical and horizontal\n}\n","// .modal-open - body class for killing the scroll\n// .modal - container to scroll within\n// .modal-dialog - positioning shell for the actual modal\n// .modal-content - actual modal w/ bg and corners and stuff\n\n\n.modal-open {\n // Kill the scroll on the body\n overflow: hidden;\n\n .modal {\n overflow-x: hidden;\n overflow-y: auto;\n }\n}\n\n// Container that the modal scrolls within\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n // Prevent Chrome on Windows from adding a focus outline. For details, see\n // https://github.com/twbs/bootstrap/pull/10951.\n outline: 0;\n // We deliberately don't use `-webkit-overflow-scrolling: touch;` due to a\n // gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342\n // See also https://github.com/twbs/bootstrap/issues/17695\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n position: relative;\n width: auto;\n margin: $modal-dialog-margin;\n // allow clicks to pass through for custom click handling to close modal\n pointer-events: none;\n\n // When fading in the modal, animate it to slide down\n .modal.fade & {\n @include transition($modal-transition);\n transform: $modal-fade-transform;\n }\n .modal.show & {\n transform: $modal-show-transform;\n }\n\n // When trying to close, animate focus to scale\n .modal.modal-static & {\n transform: $modal-scale-transform;\n }\n}\n\n.modal-dialog-scrollable {\n max-height: subtract(100%, $modal-dialog-margin * 2);\n\n .modal-content {\n overflow: hidden;\n }\n\n .modal-header,\n .modal-footer {\n flex-shrink: 0;\n }\n\n .modal-body {\n overflow-y: auto;\n }\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: subtract(100%, $modal-dialog-margin * 2);\n}\n\n// Actual modal\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%; // Ensure `.modal-content` extends the full width of the parent `.modal-dialog`\n // counteract the pointer-events: none; in the .modal-dialog\n color: $modal-content-color;\n pointer-events: auto;\n background-color: $modal-content-bg;\n background-clip: padding-box;\n border: $modal-content-border-width solid $modal-content-border-color;\n @include border-radius($modal-content-border-radius);\n @include box-shadow($modal-content-box-shadow-xs);\n // Remove focus outline from opened modal\n outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal-backdrop;\n width: 100vw;\n height: 100vh;\n background-color: $modal-backdrop-bg;\n\n // Fade for backdrop\n &.fade { opacity: 0; }\n &.show { opacity: $modal-backdrop-opacity; }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n display: flex;\n align-items: flex-start; // so the close btn always stays on the upper right corner\n justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends\n padding: $modal-header-padding;\n border-bottom: $modal-header-border-width solid $modal-header-border-color;\n @include border-top-radius($modal-content-inner-border-radius);\n\n .close {\n padding: $modal-header-padding;\n // auto on the left force icon to the right even when there is no .modal-title\n margin: (-$modal-header-padding-y) (-$modal-header-padding-x) (-$modal-header-padding-y) auto;\n }\n}\n\n// Title text within header\n.modal-title {\n margin-bottom: 0;\n line-height: $modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n position: relative;\n // Enable `flex-grow: 1` so that the body take up as much space as possible\n // when there should be a fixed height on `.modal-dialog`.\n flex: 1 1 auto;\n padding: $modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center; // vertically center\n justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items\n padding: $modal-inner-padding - $modal-footer-margin-between / 2;\n border-top: $modal-footer-border-width solid $modal-footer-border-color;\n @include border-bottom-radius($modal-content-inner-border-radius);\n\n // Place margin between footer elements\n // This solution is far from ideal because of the universal selector usage,\n // but is needed to fix https://github.com/twbs/bootstrap/issues/24800\n > * {\n margin: $modal-footer-margin-between / 2;\n }\n}\n\n// Measure scrollbar width for padding body during modal show/hide\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n// Scale up the modal\n@include media-breakpoint-up(sm) {\n // Automatically set modal's width for larger viewports\n .modal-dialog {\n max-width: $modal-md;\n margin: $modal-dialog-margin-y-sm-up auto;\n }\n\n .modal-dialog-scrollable {\n max-height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);\n }\n\n .modal-dialog-centered {\n min-height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);\n }\n\n .modal-content {\n @include box-shadow($modal-content-box-shadow-sm-up);\n }\n\n .modal-sm { max-width: $modal-sm; }\n}\n\n@include media-breakpoint-up(lg) {\n .modal-lg,\n .modal-xl {\n max-width: $modal-lg;\n }\n}\n\n@include media-breakpoint-up(xl) {\n .modal-xl { max-width: $modal-xl; }\n}\n","// Base class\n.tooltip {\n position: absolute;\n z-index: $zindex-tooltip;\n display: block;\n margin: $tooltip-margin;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($tooltip-font-size);\n // Allow breaking very long words so they don't overflow the tooltip's bounds\n word-wrap: break-word;\n opacity: 0;\n\n &.show { opacity: $tooltip-opacity; }\n\n .tooltip-arrow {\n position: absolute;\n display: block;\n width: $tooltip-arrow-width;\n height: $tooltip-arrow-height;\n\n &::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-tooltip-top {\n padding: $tooltip-arrow-height 0;\n\n .tooltip-arrow {\n bottom: 0;\n\n &::before {\n top: 0;\n border-width: $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-top-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-right {\n padding: 0 $tooltip-arrow-height;\n\n .tooltip-arrow {\n left: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n right: 0;\n border-width: ($tooltip-arrow-width / 2) $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-right-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-bottom {\n padding: $tooltip-arrow-height 0;\n\n .tooltip-arrow {\n top: 0;\n\n &::before {\n bottom: 0;\n border-width: 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-bottom-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-left {\n padding: 0 $tooltip-arrow-height;\n\n .tooltip-arrow {\n right: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n left: 0;\n border-width: ($tooltip-arrow-width / 2) 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-left-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-tooltip-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-tooltip-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-tooltip-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-tooltip-left;\n }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n max-width: $tooltip-max-width;\n padding: $tooltip-padding-y $tooltip-padding-x;\n color: $tooltip-color;\n text-align: center;\n background-color: $tooltip-bg;\n @include border-radius($tooltip-border-radius);\n}\n","@mixin reset-text {\n font-family: $font-family-base;\n // We deliberately do NOT reset font-size or overflow-wrap / word-wrap.\n font-style: normal;\n font-weight: $font-weight-normal;\n line-height: $line-height-base;\n text-align: left; // Fallback for where `start` is not supported\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n}\n",".popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: $zindex-popover;\n display: block;\n max-width: $popover-max-width;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($popover-font-size);\n // Allow breaking very long words so they don't overflow the popover's bounds\n word-wrap: break-word;\n background-color: $popover-bg;\n background-clip: padding-box;\n border: $popover-border-width solid $popover-border-color;\n @include border-radius($popover-border-radius);\n @include box-shadow($popover-box-shadow);\n\n .popover-arrow {\n position: absolute;\n display: block;\n width: $popover-arrow-width;\n height: $popover-arrow-height;\n margin: 0 $popover-border-radius;\n\n &::before,\n &::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-popover-top {\n margin-bottom: $popover-arrow-height;\n\n > .popover-arrow {\n bottom: subtract(-$popover-arrow-height, $popover-border-width);\n\n &::before {\n bottom: 0;\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-top-color: $popover-arrow-outer-color;\n }\n\n &::after {\n bottom: $popover-border-width;\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-top-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-right {\n margin-left: $popover-arrow-height;\n\n > .popover-arrow {\n left: subtract(-$popover-arrow-height, $popover-border-width);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners\n\n &::before {\n left: 0;\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-right-color: $popover-arrow-outer-color;\n }\n\n &::after {\n left: $popover-border-width;\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-right-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-bottom {\n margin-top: $popover-arrow-height;\n\n > .popover-arrow {\n top: subtract(-$popover-arrow-height, $popover-border-width);\n\n &::before {\n top: 0;\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\n border-bottom-color: $popover-arrow-outer-color;\n }\n\n &::after {\n top: $popover-border-width;\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\n border-bottom-color: $popover-arrow-color;\n }\n }\n\n // This will remove the popover-header's border just below the arrow\n .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: $popover-arrow-width;\n margin-left: -$popover-arrow-width / 2;\n content: \"\";\n border-bottom: $popover-border-width solid $popover-header-bg;\n }\n}\n\n.bs-popover-left {\n margin-right: $popover-arrow-height;\n\n > .popover-arrow {\n right: subtract(-$popover-arrow-height, $popover-border-width);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners\n\n &::before {\n right: 0;\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\n border-left-color: $popover-arrow-outer-color;\n }\n\n &::after {\n right: $popover-border-width;\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\n border-left-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-popover-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-popover-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-popover-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-popover-left;\n }\n}\n\n\n// Offset the popover to account for the popover arrow\n.popover-header {\n padding: $popover-header-padding-y $popover-header-padding-x;\n margin-bottom: 0; // Reset the default from Reboot\n @include font-size($font-size-base);\n color: $popover-header-color;\n background-color: $popover-header-bg;\n border-bottom: $popover-border-width solid darken($popover-header-bg, 5%);\n @include border-top-radius($popover-inner-border-radius);\n\n &:empty {\n display: none;\n }\n}\n\n.popover-body {\n padding: $popover-body-padding-y $popover-body-padding-x;\n color: $popover-body-color;\n}\n","// Notes on the classes:\n//\n// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically)\n// even when their scroll action started on a carousel, but for compatibility (with Firefox)\n// we're preventing all actions instead\n// 2. The .carousel-item-left and .carousel-item-right is used to indicate where\n// the active slide is heading.\n// 3. .active.carousel-item is the current slide.\n// 4. .active.carousel-item-left and .active.carousel-item-right is the current\n// slide in its in-transition state. Only one of these occurs at a time.\n// 5. .carousel-item-next.carousel-item-left and .carousel-item-prev.carousel-item-right\n// is the upcoming slide in transition.\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n @include clearfix();\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n @include transition($carousel-transition);\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n\n//\n// Alternate transitions\n//\n\n.carousel-fade {\n .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n }\n\n .carousel-item.active,\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n }\n\n .active.carousel-item-left,\n .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n @include transition(opacity 0s $carousel-transition-duration);\n }\n}\n\n\n//\n// Left/right controls for nav\n//\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n // Use flex for alignment (1-3)\n display: flex; // 1. allow flex styles\n align-items: center; // 2. vertically center contents\n justify-content: center; // 3. horizontally center contents\n width: $carousel-control-width;\n color: $carousel-control-color;\n text-align: center;\n opacity: $carousel-control-opacity;\n @include transition($carousel-control-transition);\n\n // Hover/focus state\n &:hover,\n &:focus {\n color: $carousel-control-color;\n text-decoration: none;\n outline: 0;\n opacity: $carousel-control-hover-opacity;\n }\n}\n.carousel-control-prev {\n left: 0;\n background-image: if($enable-gradients, linear-gradient(90deg, rgba($black, .25), rgba($black, .001)), null);\n}\n.carousel-control-next {\n right: 0;\n background-image: if($enable-gradients, linear-gradient(270deg, rgba($black, .25), rgba($black, .001)), null);\n}\n\n// Icons for within\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: $carousel-control-icon-width;\n height: $carousel-control-icon-width;\n background-repeat: no-repeat;\n background-position: 50%;\n background-size: 100% 100%;\n}\n.carousel-control-prev-icon {\n background-image: escape-svg($carousel-control-prev-icon-bg);\n}\n.carousel-control-next-icon {\n background-image: escape-svg($carousel-control-next-icon-bg);\n}\n\n\n// Optional indicator pips\n//\n// Add an ordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n display: flex;\n justify-content: center;\n padding-left: 0; // override <ol> default\n // Use the .carousel-control's width as margin so we don't overlay those\n margin-right: $carousel-control-width;\n margin-left: $carousel-control-width;\n list-style: none;\n\n li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: $carousel-indicator-width;\n height: $carousel-indicator-height;\n margin-right: $carousel-indicator-spacer;\n margin-left: $carousel-indicator-spacer;\n text-indent: -999px;\n cursor: pointer;\n background-color: $carousel-indicator-active-bg;\n background-clip: padding-box;\n // Use transparent borders to increase the hit area by 10px on top and bottom.\n border-top: $carousel-indicator-hit-area-height solid transparent;\n border-bottom: $carousel-indicator-hit-area-height solid transparent;\n opacity: $carousel-indicator-opacity;\n @include transition($carousel-indicator-transition);\n }\n\n .active {\n opacity: $carousel-indicator-active-opacity;\n }\n}\n\n\n// Optional captions\n//\n//\n\n.carousel-caption {\n position: absolute;\n right: (100% - $carousel-caption-width) / 2;\n bottom: $carousel-caption-spacer;\n left: (100% - $carousel-caption-width) / 2;\n padding-top: $carousel-caption-padding-y;\n padding-bottom: $carousel-caption-padding-y;\n color: $carousel-caption-color;\n text-align: center;\n}\n","@mixin clearfix() {\n &::after {\n display: block;\n clear: both;\n content: \"\";\n }\n}\n","//\n// Rotating border\n//\n\n@keyframes spinner-border {\n to { transform: rotate(360deg); }\n}\n\n.spinner-border {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: text-bottom;\n border: $spinner-border-width solid currentColor;\n border-right-color: transparent;\n // stylelint-disable-next-line property-blacklist\n border-radius: 50%;\n animation: spinner-border $spinner-animation-speed linear infinite;\n}\n\n.spinner-border-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n border-width: $spinner-border-width-sm;\n}\n\n//\n// Growing circle\n//\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: text-bottom;\n background-color: currentColor;\n // stylelint-disable-next-line property-blacklist\n border-radius: 50%;\n opacity: 0;\n animation: spinner-grow $spinner-animation-speed linear infinite;\n}\n\n.spinner-grow-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n}\n","@each $color, $value in $theme-colors {\n .link-#{$color} {\n color: $value;\n\n @if $emphasized-link-hover-darken-percentage != 0 {\n &:hover,\n &:focus {\n color: darken($value, $emphasized-link-hover-darken-percentage);\n }\n }\n }\n}\n","// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n position: relative;\n width: 100%;\n\n &::before {\n display: block;\n content: \"\";\n }\n\n .embed-responsive-item,\n iframe,\n embed,\n object,\n video {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n }\n}\n\n@each $key, $ratio in $embed-responsive-aspect-ratios {\n .embed-responsive-#{$key} {\n &::before {\n padding-top: percentage(map-get($ratio, y) / map-get($ratio, x));\n }\n }\n}\n","// Shorthand\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n// Responsive sticky top\n@supports (position: sticky) {\n @each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .sticky#{$infix}-top {\n position: sticky;\n top: 0;\n z-index: $zindex-sticky;\n }\n }\n }\n}\n","//\n// Screenreaders\n//\n\n.sr-only,\n.sr-only-focusable:not(:focus) {\n @include sr-only();\n}\n","// stylelint-disable declaration-no-important\n\n// Only display content to screen readers\n//\n// See: https://a11yproject.com/posts/how-to-hide-content/\n// See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin sr-only {\n position: absolute !important;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important; // Fix for https://github.com/twbs/bootstrap/issues/25686\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n}\n\n// Use to only display content when it's focused.\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n\n@mixin sr-only-focusable {\n &:not(:focus) {\n @include sr-only();\n }\n}\n","//\n// Stretched link\n//\n\n.stretched-link {\n &::#{$stretched-link-pseudo-element} {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $stretched-link-z-index;\n content: \"\";\n }\n}\n","//\n// Text truncation\n//\n\n.text-truncate {\n @include text-truncate();\n}\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix, $is-rfs-media-query: false) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (eg. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n @if map-get($utility, rfs) {\n // Inside the media query\n @if $is-rfs-media-query {\n $val: rfs-value($value);\n\n // Do not render anything if fluid and non fluid values are the same\n $value: if($val == rfs-fluid-value($value), null, $val);\n }\n @else {\n $value: rfs-fluid-value($value);\n }\n }\n\n @if $value != null {\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n// RFS rescaling\n@media (min-width: $rfs-mq-value) {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and map-get($utility, rfs) {\n @include generate-utility($utility, $infix, true);\n }\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file
diff --git a/dist/js/bootstrap.bundle.js b/dist/js/bootstrap.bundle.js
index a27f7ab613..778432dca4 100644
--- a/dist/js/bootstrap.bundle.js
+++ b/dist/js/bootstrap.bundle.js
@@ -1,6 +1,6 @@
/*!
* Bootstrap v4.3.1 (https://getbootstrap.com/)
- * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+ * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
(function (global, factory) {
@@ -59,13 +59,13 @@
var source = arguments[i] != null ? arguments[i] : {};
if (i % 2) {
- ownKeys(source, true).forEach(function (key) {
+ ownKeys(Object(source), true).forEach(function (key) {
_defineProperty(target, key, source[key]);
});
} else if (Object.getOwnPropertyDescriptors) {
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
} else {
- ownKeys(source).forEach(function (key) {
+ ownKeys(Object(source)).forEach(function (key) {
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
});
}
@@ -91,6 +91,10 @@
var TRANSITION_END = 'transitionend'; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
var toType = function toType(obj) {
+ if (obj === null || obj === undefined) {
+ return "" + obj;
+ }
+
return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
};
/**
@@ -158,9 +162,7 @@
};
var triggerTransitionEnd = function triggerTransitionEnd(element) {
- var evt = document.createEvent('HTMLEvents');
- evt.initEvent(TRANSITION_END, true, true);
- element.dispatchEvent(evt);
+ element.dispatchEvent(new Event(TRANSITION_END));
};
var isElement = function isElement(obj) {
@@ -197,14 +199,6 @@
});
};
- var makeArray = function makeArray(nodeList) {
- if (!nodeList) {
- return [];
- }
-
- return [].slice.call(nodeList);
- };
-
var isVisible = function isVisible(element) {
if (!element) {
return false;
@@ -329,58 +323,11 @@
};
/* istanbul ignore file */
- var _Element$prototype = Element.prototype,
- matches = _Element$prototype.matches,
- closest = _Element$prototype.closest;
var find = Element.prototype.querySelectorAll;
- var findOne = Element.prototype.querySelector;
-
- var createCustomEvent = function createCustomEvent(eventName, params) {
- var cEvent = new CustomEvent(eventName, params);
- return cEvent;
- };
-
- if (typeof window.CustomEvent !== 'function') {
- createCustomEvent = function createCustomEvent(eventName, params) {
- params = params || {
- bubbles: false,
- cancelable: false,
- detail: null
- };
- var evt = document.createEvent('CustomEvent');
- evt.initCustomEvent(eventName, params.bubbles, params.cancelable, params.detail);
- return evt;
- };
- }
-
- var workingDefaultPrevented = function () {
- var e = document.createEvent('CustomEvent');
- e.initEvent('Bootstrap', true, true);
- e.preventDefault();
- return e.defaultPrevented;
- }();
-
- if (!workingDefaultPrevented) {
- var origPreventDefault = Event.prototype.preventDefault;
-
- Event.prototype.preventDefault = function () {
- if (!this.cancelable) {
- return;
- }
-
- origPreventDefault.call(this);
- Object.defineProperty(this, 'defaultPrevented', {
- get: function get() {
- return true;
- },
- configurable: true
- });
- };
- } // MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached
-
+ var findOne = Element.prototype.querySelector; // MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached
var defaultPreventedPreservedOnDispatch = function () {
- var e = createCustomEvent('Bootstrap', {
+ var e = new CustomEvent('Bootstrap', {
cancelable: true
});
var element = document.createElement('div');
@@ -392,26 +339,6 @@
return e.defaultPrevented;
}();
- if (!matches) {
- matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;
- }
-
- if (!closest) {
- closest = function closest(selector) {
- var element = this;
-
- do {
- if (matches.call(element, selector)) {
- return element;
- }
-
- element = element.parentElement || element.parentNode;
- } while (element !== null && element.nodeType === 1);
-
- return null;
- };
- }
-
var scopeSelectorRegex = /:scope\b/;
var supportScopeQuery = function () {
@@ -719,7 +646,7 @@
evt = document.createEvent('HTMLEvents');
evt.initEvent(typeEvent, bubbles, true);
} else {
- evt = createCustomEvent(event, {
+ evt = new CustomEvent(event, {
bubbles: bubbles,
cancelable: true
});
@@ -774,15 +701,17 @@
var NODE_TEXT = 3;
var SelectorEngine = {
- matches: function matches$1(element, selector) {
- return matches.call(element, selector);
+ matches: function matches(element, selector) {
+ return element.matches(selector);
},
find: function find$1(selector, element) {
+ var _ref;
+
if (element === void 0) {
element = document.documentElement;
}
- return find.call(element, selector);
+ return (_ref = []).concat.apply(_ref, find.call(element, selector));
},
findOne: function findOne$1(selector, element) {
if (element === void 0) {
@@ -792,11 +721,12 @@
return findOne.call(element, selector);
},
children: function children(element, selector) {
- var _this = this;
+ var _ref2;
+
+ var children = (_ref2 = []).concat.apply(_ref2, element.children);
- var children = makeArray(element.children);
return children.filter(function (child) {
- return _this.matches(child, selector);
+ return child.matches(selector);
});
},
parents: function parents(element, selector) {
@@ -813,22 +743,34 @@
return parents;
},
- closest: function closest$1(element, selector) {
- return closest.call(element, selector);
+ closest: function closest(element, selector) {
+ return element.closest(selector);
},
prev: function prev(element, selector) {
- var siblings = [];
- var previous = element.previousSibling;
+ var previous = element.previousElementSibling;
- while (previous && previous.nodeType === Node.ELEMENT_NODE && previous.nodeType !== NODE_TEXT) {
- if (this.matches(previous, selector)) {
- siblings.push(previous);
+ while (previous) {
+ if (previous.matches(selector)) {
+ return [previous];
}
- previous = previous.previousSibling;
+ previous = previous.previousElementSibling;
}
- return siblings;
+ return [];
+ },
+ next: function next(element, selector) {
+ var next = element.nextElementSibling;
+
+ while (next) {
+ if (this.matches(next, selector)) {
+ return [next];
+ }
+
+ next = next.nextElementSibling;
+ }
+
+ return [];
}
};
@@ -843,28 +785,20 @@
var DATA_KEY = 'bs.alert';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
- var Selector = {
- DISMISS: '[data-dismiss="alert"]'
- };
- var Event$1 = {
- CLOSE: "close" + EVENT_KEY,
- CLOSED: "closed" + EVENT_KEY,
- CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
- };
- var ClassName = {
- ALERT: 'alert',
- FADE: 'fade',
- SHOW: 'show'
- };
+ var SELECTOR_DISMISS = '[data-dismiss="alert"]';
+ var EVENT_CLOSE = "close" + EVENT_KEY;
+ var EVENT_CLOSED = "closed" + EVENT_KEY;
+ var EVENT_CLICK_DATA_API = "click" + EVENT_KEY + DATA_API_KEY;
+ var CLASSNAME_ALERT = 'alert';
+ var CLASSNAME_FADE = 'fade';
+ var CLASSNAME_SHOW = 'show';
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
- var Alert =
- /*#__PURE__*/
- function () {
+ var Alert = /*#__PURE__*/function () {
function Alert(element) {
this._element = element;
@@ -903,22 +837,22 @@
var parent = getElementFromSelector(element);
if (!parent) {
- parent = SelectorEngine.closest(element, "." + ClassName.ALERT);
+ parent = SelectorEngine.closest(element, "." + CLASSNAME_ALERT);
}
return parent;
};
_proto._triggerCloseEvent = function _triggerCloseEvent(element) {
- return EventHandler.trigger(element, Event$1.CLOSE);
+ return EventHandler.trigger(element, EVENT_CLOSE);
};
_proto._removeElement = function _removeElement(element) {
var _this = this;
- element.classList.remove(ClassName.SHOW);
+ element.classList.remove(CLASSNAME_SHOW);
- if (!element.classList.contains(ClassName.FADE)) {
+ if (!element.classList.contains(CLASSNAME_FADE)) {
this._destroyElement(element);
return;
@@ -936,7 +870,7 @@
element.parentNode.removeChild(element);
}
- EventHandler.trigger(element, Event$1.CLOSED);
+ EventHandler.trigger(element, EVENT_CLOSED);
} // Static
;
@@ -984,7 +918,7 @@
*/
- EventHandler.on(document, Event$1.CLICK_DATA_API, Selector.DISMISS, Alert.handleDismiss(new Alert()));
+ EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert.handleDismiss(new Alert()));
var $$1 = getjQuery();
/**
* ------------------------------------------------------------------------
@@ -1017,32 +951,25 @@
var DATA_KEY$1 = 'bs.button';
var EVENT_KEY$1 = "." + DATA_KEY$1;
var DATA_API_KEY$1 = '.data-api';
- var ClassName$1 = {
- ACTIVE: 'active',
- BUTTON: 'btn',
- FOCUS: 'focus'
- };
- var Selector$1 = {
- DATA_TOGGLE_CARROT: '[data-toggle^="button"]',
- DATA_TOGGLE: '[data-toggle="buttons"]',
- INPUT: 'input:not([type="hidden"])',
- ACTIVE: '.active',
- BUTTON: '.btn'
- };
- var Event$2 = {
- CLICK_DATA_API: "click" + EVENT_KEY$1 + DATA_API_KEY$1,
- FOCUS_DATA_API: "focus" + EVENT_KEY$1 + DATA_API_KEY$1,
- BLUR_DATA_API: "blur" + EVENT_KEY$1 + DATA_API_KEY$1
- };
+ var CLASS_NAME_ACTIVE = 'active';
+ var CLASS_NAME_BUTTON = 'btn';
+ var CLASS_NAME_DISABLED = 'disabled';
+ var CLASS_NAME_FOCUS = 'focus';
+ var SELECTOR_DATA_TOGGLE_CARROT = '[data-toggle^="button"]';
+ var SELECTOR_DATA_TOGGLE = '[data-toggle="buttons"]';
+ var SELECTOR_INPUT = 'input:not([type="hidden"])';
+ var SELECTOR_ACTIVE = '.active';
+ var SELECTOR_BUTTON = '.btn';
+ var EVENT_CLICK_DATA_API$1 = "click" + EVENT_KEY$1 + DATA_API_KEY$1;
+ var EVENT_FOCUS_DATA_API = "focus" + EVENT_KEY$1 + DATA_API_KEY$1;
+ var EVENT_BLUR_DATA_API = "blur" + EVENT_KEY$1 + DATA_API_KEY$1;
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
- var Button =
- /*#__PURE__*/
- function () {
+ var Button = /*#__PURE__*/function () {
function Button(element) {
this._element = element;
Data.setData(element, DATA_KEY$1, this);
@@ -1055,28 +982,28 @@
_proto.toggle = function toggle() {
var triggerChangeEvent = true;
var addAriaPressed = true;
- var rootElement = SelectorEngine.closest(this._element, Selector$1.DATA_TOGGLE);
+ var rootElement = SelectorEngine.closest(this._element, SELECTOR_DATA_TOGGLE);
if (rootElement) {
- var input = SelectorEngine.findOne(Selector$1.INPUT, this._element);
+ var input = SelectorEngine.findOne(SELECTOR_INPUT, this._element);
if (input && input.type === 'radio') {
- if (input.checked && this._element.classList.contains(ClassName$1.ACTIVE)) {
+ if (input.checked && this._element.classList.contains(CLASS_NAME_ACTIVE)) {
triggerChangeEvent = false;
} else {
- var activeElement = SelectorEngine.findOne(Selector$1.ACTIVE, rootElement);
+ var activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE, rootElement);
if (activeElement) {
- activeElement.classList.remove(ClassName$1.ACTIVE);
+ activeElement.classList.remove(CLASS_NAME_ACTIVE);
}
}
if (triggerChangeEvent) {
- if (input.hasAttribute('disabled') || rootElement.hasAttribute('disabled') || input.classList.contains('disabled') || rootElement.classList.contains('disabled')) {
+ if (input.hasAttribute('disabled') || rootElement.hasAttribute('disabled') || input.classList.contains(CLASS_NAME_DISABLED) || rootElement.classList.contains(CLASS_NAME_DISABLED)) {
return;
}
- input.checked = !this._element.classList.contains(ClassName$1.ACTIVE);
+ input.checked = !this._element.classList.contains(CLASS_NAME_ACTIVE);
EventHandler.trigger(input, 'change');
}
@@ -1086,11 +1013,11 @@
}
if (addAriaPressed) {
- this._element.setAttribute('aria-pressed', !this._element.classList.contains(ClassName$1.ACTIVE));
+ this._element.setAttribute('aria-pressed', !this._element.classList.contains(CLASS_NAME_ACTIVE));
}
if (triggerChangeEvent) {
- this._element.classList.toggle(ClassName$1.ACTIVE);
+ this._element.classList.toggle(CLASS_NAME_ACTIVE);
}
};
@@ -1134,12 +1061,12 @@
*/
- EventHandler.on(document, Event$2.CLICK_DATA_API, Selector$1.DATA_TOGGLE_CARROT, function (event) {
+ EventHandler.on(document, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE_CARROT, function (event) {
event.preventDefault();
var button = event.target;
- if (!button.classList.contains(ClassName$1.BUTTON)) {
- button = SelectorEngine.closest(button, Selector$1.BUTTON);
+ if (!button.classList.contains(CLASS_NAME_BUTTON)) {
+ button = SelectorEngine.closest(button, SELECTOR_BUTTON);
}
var data = Data.getData(button, DATA_KEY$1);
@@ -1150,18 +1077,18 @@
data.toggle();
});
- EventHandler.on(document, Event$2.FOCUS_DATA_API, Selector$1.DATA_TOGGLE_CARROT, function (event) {
- var button = SelectorEngine.closest(event.target, Selector$1.BUTTON);
+ EventHandler.on(document, EVENT_FOCUS_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, function (event) {
+ var button = SelectorEngine.closest(event.target, SELECTOR_BUTTON);
if (button) {
- button.classList.add(ClassName$1.FOCUS);
+ button.classList.add(CLASS_NAME_FOCUS);
}
});
- EventHandler.on(document, Event$2.BLUR_DATA_API, Selector$1.DATA_TOGGLE_CARROT, function (event) {
- var button = SelectorEngine.closest(event.target, Selector$1.BUTTON);
+ EventHandler.on(document, EVENT_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, function (event) {
+ var button = SelectorEngine.closest(event.target, SELECTOR_BUTTON);
if (button) {
- button.classList.remove(ClassName$1.FOCUS);
+ button.classList.remove(CLASS_NAME_FOCUS);
}
});
var $$2 = getjQuery();
@@ -1299,48 +1226,39 @@
wrap: 'boolean',
touch: 'boolean'
};
- var Direction = {
- NEXT: 'next',
- PREV: 'prev',
- LEFT: 'left',
- RIGHT: 'right'
- };
- var Event$3 = {
- SLIDE: "slide" + EVENT_KEY$2,
- SLID: "slid" + EVENT_KEY$2,
- KEYDOWN: "keydown" + EVENT_KEY$2,
- MOUSEENTER: "mouseenter" + EVENT_KEY$2,
- MOUSELEAVE: "mouseleave" + EVENT_KEY$2,
- TOUCHSTART: "touchstart" + EVENT_KEY$2,
- TOUCHMOVE: "touchmove" + EVENT_KEY$2,
- TOUCHEND: "touchend" + EVENT_KEY$2,
- POINTERDOWN: "pointerdown" + EVENT_KEY$2,
- POINTERUP: "pointerup" + EVENT_KEY$2,
- DRAG_START: "dragstart" + EVENT_KEY$2,
- LOAD_DATA_API: "load" + EVENT_KEY$2 + DATA_API_KEY$2,
- CLICK_DATA_API: "click" + EVENT_KEY$2 + DATA_API_KEY$2
- };
- var ClassName$2 = {
- CAROUSEL: 'carousel',
- ACTIVE: 'active',
- SLIDE: 'slide',
- RIGHT: 'carousel-item-right',
- LEFT: 'carousel-item-left',
- NEXT: 'carousel-item-next',
- PREV: 'carousel-item-prev',
- ITEM: 'carousel-item',
- POINTER_EVENT: 'pointer-event'
- };
- var Selector$2 = {
- ACTIVE: '.active',
- ACTIVE_ITEM: '.active.carousel-item',
- ITEM: '.carousel-item',
- ITEM_IMG: '.carousel-item img',
- NEXT_PREV: '.carousel-item-next, .carousel-item-prev',
- INDICATORS: '.carousel-indicators',
- DATA_SLIDE: '[data-slide], [data-slide-to]',
- DATA_RIDE: '[data-ride="carousel"]'
- };
+ var DIRECTION_NEXT = 'next';
+ var DIRECTION_PREV = 'prev';
+ var DIRECTION_LEFT = 'left';
+ var DIRECTION_RIGHT = 'right';
+ var EVENT_SLIDE = "slide" + EVENT_KEY$2;
+ var EVENT_SLID = "slid" + EVENT_KEY$2;
+ var EVENT_KEYDOWN = "keydown" + EVENT_KEY$2;
+ var EVENT_MOUSEENTER = "mouseenter" + EVENT_KEY$2;
+ var EVENT_MOUSELEAVE = "mouseleave" + EVENT_KEY$2;
+ var EVENT_TOUCHSTART = "touchstart" + EVENT_KEY$2;
+ var EVENT_TOUCHMOVE = "touchmove" + EVENT_KEY$2;
+ var EVENT_TOUCHEND = "touchend" + EVENT_KEY$2;
+ var EVENT_POINTERDOWN = "pointerdown" + EVENT_KEY$2;
+ var EVENT_POINTERUP = "pointerup" + EVENT_KEY$2;
+ var EVENT_DRAG_START = "dragstart" + EVENT_KEY$2;
+ var EVENT_LOAD_DATA_API = "load" + EVENT_KEY$2 + DATA_API_KEY$2;
+ var EVENT_CLICK_DATA_API$2 = "click" + EVENT_KEY$2 + DATA_API_KEY$2;
+ var CLASS_NAME_CAROUSEL = 'carousel';
+ var CLASS_NAME_ACTIVE$1 = 'active';
+ var CLASS_NAME_SLIDE = 'slide';
+ var CLASS_NAME_RIGHT = 'carousel-item-right';
+ var CLASS_NAME_LEFT = 'carousel-item-left';
+ var CLASS_NAME_NEXT = 'carousel-item-next';
+ var CLASS_NAME_PREV = 'carousel-item-prev';
+ var CLASS_NAME_POINTER_EVENT = 'pointer-event';
+ var SELECTOR_ACTIVE$1 = '.active';
+ var SELECTOR_ACTIVE_ITEM = '.active.carousel-item';
+ var SELECTOR_ITEM = '.carousel-item';
+ var SELECTOR_ITEM_IMG = '.carousel-item img';
+ var SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev';
+ var SELECTOR_INDICATORS = '.carousel-indicators';
+ var SELECTOR_DATA_SLIDE = '[data-slide], [data-slide-to]';
+ var SELECTOR_DATA_RIDE = '[data-ride="carousel"]';
var PointerType = {
TOUCH: 'touch',
PEN: 'pen'
@@ -1351,9 +1269,7 @@
* ------------------------------------------------------------------------
*/
- var Carousel =
- /*#__PURE__*/
- function () {
+ var Carousel = /*#__PURE__*/function () {
function Carousel(element, config) {
this._items = null;
this._interval = null;
@@ -1365,7 +1281,7 @@
this.touchDeltaX = 0;
this._config = this._getConfig(config);
this._element = element;
- this._indicatorsElement = SelectorEngine.findOne(Selector$2.INDICATORS, this._element);
+ this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element);
this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;
this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent);
@@ -1380,7 +1296,7 @@
// Public
_proto.next = function next() {
if (!this._isSliding) {
- this._slide(Direction.NEXT);
+ this._slide(DIRECTION_NEXT);
}
};
@@ -1394,7 +1310,7 @@
_proto.prev = function prev() {
if (!this._isSliding) {
- this._slide(Direction.PREV);
+ this._slide(DIRECTION_PREV);
}
};
@@ -1403,7 +1319,7 @@
this._isPaused = true;
}
- if (SelectorEngine.findOne(Selector$2.NEXT_PREV, this._element)) {
+ if (SelectorEngine.findOne(SELECTOR_NEXT_PREV, this._element)) {
triggerTransitionEnd(this._element);
this.cycle(true);
}
@@ -1430,7 +1346,7 @@
_proto.to = function to(index) {
var _this = this;
- this._activeElement = SelectorEngine.findOne(Selector$2.ACTIVE_ITEM, this._element);
+ this._activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element);
var activeIndex = this._getItemIndex(this._activeElement);
@@ -1439,7 +1355,7 @@
}
if (this._isSliding) {
- EventHandler.one(this._element, Event$3.SLID, function () {
+ EventHandler.one(this._element, EVENT_SLID, function () {
return _this.to(index);
});
return;
@@ -1451,7 +1367,7 @@
return;
}
- var direction = index > activeIndex ? Direction.NEXT : Direction.PREV;
+ var direction = index > activeIndex ? DIRECTION_NEXT : DIRECTION_PREV;
this._slide(direction, this._items[index]);
};
@@ -1500,16 +1416,16 @@
var _this2 = this;
if (this._config.keyboard) {
- EventHandler.on(this._element, Event$3.KEYDOWN, function (event) {
+ EventHandler.on(this._element, EVENT_KEYDOWN, function (event) {
return _this2._keydown(event);
});
}
if (this._config.pause === 'hover') {
- EventHandler.on(this._element, Event$3.MOUSEENTER, function (event) {
+ EventHandler.on(this._element, EVENT_MOUSEENTER, function (event) {
return _this2.pause(event);
});
- EventHandler.on(this._element, Event$3.MOUSELEAVE, function (event) {
+ EventHandler.on(this._element, EVENT_MOUSELEAVE, function (event) {
return _this2.cycle(event);
});
}
@@ -1566,29 +1482,29 @@
}
};
- makeArray(SelectorEngine.find(Selector$2.ITEM_IMG, this._element)).forEach(function (itemImg) {
- EventHandler.on(itemImg, Event$3.DRAG_START, function (e) {
+ SelectorEngine.find(SELECTOR_ITEM_IMG, this._element).forEach(function (itemImg) {
+ EventHandler.on(itemImg, EVENT_DRAG_START, function (e) {
return e.preventDefault();
});
});
if (this._pointerEvent) {
- EventHandler.on(this._element, Event$3.POINTERDOWN, function (event) {
+ EventHandler.on(this._element, EVENT_POINTERDOWN, function (event) {
return start(event);
});
- EventHandler.on(this._element, Event$3.POINTERUP, function (event) {
+ EventHandler.on(this._element, EVENT_POINTERUP, function (event) {
return end(event);
});
- this._element.classList.add(ClassName$2.POINTER_EVENT);
+ this._element.classList.add(CLASS_NAME_POINTER_EVENT);
} else {
- EventHandler.on(this._element, Event$3.TOUCHSTART, function (event) {
+ EventHandler.on(this._element, EVENT_TOUCHSTART, function (event) {
return start(event);
});
- EventHandler.on(this._element, Event$3.TOUCHMOVE, function (event) {
+ EventHandler.on(this._element, EVENT_TOUCHMOVE, function (event) {
return move(event);
});
- EventHandler.on(this._element, Event$3.TOUCHEND, function (event) {
+ EventHandler.on(this._element, EVENT_TOUCHEND, function (event) {
return end(event);
});
}
@@ -1613,13 +1529,13 @@
};
_proto._getItemIndex = function _getItemIndex(element) {
- this._items = element && element.parentNode ? makeArray(SelectorEngine.find(Selector$2.ITEM, element.parentNode)) : [];
+ this._items = element && element.parentNode ? SelectorEngine.find(SELECTOR_ITEM, element.parentNode) : [];
return this._items.indexOf(element);
};
_proto._getItemByDirection = function _getItemByDirection(direction, activeElement) {
- var isNextDirection = direction === Direction.NEXT;
- var isPrevDirection = direction === Direction.PREV;
+ var isNextDirection = direction === DIRECTION_NEXT;
+ var isPrevDirection = direction === DIRECTION_PREV;
var activeIndex = this._getItemIndex(activeElement);
@@ -1630,7 +1546,7 @@
return activeElement;
}
- var delta = direction === Direction.PREV ? -1 : 1;
+ var delta = direction === DIRECTION_PREV ? -1 : 1;
var itemIndex = (activeIndex + delta) % this._items.length;
return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];
};
@@ -1638,9 +1554,9 @@
_proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {
var targetIndex = this._getItemIndex(relatedTarget);
- var fromIndex = this._getItemIndex(SelectorEngine.findOne(Selector$2.ACTIVE_ITEM, this._element));
+ var fromIndex = this._getItemIndex(SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element));
- return EventHandler.trigger(this._element, Event$3.SLIDE, {
+ return EventHandler.trigger(this._element, EVENT_SLIDE, {
relatedTarget: relatedTarget,
direction: eventDirectionName,
from: fromIndex,
@@ -1650,16 +1566,16 @@
_proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {
if (this._indicatorsElement) {
- var indicators = SelectorEngine.find(Selector$2.ACTIVE, this._indicatorsElement);
+ var indicators = SelectorEngine.find(SELECTOR_ACTIVE$1, this._indicatorsElement);
for (var i = 0; i < indicators.length; i++) {
- indicators[i].classList.remove(ClassName$2.ACTIVE);
+ indicators[i].classList.remove(CLASS_NAME_ACTIVE$1);
}
var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];
if (nextIndicator) {
- nextIndicator.classList.add(ClassName$2.ACTIVE);
+ nextIndicator.classList.add(CLASS_NAME_ACTIVE$1);
}
}
};
@@ -1667,7 +1583,7 @@
_proto._slide = function _slide(direction, element) {
var _this4 = this;
- var activeElement = SelectorEngine.findOne(Selector$2.ACTIVE_ITEM, this._element);
+ var activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element);
var activeElementIndex = this._getItemIndex(activeElement);
@@ -1680,17 +1596,17 @@
var orderClassName;
var eventDirectionName;
- if (direction === Direction.NEXT) {
- directionalClassName = ClassName$2.LEFT;
- orderClassName = ClassName$2.NEXT;
- eventDirectionName = Direction.LEFT;
+ if (direction === DIRECTION_NEXT) {
+ directionalClassName = CLASS_NAME_LEFT;
+ orderClassName = CLASS_NAME_NEXT;
+ eventDirectionName = DIRECTION_LEFT;
} else {
- directionalClassName = ClassName$2.RIGHT;
- orderClassName = ClassName$2.PREV;
- eventDirectionName = Direction.RIGHT;
+ directionalClassName = CLASS_NAME_RIGHT;
+ orderClassName = CLASS_NAME_PREV;
+ eventDirectionName = DIRECTION_RIGHT;
}
- if (nextElement && nextElement.classList.contains(ClassName$2.ACTIVE)) {
+ if (nextElement && nextElement.classList.contains(CLASS_NAME_ACTIVE$1)) {
this._isSliding = false;
return;
}
@@ -1714,7 +1630,7 @@
this._setActiveIndicatorElement(nextElement);
- if (this._element.classList.contains(ClassName$2.SLIDE)) {
+ if (this._element.classList.contains(CLASS_NAME_SLIDE)) {
nextElement.classList.add(orderClassName);
reflow(nextElement);
activeElement.classList.add(directionalClassName);
@@ -1732,13 +1648,13 @@
EventHandler.one(activeElement, TRANSITION_END, function () {
nextElement.classList.remove(directionalClassName);
nextElement.classList.remove(orderClassName);
- nextElement.classList.add(ClassName$2.ACTIVE);
- activeElement.classList.remove(ClassName$2.ACTIVE);
+ nextElement.classList.add(CLASS_NAME_ACTIVE$1);
+ activeElement.classList.remove(CLASS_NAME_ACTIVE$1);
activeElement.classList.remove(orderClassName);
activeElement.classList.remove(directionalClassName);
_this4._isSliding = false;
setTimeout(function () {
- EventHandler.trigger(_this4._element, Event$3.SLID, {
+ EventHandler.trigger(_this4._element, EVENT_SLID, {
relatedTarget: nextElement,
direction: eventDirectionName,
from: activeElementIndex,
@@ -1748,10 +1664,10 @@
});
emulateTransitionEnd(activeElement, transitionDuration);
} else {
- activeElement.classList.remove(ClassName$2.ACTIVE);
- nextElement.classList.add(ClassName$2.ACTIVE);
+ activeElement.classList.remove(CLASS_NAME_ACTIVE$1);
+ nextElement.classList.add(CLASS_NAME_ACTIVE$1);
this._isSliding = false;
- EventHandler.trigger(this._element, Event$3.SLID, {
+ EventHandler.trigger(this._element, EVENT_SLID, {
relatedTarget: nextElement,
direction: eventDirectionName,
from: activeElementIndex,
@@ -1803,7 +1719,7 @@
Carousel.dataApiClickHandler = function dataApiClickHandler(event) {
var target = getElementFromSelector(this);
- if (!target || !target.classList.contains(ClassName$2.CAROUSEL)) {
+ if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {
return;
}
@@ -1849,9 +1765,9 @@
*/
- EventHandler.on(document, Event$3.CLICK_DATA_API, Selector$2.DATA_SLIDE, Carousel.dataApiClickHandler);
- EventHandler.on(window, Event$3.LOAD_DATA_API, function () {
- var carousels = makeArray(SelectorEngine.find(Selector$2.DATA_RIDE));
+ EventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_SLIDE, Carousel.dataApiClickHandler);
+ EventHandler.on(window, EVENT_LOAD_DATA_API, function () {
+ var carousels = SelectorEngine.find(SELECTOR_DATA_RIDE);
for (var i = 0, len = carousels.length; i < len; i++) {
Carousel.carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY$2));
@@ -1897,47 +1813,37 @@
toggle: 'boolean',
parent: '(string|element)'
};
- var Event$4 = {
- SHOW: "show" + EVENT_KEY$3,
- SHOWN: "shown" + EVENT_KEY$3,
- HIDE: "hide" + EVENT_KEY$3,
- HIDDEN: "hidden" + EVENT_KEY$3,
- CLICK_DATA_API: "click" + EVENT_KEY$3 + DATA_API_KEY$3
- };
- var ClassName$3 = {
- SHOW: 'show',
- COLLAPSE: 'collapse',
- COLLAPSING: 'collapsing',
- COLLAPSED: 'collapsed'
- };
- var Dimension = {
- WIDTH: 'width',
- HEIGHT: 'height'
- };
- var Selector$3 = {
- ACTIVES: '.show, .collapsing',
- DATA_TOGGLE: '[data-toggle="collapse"]'
- };
+ var EVENT_SHOW = "show" + EVENT_KEY$3;
+ var EVENT_SHOWN = "shown" + EVENT_KEY$3;
+ var EVENT_HIDE = "hide" + EVENT_KEY$3;
+ var EVENT_HIDDEN = "hidden" + EVENT_KEY$3;
+ var EVENT_CLICK_DATA_API$3 = "click" + EVENT_KEY$3 + DATA_API_KEY$3;
+ var CLASS_NAME_SHOW = 'show';
+ var CLASS_NAME_COLLAPSE = 'collapse';
+ var CLASS_NAME_COLLAPSING = 'collapsing';
+ var CLASS_NAME_COLLAPSED = 'collapsed';
+ var WIDTH = 'width';
+ var HEIGHT = 'height';
+ var SELECTOR_ACTIVES = '.show, .collapsing';
+ var SELECTOR_DATA_TOGGLE$1 = '[data-toggle="collapse"]';
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
- var Collapse =
- /*#__PURE__*/
- function () {
+ var Collapse = /*#__PURE__*/function () {
function Collapse(element, config) {
this._isTransitioning = false;
this._element = element;
this._config = this._getConfig(config);
- this._triggerArray = makeArray(SelectorEngine.find("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]")));
- var toggleList = makeArray(SelectorEngine.find(Selector$3.DATA_TOGGLE));
+ this._triggerArray = SelectorEngine.find(SELECTOR_DATA_TOGGLE$1 + "[href=\"#" + element.id + "\"]," + (SELECTOR_DATA_TOGGLE$1 + "[data-target=\"#" + element.id + "\"]"));
+ var toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$1);
for (var i = 0, len = toggleList.length; i < len; i++) {
var elem = toggleList[i];
var selector = getSelectorFromElement(elem);
- var filterElement = makeArray(SelectorEngine.find(selector)).filter(function (foundElem) {
+ var filterElement = SelectorEngine.find(selector).filter(function (foundElem) {
return foundElem === element;
});
@@ -1966,7 +1872,7 @@
// Public
_proto.toggle = function toggle() {
- if (this._element.classList.contains(ClassName$3.SHOW)) {
+ if (this._element.classList.contains(CLASS_NAME_SHOW)) {
this.hide();
} else {
this.show();
@@ -1976,7 +1882,7 @@
_proto.show = function show() {
var _this = this;
- if (this._isTransitioning || this._element.classList.contains(ClassName$3.SHOW)) {
+ if (this._isTransitioning || this._element.classList.contains(CLASS_NAME_SHOW)) {
return;
}
@@ -1984,12 +1890,12 @@
var activesData;
if (this._parent) {
- actives = makeArray(SelectorEngine.find(Selector$3.ACTIVES, this._parent)).filter(function (elem) {
+ actives = SelectorEngine.find(SELECTOR_ACTIVES, this._parent).filter(function (elem) {
if (typeof _this._config.parent === 'string') {
return elem.getAttribute('data-parent') === _this._config.parent;
}
- return elem.classList.contains(ClassName$3.COLLAPSE);
+ return elem.classList.contains(CLASS_NAME_COLLAPSE);
});
if (actives.length === 0) {
@@ -2010,7 +1916,7 @@
}
}
- var startEvent = EventHandler.trigger(this._element, Event$4.SHOW);
+ var startEvent = EventHandler.trigger(this._element, EVENT_SHOW);
if (startEvent.defaultPrevented) {
return;
@@ -2030,15 +1936,15 @@
var dimension = this._getDimension();
- this._element.classList.remove(ClassName$3.COLLAPSE);
+ this._element.classList.remove(CLASS_NAME_COLLAPSE);
- this._element.classList.add(ClassName$3.COLLAPSING);
+ this._element.classList.add(CLASS_NAME_COLLAPSING);
this._element.style[dimension] = 0;
if (this._triggerArray.length) {
this._triggerArray.forEach(function (element) {
- element.classList.remove(ClassName$3.COLLAPSED);
+ element.classList.remove(CLASS_NAME_COLLAPSED);
element.setAttribute('aria-expanded', true);
});
}
@@ -2046,17 +1952,17 @@
this.setTransitioning(true);
var complete = function complete() {
- _this._element.classList.remove(ClassName$3.COLLAPSING);
+ _this._element.classList.remove(CLASS_NAME_COLLAPSING);
- _this._element.classList.add(ClassName$3.COLLAPSE);
+ _this._element.classList.add(CLASS_NAME_COLLAPSE);
- _this._element.classList.add(ClassName$3.SHOW);
+ _this._element.classList.add(CLASS_NAME_SHOW);
_this._element.style[dimension] = '';
_this.setTransitioning(false);
- EventHandler.trigger(_this._element, Event$4.SHOWN);
+ EventHandler.trigger(_this._element, EVENT_SHOWN);
};
var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
@@ -2070,11 +1976,11 @@
_proto.hide = function hide() {
var _this2 = this;
- if (this._isTransitioning || !this._element.classList.contains(ClassName$3.SHOW)) {
+ if (this._isTransitioning || !this._element.classList.contains(CLASS_NAME_SHOW)) {
return;
}
- var startEvent = EventHandler.trigger(this._element, Event$4.HIDE);
+ var startEvent = EventHandler.trigger(this._element, EVENT_HIDE);
if (startEvent.defaultPrevented) {
return;
@@ -2085,11 +1991,11 @@
this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px";
reflow(this._element);
- this._element.classList.add(ClassName$3.COLLAPSING);
+ this._element.classList.add(CLASS_NAME_COLLAPSING);
- this._element.classList.remove(ClassName$3.COLLAPSE);
+ this._element.classList.remove(CLASS_NAME_COLLAPSE);
- this._element.classList.remove(ClassName$3.SHOW);
+ this._element.classList.remove(CLASS_NAME_SHOW);
var triggerArrayLength = this._triggerArray.length;
@@ -2098,8 +2004,8 @@
var trigger = this._triggerArray[i];
var elem = getElementFromSelector(trigger);
- if (elem && !elem.classList.contains(ClassName$3.SHOW)) {
- trigger.classList.add(ClassName$3.COLLAPSED);
+ if (elem && !elem.classList.contains(CLASS_NAME_SHOW)) {
+ trigger.classList.add(CLASS_NAME_COLLAPSED);
trigger.setAttribute('aria-expanded', false);
}
}
@@ -2110,11 +2016,11 @@
var complete = function complete() {
_this2.setTransitioning(false);
- _this2._element.classList.remove(ClassName$3.COLLAPSING);
+ _this2._element.classList.remove(CLASS_NAME_COLLAPSING);
- _this2._element.classList.add(ClassName$3.COLLAPSE);
+ _this2._element.classList.add(CLASS_NAME_COLLAPSE);
- EventHandler.trigger(_this2._element, Event$4.HIDDEN);
+ EventHandler.trigger(_this2._element, EVENT_HIDDEN);
};
this._element.style[dimension] = '';
@@ -2146,9 +2052,9 @@
};
_proto._getDimension = function _getDimension() {
- var hasWidth = this._element.classList.contains(Dimension.WIDTH);
+ var hasWidth = this._element.classList.contains(WIDTH);
- return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT;
+ return hasWidth ? WIDTH : HEIGHT;
};
_proto._getParent = function _getParent() {
@@ -2165,8 +2071,8 @@
parent = SelectorEngine.findOne(parent);
}
- var selector = "[data-toggle=\"collapse\"][data-parent=\"" + parent + "\"]";
- makeArray(SelectorEngine.find(selector, parent)).forEach(function (element) {
+ var selector = SELECTOR_DATA_TOGGLE$1 + "[data-parent=\"" + parent + "\"]";
+ SelectorEngine.find(selector, parent).forEach(function (element) {
var selected = getElementFromSelector(element);
_this3._addAriaAndCollapsedClass(selected, [element]);
@@ -2176,14 +2082,14 @@
_proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {
if (element) {
- var isOpen = element.classList.contains(ClassName$3.SHOW);
+ var isOpen = element.classList.contains(CLASS_NAME_SHOW);
if (triggerArray.length) {
triggerArray.forEach(function (elem) {
if (isOpen) {
- elem.classList.remove(ClassName$3.COLLAPSED);
+ elem.classList.remove(CLASS_NAME_COLLAPSED);
} else {
- elem.classList.add(ClassName$3.COLLAPSED);
+ elem.classList.add(CLASS_NAME_COLLAPSED);
}
elem.setAttribute('aria-expanded', isOpen);
@@ -2246,7 +2152,7 @@
*/
- EventHandler.on(document, Event$4.CLICK_DATA_API, Selector$3.DATA_TOGGLE, function (event) {
+ EventHandler.on(document, EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$1, function (event) {
// preventDefault only for <a> elements (which change the URL) not inside the collapsible element
if (event.target.tagName === 'A') {
event.preventDefault();
@@ -2254,7 +2160,7 @@
var triggerData = Manipulator.getDataAttributes(this);
var selector = getSelectorFromElement(this);
- var selectorElements = makeArray(SelectorEngine.find(selector));
+ var selectorElements = SelectorEngine.find(selector);
selectorElements.forEach(function (element) {
var data = Data.getData(element, DATA_KEY$3);
var config;
@@ -4933,42 +4839,33 @@
var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)
var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + "|" + ARROW_DOWN_KEYCODE + "|" + ESCAPE_KEYCODE);
- var Event$5 = {
- HIDE: "hide" + EVENT_KEY$4,
- HIDDEN: "hidden" + EVENT_KEY$4,
- SHOW: "show" + EVENT_KEY$4,
- SHOWN: "shown" + EVENT_KEY$4,
- CLICK: "click" + EVENT_KEY$4,
- CLICK_DATA_API: "click" + EVENT_KEY$4 + DATA_API_KEY$4,
- KEYDOWN_DATA_API: "keydown" + EVENT_KEY$4 + DATA_API_KEY$4,
- KEYUP_DATA_API: "keyup" + EVENT_KEY$4 + DATA_API_KEY$4
- };
- var ClassName$4 = {
- DISABLED: 'disabled',
- SHOW: 'show',
- DROPUP: 'dropup',
- DROPRIGHT: 'dropright',
- DROPLEFT: 'dropleft',
- MENURIGHT: 'dropdown-menu-right',
- POSITION_STATIC: 'position-static'
- };
- var Selector$4 = {
- DATA_TOGGLE: '[data-toggle="dropdown"]',
- FORM_CHILD: '.dropdown form',
- MENU: '.dropdown-menu',
- NAVBAR_NAV: '.navbar-nav',
- VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'
- };
- var AttachmentMap = {
- TOP: 'top-start',
- TOPEND: 'top-end',
- BOTTOM: 'bottom-start',
- BOTTOMEND: 'bottom-end',
- RIGHT: 'right-start',
- RIGHTEND: 'right-end',
- LEFT: 'left-start',
- LEFTEND: 'left-end'
- };
+ var EVENT_HIDE$1 = "hide" + EVENT_KEY$4;
+ var EVENT_HIDDEN$1 = "hidden" + EVENT_KEY$4;
+ var EVENT_SHOW$1 = "show" + EVENT_KEY$4;
+ var EVENT_SHOWN$1 = "shown" + EVENT_KEY$4;
+ var EVENT_CLICK = "click" + EVENT_KEY$4;
+ var EVENT_CLICK_DATA_API$4 = "click" + EVENT_KEY$4 + DATA_API_KEY$4;
+ var EVENT_KEYDOWN_DATA_API = "keydown" + EVENT_KEY$4 + DATA_API_KEY$4;
+ var EVENT_KEYUP_DATA_API = "keyup" + EVENT_KEY$4 + DATA_API_KEY$4;
+ var CLASS_NAME_DISABLED$1 = 'disabled';
+ var CLASS_NAME_SHOW$1 = 'show';
+ var CLASS_NAME_DROPUP = 'dropup';
+ var CLASS_NAME_DROPRIGHT = 'dropright';
+ var CLASS_NAME_DROPLEFT = 'dropleft';
+ var CLASS_NAME_MENURIGHT = 'dropdown-menu-right';
+ var CLASS_NAME_NAVBAR = 'navbar';
+ var CLASS_NAME_POSITION_STATIC = 'position-static';
+ var SELECTOR_DATA_TOGGLE$2 = '[data-toggle="dropdown"]';
+ var SELECTOR_FORM_CHILD = '.dropdown form';
+ var SELECTOR_MENU = '.dropdown-menu';
+ var SELECTOR_NAVBAR_NAV = '.navbar-nav';
+ var SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)';
+ var PLACEMENT_TOP = 'top-start';
+ var PLACEMENT_TOPEND = 'top-end';
+ var PLACEMENT_BOTTOM = 'bottom-start';
+ var PLACEMENT_BOTTOMEND = 'bottom-end';
+ var PLACEMENT_RIGHT = 'right-start';
+ var PLACEMENT_LEFT = 'left-start';
var Default$2 = {
offset: 0,
flip: true,
@@ -4991,9 +4888,7 @@
* ------------------------------------------------------------------------
*/
- var Dropdown =
- /*#__PURE__*/
- function () {
+ var Dropdown = /*#__PURE__*/function () {
function Dropdown(element, config) {
this._element = element;
this._popper = null;
@@ -5011,11 +4906,11 @@
// Public
_proto.toggle = function toggle() {
- if (this._element.disabled || this._element.classList.contains(ClassName$4.DISABLED)) {
+ if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED$1)) {
return;
}
- var isActive = this._menu.classList.contains(ClassName$4.SHOW);
+ var isActive = this._element.classList.contains(CLASS_NAME_SHOW$1);
Dropdown.clearMenus();
@@ -5027,7 +4922,7 @@
};
_proto.show = function show() {
- if (this._element.disabled || this._element.classList.contains(ClassName$4.DISABLED) || this._menu.classList.contains(ClassName$4.SHOW)) {
+ if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED$1) || this._menu.classList.contains(CLASS_NAME_SHOW$1)) {
return;
}
@@ -5035,7 +4930,7 @@
var relatedTarget = {
relatedTarget: this._element
};
- var showEvent = EventHandler.trigger(parent, Event$5.SHOW, relatedTarget);
+ var showEvent = EventHandler.trigger(this._element, EVENT_SHOW$1, relatedTarget);
if (showEvent.defaultPrevented) {
return;
@@ -5063,7 +4958,7 @@
if (this._config.boundary !== 'scrollParent') {
- parent.classList.add(ClassName$4.POSITION_STATIC);
+ parent.classList.add(CLASS_NAME_POSITION_STATIC);
}
this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig());
@@ -5073,8 +4968,10 @@
// https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
- if ('ontouchstart' in document.documentElement && !makeArray(SelectorEngine.closest(parent, Selector$4.NAVBAR_NAV)).length) {
- makeArray(document.body.children).forEach(function (elem) {
+ if ('ontouchstart' in document.documentElement && !SelectorEngine.closest(parent, SELECTOR_NAVBAR_NAV)) {
+ var _ref;
+
+ (_ref = []).concat.apply(_ref, document.body.children).forEach(function (elem) {
return EventHandler.on(elem, 'mouseover', null, noop());
});
}
@@ -5083,13 +4980,13 @@
this._element.setAttribute('aria-expanded', true);
- Manipulator.toggleClass(this._menu, ClassName$4.SHOW);
- Manipulator.toggleClass(parent, ClassName$4.SHOW);
- EventHandler.trigger(parent, Event$5.SHOWN, relatedTarget);
+ Manipulator.toggleClass(this._menu, CLASS_NAME_SHOW$1);
+ Manipulator.toggleClass(this._element, CLASS_NAME_SHOW$1);
+ EventHandler.trigger(parent, EVENT_SHOWN$1, relatedTarget);
};
_proto.hide = function hide() {
- if (this._element.disabled || this._element.classList.contains(ClassName$4.DISABLED) || !this._menu.classList.contains(ClassName$4.SHOW)) {
+ if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED$1) || !this._menu.classList.contains(CLASS_NAME_SHOW$1)) {
return;
}
@@ -5097,7 +4994,7 @@
var relatedTarget = {
relatedTarget: this._element
};
- var hideEvent = EventHandler.trigger(parent, Event$5.HIDE, relatedTarget);
+ var hideEvent = EventHandler.trigger(parent, EVENT_HIDE$1, relatedTarget);
if (hideEvent.defaultPrevented) {
return;
@@ -5107,9 +5004,9 @@
this._popper.destroy();
}
- Manipulator.toggleClass(this._menu, ClassName$4.SHOW);
- Manipulator.toggleClass(parent, ClassName$4.SHOW);
- EventHandler.trigger(parent, Event$5.HIDDEN, relatedTarget);
+ Manipulator.toggleClass(this._menu, CLASS_NAME_SHOW$1);
+ Manipulator.toggleClass(this._element, CLASS_NAME_SHOW$1);
+ EventHandler.trigger(parent, EVENT_HIDDEN$1, relatedTarget);
};
_proto.dispose = function dispose() {
@@ -5137,7 +5034,7 @@
_proto._addEventListeners = function _addEventListeners() {
var _this = this;
- EventHandler.on(this._element, Event$5.CLICK, function (event) {
+ EventHandler.on(this._element, EVENT_CLICK, function (event) {
event.preventDefault();
event.stopPropagation();
@@ -5152,33 +5049,32 @@
};
_proto._getMenuElement = function _getMenuElement() {
- var parent = Dropdown.getParentFromElement(this._element);
- return SelectorEngine.findOne(Selector$4.MENU, parent);
+ return SelectorEngine.next(this._element, SELECTOR_MENU)[0];
};
_proto._getPlacement = function _getPlacement() {
var parentDropdown = this._element.parentNode;
- var placement = AttachmentMap.BOTTOM; // Handle dropup
+ var placement = PLACEMENT_BOTTOM; // Handle dropup
- if (parentDropdown.classList.contains(ClassName$4.DROPUP)) {
- placement = AttachmentMap.TOP;
+ if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {
+ placement = PLACEMENT_TOP;
- if (this._menu.classList.contains(ClassName$4.MENURIGHT)) {
- placement = AttachmentMap.TOPEND;
+ if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {
+ placement = PLACEMENT_TOPEND;
}
- } else if (parentDropdown.classList.contains(ClassName$4.DROPRIGHT)) {
- placement = AttachmentMap.RIGHT;
- } else if (parentDropdown.classList.contains(ClassName$4.DROPLEFT)) {
- placement = AttachmentMap.LEFT;
- } else if (this._menu.classList.contains(ClassName$4.MENURIGHT)) {
- placement = AttachmentMap.BOTTOMEND;
+ } else if (parentDropdown.classList.contains(CLASS_NAME_DROPRIGHT)) {
+ placement = PLACEMENT_RIGHT;
+ } else if (parentDropdown.classList.contains(CLASS_NAME_DROPLEFT)) {
+ placement = PLACEMENT_LEFT;
+ } else if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {
+ placement = PLACEMENT_BOTTOMEND;
}
return placement;
};
_proto._detectNavbar = function _detectNavbar() {
- return Boolean(SelectorEngine.closest(this._element, '.navbar'));
+ return Boolean(SelectorEngine.closest(this._element, "." + CLASS_NAME_NAVBAR));
};
_proto._getOffset = function _getOffset() {
@@ -5251,7 +5147,7 @@
return;
}
- var toggles = makeArray(SelectorEngine.find(Selector$4.DATA_TOGGLE));
+ var toggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE$2);
for (var i = 0, len = toggles.length; i < len; i++) {
var parent = Dropdown.getParentFromElement(toggles[i]);
@@ -5270,15 +5166,15 @@
var dropdownMenu = context._menu;
- if (!parent.classList.contains(ClassName$4.SHOW)) {
+ if (!toggles[i].classList.contains(CLASS_NAME_SHOW$1)) {
continue;
}
- if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && parent.contains(event.target)) {
+ if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && dropdownMenu.contains(event.target)) {
continue;
}
- var hideEvent = EventHandler.trigger(parent, Event$5.HIDE, relatedTarget);
+ var hideEvent = EventHandler.trigger(parent, EVENT_HIDE$1, relatedTarget);
if (hideEvent.defaultPrevented) {
continue;
@@ -5287,7 +5183,9 @@
if ('ontouchstart' in document.documentElement) {
- makeArray(document.body.children).forEach(function (elem) {
+ var _ref2;
+
+ (_ref2 = []).concat.apply(_ref2, document.body.children).forEach(function (elem) {
return EventHandler.off(elem, 'mouseover', null, noop());
});
}
@@ -5298,9 +5196,9 @@
context._popper.destroy();
}
- dropdownMenu.classList.remove(ClassName$4.SHOW);
- parent.classList.remove(ClassName$4.SHOW);
- EventHandler.trigger(parent, Event$5.HIDDEN, relatedTarget);
+ dropdownMenu.classList.remove(CLASS_NAME_SHOW$1);
+ toggles[i].classList.remove(CLASS_NAME_SHOW$1);
+ EventHandler.trigger(parent, EVENT_HIDDEN$1, relatedTarget);
}
};
@@ -5316,36 +5214,39 @@
// - If key is other than escape
// - If key is not up or down => not a dropdown command
// - If trigger inside the menu => not a dropdown command
- if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE && (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || SelectorEngine.closest(event.target, Selector$4.MENU)) : !REGEXP_KEYDOWN.test(event.which)) {
+ if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE && (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || SelectorEngine.closest(event.target, SELECTOR_MENU)) : !REGEXP_KEYDOWN.test(event.which)) {
return;
}
event.preventDefault();
event.stopPropagation();
- if (this.disabled || this.classList.contains(ClassName$4.DISABLED)) {
+ if (this.disabled || this.classList.contains(CLASS_NAME_DISABLED$1)) {
return;
}
var parent = Dropdown.getParentFromElement(this);
- var isActive = parent.classList.contains(ClassName$4.SHOW);
+ var isActive = this.classList.contains(CLASS_NAME_SHOW$1);
- if (!isActive || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {
- if (event.which === ESCAPE_KEYCODE) {
- SelectorEngine.findOne(Selector$4.DATA_TOGGLE, parent).focus();
- }
+ if (event.which === ESCAPE_KEYCODE) {
+ var button = this.matches(SELECTOR_DATA_TOGGLE$2) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$2)[0];
+ button.focus();
+ Dropdown.clearMenus();
+ return;
+ }
+ if (!isActive || event.which === SPACE_KEYCODE) {
Dropdown.clearMenus();
return;
}
- var items = makeArray(SelectorEngine.find(Selector$4.VISIBLE_ITEMS, parent)).filter(isVisible);
+ var items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, parent).filter(isVisible);
if (!items.length) {
return;
}
- var index = items.indexOf(event.target);
+ var index = items.indexOf(event.target) || 0;
if (event.which === ARROW_UP_KEYCODE && index > 0) {
// Up
@@ -5357,10 +5258,6 @@
index++;
}
- if (index < 0) {
- index = 0;
- }
-
items[index].focus();
};
@@ -5394,16 +5291,16 @@
*/
- EventHandler.on(document, Event$5.KEYDOWN_DATA_API, Selector$4.DATA_TOGGLE, Dropdown.dataApiKeydownHandler);
- EventHandler.on(document, Event$5.KEYDOWN_DATA_API, Selector$4.MENU, Dropdown.dataApiKeydownHandler);
- EventHandler.on(document, Event$5.CLICK_DATA_API, Dropdown.clearMenus);
- EventHandler.on(document, Event$5.KEYUP_DATA_API, Dropdown.clearMenus);
- EventHandler.on(document, Event$5.CLICK_DATA_API, Selector$4.DATA_TOGGLE, function (event) {
+ EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$2, Dropdown.dataApiKeydownHandler);
+ EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler);
+ EventHandler.on(document, EVENT_CLICK_DATA_API$4, Dropdown.clearMenus);
+ EventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus);
+ EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$2, function (event) {
event.preventDefault();
event.stopPropagation();
Dropdown.dropdownInterface(this, 'toggle');
});
- EventHandler.on(document, Event$5.CLICK_DATA_API, Selector$4.FORM_CHILD, function (e) {
+ EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_FORM_CHILD, function (e) {
return e.stopPropagation();
});
var $$5 = getjQuery();
@@ -5452,50 +5349,42 @@
focus: 'boolean',
show: 'boolean'
};
- var Event$6 = {
- HIDE: "hide" + EVENT_KEY$5,
- HIDE_PREVENTED: "hidePrevented" + EVENT_KEY$5,
- HIDDEN: "hidden" + EVENT_KEY$5,
- SHOW: "show" + EVENT_KEY$5,
- SHOWN: "shown" + EVENT_KEY$5,
- FOCUSIN: "focusin" + EVENT_KEY$5,
- RESIZE: "resize" + EVENT_KEY$5,
- CLICK_DISMISS: "click.dismiss" + EVENT_KEY$5,
- KEYDOWN_DISMISS: "keydown.dismiss" + EVENT_KEY$5,
- MOUSEUP_DISMISS: "mouseup.dismiss" + EVENT_KEY$5,
- MOUSEDOWN_DISMISS: "mousedown.dismiss" + EVENT_KEY$5,
- CLICK_DATA_API: "click" + EVENT_KEY$5 + DATA_API_KEY$5
- };
- var ClassName$5 = {
- SCROLLABLE: 'modal-dialog-scrollable',
- SCROLLBAR_MEASURER: 'modal-scrollbar-measure',
- BACKDROP: 'modal-backdrop',
- OPEN: 'modal-open',
- FADE: 'fade',
- SHOW: 'show',
- STATIC: 'modal-static'
- };
- var Selector$5 = {
- DIALOG: '.modal-dialog',
- MODAL_BODY: '.modal-body',
- DATA_TOGGLE: '[data-toggle="modal"]',
- DATA_DISMISS: '[data-dismiss="modal"]',
- FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
- STICKY_CONTENT: '.sticky-top'
- };
+ var EVENT_HIDE$2 = "hide" + EVENT_KEY$5;
+ var EVENT_HIDE_PREVENTED = "hidePrevented" + EVENT_KEY$5;
+ var EVENT_HIDDEN$2 = "hidden" + EVENT_KEY$5;
+ var EVENT_SHOW$2 = "show" + EVENT_KEY$5;
+ var EVENT_SHOWN$2 = "shown" + EVENT_KEY$5;
+ var EVENT_FOCUSIN = "focusin" + EVENT_KEY$5;
+ var EVENT_RESIZE = "resize" + EVENT_KEY$5;
+ var EVENT_CLICK_DISMISS = "click.dismiss" + EVENT_KEY$5;
+ var EVENT_KEYDOWN_DISMISS = "keydown.dismiss" + EVENT_KEY$5;
+ var EVENT_MOUSEUP_DISMISS = "mouseup.dismiss" + EVENT_KEY$5;
+ var EVENT_MOUSEDOWN_DISMISS = "mousedown.dismiss" + EVENT_KEY$5;
+ var EVENT_CLICK_DATA_API$5 = "click" + EVENT_KEY$5 + DATA_API_KEY$5;
+ var CLASS_NAME_SCROLLABLE = 'modal-dialog-scrollable';
+ var CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure';
+ var CLASS_NAME_BACKDROP = 'modal-backdrop';
+ var CLASS_NAME_OPEN = 'modal-open';
+ var CLASS_NAME_FADE = 'fade';
+ var CLASS_NAME_SHOW$2 = 'show';
+ var CLASS_NAME_STATIC = 'modal-static';
+ var SELECTOR_DIALOG = '.modal-dialog';
+ var SELECTOR_MODAL_BODY = '.modal-body';
+ var SELECTOR_DATA_TOGGLE$3 = '[data-toggle="modal"]';
+ var SELECTOR_DATA_DISMISS = '[data-dismiss="modal"]';
+ var SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';
+ var SELECTOR_STICKY_CONTENT = '.sticky-top';
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
- var Modal =
- /*#__PURE__*/
- function () {
+ var Modal = /*#__PURE__*/function () {
function Modal(element, config) {
this._config = this._getConfig(config);
this._element = element;
- this._dialog = SelectorEngine.findOne(Selector$5.DIALOG, element);
+ this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, element);
this._backdrop = null;
this._isShown = false;
this._isBodyOverflowing = false;
@@ -5520,11 +5409,11 @@
return;
}
- if (this._element.classList.contains(ClassName$5.FADE)) {
+ if (this._element.classList.contains(CLASS_NAME_FADE)) {
this._isTransitioning = true;
}
- var showEvent = EventHandler.trigger(this._element, Event$6.SHOW, {
+ var showEvent = EventHandler.trigger(this._element, EVENT_SHOW$2, {
relatedTarget: relatedTarget
});
@@ -5544,11 +5433,11 @@
this._setResizeEvent();
- EventHandler.on(this._element, Event$6.CLICK_DISMISS, Selector$5.DATA_DISMISS, function (event) {
+ EventHandler.on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, function (event) {
return _this.hide(event);
});
- EventHandler.on(this._dialog, Event$6.MOUSEDOWN_DISMISS, function () {
- EventHandler.one(_this._element, Event$6.MOUSEUP_DISMISS, function (event) {
+ EventHandler.on(this._dialog, EVENT_MOUSEDOWN_DISMISS, function () {
+ EventHandler.one(_this._element, EVENT_MOUSEUP_DISMISS, function (event) {
if (event.target === _this._element) {
_this._ignoreBackdropClick = true;
}
@@ -5571,7 +5460,7 @@
return;
}
- var hideEvent = EventHandler.trigger(this._element, Event$6.HIDE);
+ var hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$2);
if (hideEvent.defaultPrevented) {
return;
@@ -5579,7 +5468,7 @@
this._isShown = false;
- var transition = this._element.classList.contains(ClassName$5.FADE);
+ var transition = this._element.classList.contains(CLASS_NAME_FADE);
if (transition) {
this._isTransitioning = true;
@@ -5589,12 +5478,12 @@
this._setResizeEvent();
- EventHandler.off(document, Event$6.FOCUSIN);
+ EventHandler.off(document, EVENT_FOCUSIN);
- this._element.classList.remove(ClassName$5.SHOW);
+ this._element.classList.remove(CLASS_NAME_SHOW$2);
- EventHandler.off(this._element, Event$6.CLICK_DISMISS);
- EventHandler.off(this._dialog, Event$6.MOUSEDOWN_DISMISS);
+ EventHandler.off(this._element, EVENT_CLICK_DISMISS);
+ EventHandler.off(this._dialog, EVENT_MOUSEDOWN_DISMISS);
if (transition) {
var transitionDuration = getTransitionDurationFromElement(this._element);
@@ -5612,12 +5501,12 @@
return EventHandler.off(htmlElement, EVENT_KEY$5);
});
/**
- * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`
+ * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`
* Do not move `document` in `htmlElements` array
- * It will remove `Event.CLICK_DATA_API` event that should remain
+ * It will remove `EVENT_CLICK_DATA_API` event that should remain
*/
- EventHandler.off(document, Event$6.FOCUSIN);
+ EventHandler.off(document, EVENT_FOCUSIN);
Data.removeData(this._element, DATA_KEY$5);
this._config = null;
this._element = null;
@@ -5644,9 +5533,9 @@
_proto._showElement = function _showElement(relatedTarget) {
var _this3 = this;
- var transition = this._element.classList.contains(ClassName$5.FADE);
+ var transition = this._element.classList.contains(CLASS_NAME_FADE);
- var modalBody = SelectorEngine.findOne(Selector$5.MODAL_BODY, this._dialog);
+ var modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog);
if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
// Don't move modal's DOM position
@@ -5659,7 +5548,7 @@
this._element.setAttribute('aria-modal', true);
- if (this._dialog.classList.contains(ClassName$5.SCROLLABLE) && modalBody) {
+ if (this._dialog.classList.contains(CLASS_NAME_SCROLLABLE) && modalBody) {
modalBody.scrollTop = 0;
} else {
this._element.scrollTop = 0;
@@ -5669,7 +5558,7 @@
reflow(this._element);
}
- this._element.classList.add(ClassName$5.SHOW);
+ this._element.classList.add(CLASS_NAME_SHOW$2);
if (this._config.focus) {
this._enforceFocus();
@@ -5681,7 +5570,7 @@
}
_this3._isTransitioning = false;
- EventHandler.trigger(_this3._element, Event$6.SHOWN, {
+ EventHandler.trigger(_this3._element, EVENT_SHOWN$2, {
relatedTarget: relatedTarget
});
};
@@ -5698,9 +5587,9 @@
_proto._enforceFocus = function _enforceFocus() {
var _this4 = this;
- EventHandler.off(document, Event$6.FOCUSIN); // guard against infinite focus loop
+ EventHandler.off(document, EVENT_FOCUSIN); // guard against infinite focus loop
- EventHandler.on(document, Event$6.FOCUSIN, function (event) {
+ EventHandler.on(document, EVENT_FOCUSIN, function (event) {
if (document !== event.target && _this4._element !== event.target && !_this4._element.contains(event.target)) {
_this4._element.focus();
}
@@ -5710,14 +5599,18 @@
_proto._setEscapeEvent = function _setEscapeEvent() {
var _this5 = this;
- if (this._isShown && this._config.keyboard) {
- EventHandler.on(this._element, Event$6.KEYDOWN_DISMISS, function (event) {
- if (event.which === ESCAPE_KEYCODE$1) {
+ if (this._isShown) {
+ EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, function (event) {
+ if (_this5._config.keyboard && event.which === ESCAPE_KEYCODE$1) {
+ event.preventDefault();
+
+ _this5.hide();
+ } else if (!_this5._config.keyboard && event.which === ESCAPE_KEYCODE$1) {
_this5._triggerBackdropTransition();
}
});
} else {
- EventHandler.off(this._element, Event$6.KEYDOWN_DISMISS);
+ EventHandler.off(this._element, EVENT_KEYDOWN_DISMISS);
}
};
@@ -5725,11 +5618,11 @@
var _this6 = this;
if (this._isShown) {
- EventHandler.on(window, Event$6.RESIZE, function () {
+ EventHandler.on(window, EVENT_RESIZE, function () {
return _this6._adjustDialog();
});
} else {
- EventHandler.off(window, Event$6.RESIZE);
+ EventHandler.off(window, EVENT_RESIZE);
}
};
@@ -5745,13 +5638,13 @@
this._isTransitioning = false;
this._showBackdrop(function () {
- document.body.classList.remove(ClassName$5.OPEN);
+ document.body.classList.remove(CLASS_NAME_OPEN);
_this7._resetAdjustments();
_this7._resetScrollbar();
- EventHandler.trigger(_this7._element, Event$6.HIDDEN);
+ EventHandler.trigger(_this7._element, EVENT_HIDDEN$2);
});
};
@@ -5764,18 +5657,18 @@
_proto._showBackdrop = function _showBackdrop(callback) {
var _this8 = this;
- var animate = this._element.classList.contains(ClassName$5.FADE) ? ClassName$5.FADE : '';
+ var animate = this._element.classList.contains(CLASS_NAME_FADE) ? CLASS_NAME_FADE : '';
if (this._isShown && this._config.backdrop) {
this._backdrop = document.createElement('div');
- this._backdrop.className = ClassName$5.BACKDROP;
+ this._backdrop.className = CLASS_NAME_BACKDROP;
if (animate) {
this._backdrop.classList.add(animate);
}
document.body.appendChild(this._backdrop);
- EventHandler.on(this._element, Event$6.CLICK_DISMISS, function (event) {
+ EventHandler.on(this._element, EVENT_CLICK_DISMISS, function (event) {
if (_this8._ignoreBackdropClick) {
_this8._ignoreBackdropClick = false;
return;
@@ -5792,7 +5685,7 @@
reflow(this._backdrop);
}
- this._backdrop.classList.add(ClassName$5.SHOW);
+ this._backdrop.classList.add(CLASS_NAME_SHOW$2);
if (!animate) {
callback();
@@ -5803,7 +5696,7 @@
EventHandler.one(this._backdrop, TRANSITION_END, callback);
emulateTransitionEnd(this._backdrop, backdropTransitionDuration);
} else if (!this._isShown && this._backdrop) {
- this._backdrop.classList.remove(ClassName$5.SHOW);
+ this._backdrop.classList.remove(CLASS_NAME_SHOW$2);
var callbackRemove = function callbackRemove() {
_this8._removeBackdrop();
@@ -5811,7 +5704,7 @@
callback();
};
- if (this._element.classList.contains(ClassName$5.FADE)) {
+ if (this._element.classList.contains(CLASS_NAME_FADE)) {
var _backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop);
EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove);
@@ -5828,17 +5721,17 @@
var _this9 = this;
if (this._config.backdrop === 'static') {
- var hideEvent = EventHandler.trigger(this._element, Event$6.HIDE_PREVENTED);
+ var hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED);
if (hideEvent.defaultPrevented) {
return;
}
- this._element.classList.add(ClassName$5.STATIC);
+ this._element.classList.add(CLASS_NAME_STATIC);
var modalTransitionDuration = getTransitionDurationFromElement(this._element);
EventHandler.one(this._element, TRANSITION_END, function () {
- _this9._element.classList.remove(ClassName$5.STATIC);
+ _this9._element.classList.remove(CLASS_NAME_STATIC);
});
emulateTransitionEnd(this._element, modalTransitionDuration);
@@ -5881,14 +5774,14 @@
// Note: DOMNode.style.paddingRight returns the actual value or '' if not set
// while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set
// Adjust fixed content padding
- makeArray(SelectorEngine.find(Selector$5.FIXED_CONTENT)).forEach(function (element) {
+ SelectorEngine.find(SELECTOR_FIXED_CONTENT).forEach(function (element) {
var actualPadding = element.style.paddingRight;
var calculatedPadding = window.getComputedStyle(element)['padding-right'];
Manipulator.setDataAttribute(element, 'padding-right', actualPadding);
element.style.paddingRight = parseFloat(calculatedPadding) + _this10._scrollbarWidth + "px";
}); // Adjust sticky content margin
- makeArray(SelectorEngine.find(Selector$5.STICKY_CONTENT)).forEach(function (element) {
+ SelectorEngine.find(SELECTOR_STICKY_CONTENT).forEach(function (element) {
var actualMargin = element.style.marginRight;
var calculatedMargin = window.getComputedStyle(element)['margin-right'];
Manipulator.setDataAttribute(element, 'margin-right', actualMargin);
@@ -5901,12 +5794,12 @@
document.body.style.paddingRight = parseFloat(calculatedPadding) + this._scrollbarWidth + "px";
}
- document.body.classList.add(ClassName$5.OPEN);
+ document.body.classList.add(CLASS_NAME_OPEN);
};
_proto._resetScrollbar = function _resetScrollbar() {
// Restore fixed content padding
- makeArray(SelectorEngine.find(Selector$5.FIXED_CONTENT)).forEach(function (element) {
+ SelectorEngine.find(SELECTOR_FIXED_CONTENT).forEach(function (element) {
var padding = Manipulator.getDataAttribute(element, 'padding-right');
if (typeof padding !== 'undefined') {
@@ -5915,7 +5808,7 @@
}
}); // Restore sticky content and navbar-toggler margin
- makeArray(SelectorEngine.find("" + Selector$5.STICKY_CONTENT)).forEach(function (element) {
+ SelectorEngine.find("" + SELECTOR_STICKY_CONTENT).forEach(function (element) {
var margin = Manipulator.getDataAttribute(element, 'margin-right');
if (typeof margin !== 'undefined') {
@@ -5937,7 +5830,7 @@
_proto._getScrollbarWidth = function _getScrollbarWidth() {
// thx d.walsh
var scrollDiv = document.createElement('div');
- scrollDiv.className = ClassName$5.SCROLLBAR_MEASURER;
+ scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER;
document.body.appendChild(scrollDiv);
var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;
document.body.removeChild(scrollDiv);
@@ -5992,7 +5885,7 @@
*/
- EventHandler.on(document, Event$6.CLICK_DATA_API, Selector$5.DATA_TOGGLE, function (event) {
+ EventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_TOGGLE$3, function (event) {
var _this11 = this;
var target = getElementFromSelector(this);
@@ -6001,13 +5894,13 @@
event.preventDefault();
}
- EventHandler.one(target, Event$6.SHOW, function (showEvent) {
+ EventHandler.one(target, EVENT_SHOW$2, function (showEvent) {
if (showEvent.defaultPrevented) {
// only register focus restorer if modal will actually get shown
return;
}
- EventHandler.one(target, Event$6.HIDDEN, function () {
+ EventHandler.one(target, EVENT_HIDDEN$2, function () {
if (isVisible(_this11)) {
_this11.focus();
}
@@ -6058,21 +5951,21 @@
* Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts
*/
- var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi;
+ var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi;
/**
* A pattern that matches safe data URLs. Only matches image, video and audio types.
*
* Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts
*/
- var DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i;
+ var DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i;
var allowedAttribute = function allowedAttribute(attr, allowedAttributeList) {
var attrName = attr.nodeName.toLowerCase();
if (allowedAttributeList.indexOf(attrName) !== -1) {
if (uriAttrs.indexOf(attrName) !== -1) {
- return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN));
+ return SAFE_URL_PATTERN.test(attr.nodeValue) || DATA_URL_PATTERN.test(attr.nodeValue);
}
return true;
@@ -6082,8 +5975,8 @@
return attrRegex instanceof RegExp;
}); // Check if a regular expression validates the attribute.
- for (var i = 0, l = regExp.length; i < l; i++) {
- if (attrName.match(regExp[i])) {
+ for (var i = 0, len = regExp.length; i < len; i++) {
+ if (regExp[i].test(attrName)) {
return true;
}
}
@@ -6110,7 +6003,7 @@
h5: [],
h6: [],
i: [],
- img: ['src', 'alt', 'title', 'width', 'height'],
+ img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],
li: [],
ol: [],
p: [],
@@ -6125,6 +6018,8 @@
ul: []
};
function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {
+ var _ref;
+
if (!unsafeHtml.length) {
return unsafeHtml;
}
@@ -6136,9 +6031,12 @@
var domParser = new window.DOMParser();
var createdDocument = domParser.parseFromString(unsafeHtml, 'text/html');
var whitelistKeys = Object.keys(whiteList);
- var elements = makeArray(createdDocument.body.querySelectorAll('*'));
+
+ var elements = (_ref = []).concat.apply(_ref, createdDocument.body.querySelectorAll('*'));
var _loop = function _loop(i, len) {
+ var _ref2;
+
var el = elements[i];
var elName = el.nodeName.toLowerCase();
@@ -6147,7 +6045,8 @@
return "continue";
}
- var attributeList = makeArray(el.attributes);
+ var attributeList = (_ref2 = []).concat.apply(_ref2, el.attributes);
+
var whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || []);
attributeList.forEach(function (attr) {
if (!allowedAttribute(attr, whitelistedAttributes)) {
@@ -6196,7 +6095,7 @@
whiteList: 'object',
popperConfig: '(null|object)'
};
- var AttachmentMap$1 = {
+ var AttachmentMap = {
AUTO: 'auto',
TOP: 'top',
RIGHT: 'right',
@@ -6221,11 +6120,7 @@
whiteList: DefaultWhitelist,
popperConfig: null
};
- var HoverState = {
- SHOW: 'show',
- OUT: 'out'
- };
- var Event$7 = {
+ var Event$1 = {
HIDE: "hide" + EVENT_KEY$6,
HIDDEN: "hidden" + EVENT_KEY$6,
SHOW: "show" + EVENT_KEY$6,
@@ -6237,28 +6132,23 @@
MOUSEENTER: "mouseenter" + EVENT_KEY$6,
MOUSELEAVE: "mouseleave" + EVENT_KEY$6
};
- var ClassName$6 = {
- FADE: 'fade',
- SHOW: 'show'
- };
- var Selector$6 = {
- TOOLTIP_INNER: '.tooltip-inner'
- };
- var Trigger = {
- HOVER: 'hover',
- FOCUS: 'focus',
- CLICK: 'click',
- MANUAL: 'manual'
- };
+ var CLASS_NAME_FADE$1 = 'fade';
+ var CLASS_NAME_MODAL = 'modal';
+ var CLASS_NAME_SHOW$3 = 'show';
+ var HOVER_STATE_SHOW = 'show';
+ var HOVER_STATE_OUT = 'out';
+ var SELECTOR_TOOLTIP_INNER = '.tooltip-inner';
+ var TRIGGER_HOVER = 'hover';
+ var TRIGGER_FOCUS = 'focus';
+ var TRIGGER_CLICK = 'click';
+ var TRIGGER_MANUAL = 'manual';
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
- var Tooltip =
- /*#__PURE__*/
- function () {
+ var Tooltip = /*#__PURE__*/function () {
function Tooltip(element, config) {
if (typeof Popper === 'undefined') {
throw new TypeError('Bootstrap\'s tooltips require Popper.js (https://popper.js.org)');
@@ -6318,7 +6208,7 @@
context._leave(null, context);
}
} else {
- if (this.getTipElement().classList.contains(ClassName$6.SHOW)) {
+ if (this.getTipElement().classList.contains(CLASS_NAME_SHOW$3)) {
this._leave(null, this);
return;
@@ -6332,7 +6222,7 @@
clearTimeout(this._timeout);
Data.removeData(this.element, this.constructor.DATA_KEY);
EventHandler.off(this.element, this.constructor.EVENT_KEY);
- EventHandler.off(SelectorEngine.closest(this.element, '.modal'), 'hide.bs.modal', this._hideModalHandler);
+ EventHandler.off(SelectorEngine.closest(this.element, "." + CLASS_NAME_MODAL), 'hide.bs.modal', this._hideModalHandler);
if (this.tip) {
this.tip.parentNode.removeChild(this.tip);
@@ -6376,7 +6266,7 @@
this.setContent();
if (this.config.animation) {
- tip.classList.add(ClassName$6.FADE);
+ tip.classList.add(CLASS_NAME_FADE$1);
}
var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;
@@ -6395,13 +6285,15 @@
EventHandler.trigger(this.element, this.constructor.Event.INSERTED);
this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment));
- tip.classList.add(ClassName$6.SHOW); // If this is a touch-enabled device we add extra
+ tip.classList.add(CLASS_NAME_SHOW$3); // If this is a touch-enabled device we add extra
// empty mouseover listeners to the body's immediate children;
// only needed because of broken event delegation on iOS
// https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
if ('ontouchstart' in document.documentElement) {
- makeArray(document.body.children).forEach(function (element) {
+ var _ref;
+
+ (_ref = []).concat.apply(_ref, document.body.children).forEach(function (element) {
EventHandler.on(element, 'mouseover', noop());
});
}
@@ -6415,12 +6307,12 @@
_this._hoverState = null;
EventHandler.trigger(_this.element, _this.constructor.Event.SHOWN);
- if (prevHoverState === HoverState.OUT) {
+ if (prevHoverState === HOVER_STATE_OUT) {
_this._leave(null, _this);
}
};
- if (this.tip.classList.contains(ClassName$6.FADE)) {
+ if (this.tip.classList.contains(CLASS_NAME_FADE$1)) {
var transitionDuration = getTransitionDurationFromElement(this.tip);
EventHandler.one(this.tip, TRANSITION_END, complete);
emulateTransitionEnd(this.tip, transitionDuration);
@@ -6436,7 +6328,7 @@
var tip = this.getTipElement();
var complete = function complete() {
- if (_this2._hoverState !== HoverState.SHOW && tip.parentNode) {
+ if (_this2._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {
tip.parentNode.removeChild(tip);
}
@@ -6455,20 +6347,22 @@
return;
}
- tip.classList.remove(ClassName$6.SHOW); // If this is a touch-enabled device we remove the extra
+ tip.classList.remove(CLASS_NAME_SHOW$3); // If this is a touch-enabled device we remove the extra
// empty mouseover listeners we added for iOS support
if ('ontouchstart' in document.documentElement) {
- makeArray(document.body.children).forEach(function (element) {
+ var _ref2;
+
+ (_ref2 = []).concat.apply(_ref2, document.body.children).forEach(function (element) {
return EventHandler.off(element, 'mouseover', noop);
});
}
- this._activeTrigger[Trigger.CLICK] = false;
- this._activeTrigger[Trigger.FOCUS] = false;
- this._activeTrigger[Trigger.HOVER] = false;
+ this._activeTrigger[TRIGGER_CLICK] = false;
+ this._activeTrigger[TRIGGER_FOCUS] = false;
+ this._activeTrigger[TRIGGER_HOVER] = false;
- if (this.tip.classList.contains(ClassName$6.FADE)) {
+ if (this.tip.classList.contains(CLASS_NAME_FADE$1)) {
var transitionDuration = getTransitionDurationFromElement(tip);
EventHandler.one(tip, TRANSITION_END, complete);
emulateTransitionEnd(tip, transitionDuration);
@@ -6503,9 +6397,9 @@
_proto.setContent = function setContent() {
var tip = this.getTipElement();
- this.setElementContent(SelectorEngine.findOne(Selector$6.TOOLTIP_INNER, tip), this.getTitle());
- tip.classList.remove(ClassName$6.FADE);
- tip.classList.remove(ClassName$6.SHOW);
+ this.setElementContent(SelectorEngine.findOne(SELECTOR_TOOLTIP_INNER, tip), this.getTitle());
+ tip.classList.remove(CLASS_NAME_FADE$1);
+ tip.classList.remove(CLASS_NAME_SHOW$3);
};
_proto.setElementContent = function setElementContent(element, content) {
@@ -6616,7 +6510,7 @@
};
_proto._getAttachment = function _getAttachment(placement) {
- return AttachmentMap$1[placement.toUpperCase()];
+ return AttachmentMap[placement.toUpperCase()];
};
_proto._setListeners = function _setListeners() {
@@ -6628,9 +6522,9 @@
EventHandler.on(_this5.element, _this5.constructor.Event.CLICK, _this5.config.selector, function (event) {
return _this5.toggle(event);
});
- } else if (trigger !== Trigger.MANUAL) {
- var eventIn = trigger === Trigger.HOVER ? _this5.constructor.Event.MOUSEENTER : _this5.constructor.Event.FOCUSIN;
- var eventOut = trigger === Trigger.HOVER ? _this5.constructor.Event.MOUSELEAVE : _this5.constructor.Event.FOCUSOUT;
+ } else if (trigger !== TRIGGER_MANUAL) {
+ var eventIn = trigger === TRIGGER_HOVER ? _this5.constructor.Event.MOUSEENTER : _this5.constructor.Event.FOCUSIN;
+ var eventOut = trigger === TRIGGER_HOVER ? _this5.constructor.Event.MOUSELEAVE : _this5.constructor.Event.FOCUSOUT;
EventHandler.on(_this5.element, eventIn, _this5.config.selector, function (event) {
return _this5._enter(event);
});
@@ -6646,7 +6540,7 @@
}
};
- EventHandler.on(SelectorEngine.closest(this.element, '.modal'), 'hide.bs.modal', this._hideModalHandler);
+ EventHandler.on(SelectorEngine.closest(this.element, "." + CLASS_NAME_MODAL), 'hide.bs.modal', this._hideModalHandler);
if (this.config.selector) {
this.config = _objectSpread2({}, this.config, {
@@ -6677,16 +6571,16 @@
}
if (event) {
- context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true;
+ context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true;
}
- if (context.getTipElement().classList.contains(ClassName$6.SHOW) || context._hoverState === HoverState.SHOW) {
- context._hoverState = HoverState.SHOW;
+ if (context.getTipElement().classList.contains(CLASS_NAME_SHOW$3) || context._hoverState === HOVER_STATE_SHOW) {
+ context._hoverState = HOVER_STATE_SHOW;
return;
}
clearTimeout(context._timeout);
- context._hoverState = HoverState.SHOW;
+ context._hoverState = HOVER_STATE_SHOW;
if (!context.config.delay || !context.config.delay.show) {
context.show();
@@ -6694,7 +6588,7 @@
}
context._timeout = setTimeout(function () {
- if (context._hoverState === HoverState.SHOW) {
+ if (context._hoverState === HOVER_STATE_SHOW) {
context.show();
}
}, context.config.delay.show);
@@ -6710,7 +6604,7 @@
}
if (event) {
- context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false;
+ context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] = false;
}
if (context._isWithActiveTrigger()) {
@@ -6718,7 +6612,7 @@
}
clearTimeout(context._timeout);
- context._hoverState = HoverState.OUT;
+ context._hoverState = HOVER_STATE_OUT;
if (!context.config.delay || !context.config.delay.hide) {
context.hide();
@@ -6726,7 +6620,7 @@
}
context._timeout = setTimeout(function () {
- if (context._hoverState === HoverState.OUT) {
+ if (context._hoverState === HOVER_STATE_OUT) {
context.hide();
}
}, context.config.delay.hide);
@@ -6798,7 +6692,7 @@
var tip = this.getTipElement();
var tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX);
- if (tabClass !== null && tabClass.length) {
+ if (tabClass !== null && tabClass.length > 0) {
tabClass.map(function (token) {
return token.trim();
}).forEach(function (tClass) {
@@ -6824,7 +6718,7 @@
return;
}
- tip.classList.remove(ClassName$6.FADE);
+ tip.classList.remove(CLASS_NAME_FADE$1);
this.config.animation = false;
this.hide();
this.show();
@@ -6883,7 +6777,7 @@
}, {
key: "Event",
get: function get() {
- return Event$7;
+ return Event$1;
}
}, {
key: "EVENT_KEY",
@@ -6945,15 +6839,7 @@
content: '(string|element|function)'
});
- var ClassName$7 = {
- FADE: 'fade',
- SHOW: 'show'
- };
- var Selector$7 = {
- TITLE: '.popover-header',
- CONTENT: '.popover-body'
- };
- var Event$8 = {
+ var Event$2 = {
HIDE: "hide" + EVENT_KEY$7,
HIDDEN: "hidden" + EVENT_KEY$7,
SHOW: "show" + EVENT_KEY$7,
@@ -6965,15 +6851,17 @@
MOUSEENTER: "mouseenter" + EVENT_KEY$7,
MOUSELEAVE: "mouseleave" + EVENT_KEY$7
};
+ var CLASS_NAME_FADE$2 = 'fade';
+ var CLASS_NAME_SHOW$4 = 'show';
+ var SELECTOR_TITLE = '.popover-header';
+ var SELECTOR_CONTENT = '.popover-body';
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
- var Popover =
- /*#__PURE__*/
- function (_Tooltip) {
+ var Popover = /*#__PURE__*/function (_Tooltip) {
_inheritsLoose(Popover, _Tooltip);
function Popover() {
@@ -6990,7 +6878,7 @@
_proto.setContent = function setContent() {
var tip = this.getTipElement(); // we use append for html objects to maintain js events
- this.setElementContent(SelectorEngine.findOne(Selector$7.TITLE, tip), this.getTitle());
+ this.setElementContent(SelectorEngine.findOne(SELECTOR_TITLE, tip), this.getTitle());
var content = this._getContent();
@@ -6998,9 +6886,9 @@
content = content.call(this.element);
}
- this.setElementContent(SelectorEngine.findOne(Selector$7.CONTENT, tip), content);
- tip.classList.remove(ClassName$7.FADE);
- tip.classList.remove(ClassName$7.SHOW);
+ this.setElementContent(SelectorEngine.findOne(SELECTOR_CONTENT, tip), content);
+ tip.classList.remove(CLASS_NAME_FADE$2);
+ tip.classList.remove(CLASS_NAME_SHOW$4);
};
_proto._addAttachmentClass = function _addAttachmentClass(attachment) {
@@ -7079,7 +6967,7 @@
}, {
key: "Event",
get: function get() {
- return Event$8;
+ return Event$2;
}
}, {
key: "EVENT_KEY",
@@ -7137,49 +7025,39 @@
method: 'string',
target: '(string|element)'
};
- var Event$9 = {
- ACTIVATE: "activate" + EVENT_KEY$8,
- SCROLL: "scroll" + EVENT_KEY$8,
- LOAD_DATA_API: "load" + EVENT_KEY$8 + DATA_API_KEY$6
- };
- var ClassName$8 = {
- DROPDOWN_ITEM: 'dropdown-item',
- ACTIVE: 'active'
- };
- var Selector$8 = {
- DATA_SPY: '[data-spy="scroll"]',
- NAV_LIST_GROUP: '.nav, .list-group',
- NAV_LINKS: '.nav-link',
- NAV_ITEMS: '.nav-item',
- LIST_ITEMS: '.list-group-item',
- DROPDOWN: '.dropdown',
- DROPDOWN_TOGGLE: '.dropdown-toggle'
- };
- var OffsetMethod = {
- OFFSET: 'offset',
- POSITION: 'position'
- };
+ var EVENT_ACTIVATE = "activate" + EVENT_KEY$8;
+ var EVENT_SCROLL = "scroll" + EVENT_KEY$8;
+ var EVENT_LOAD_DATA_API$1 = "load" + EVENT_KEY$8 + DATA_API_KEY$6;
+ var CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';
+ var CLASS_NAME_ACTIVE$2 = 'active';
+ var SELECTOR_DATA_SPY = '[data-spy="scroll"]';
+ var SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';
+ var SELECTOR_NAV_LINKS = '.nav-link';
+ var SELECTOR_NAV_ITEMS = '.nav-item';
+ var SELECTOR_LIST_ITEMS = '.list-group-item';
+ var SELECTOR_DROPDOWN = '.dropdown';
+ var SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle';
+ var METHOD_OFFSET = 'offset';
+ var METHOD_POSITION = 'position';
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
- var ScrollSpy =
- /*#__PURE__*/
- function () {
+ var ScrollSpy = /*#__PURE__*/function () {
function ScrollSpy(element, config) {
var _this = this;
this._element = element;
this._scrollElement = element.tagName === 'BODY' ? window : element;
this._config = this._getConfig(config);
- this._selector = this._config.target + " " + Selector$8.NAV_LINKS + "," + (this._config.target + " " + Selector$8.LIST_ITEMS + ",") + (this._config.target + " ." + ClassName$8.DROPDOWN_ITEM);
+ this._selector = this._config.target + " " + SELECTOR_NAV_LINKS + "," + (this._config.target + " " + SELECTOR_LIST_ITEMS + ",") + (this._config.target + " ." + CLASS_NAME_DROPDOWN_ITEM);
this._offsets = [];
this._targets = [];
this._activeTarget = null;
this._scrollHeight = 0;
- EventHandler.on(this._scrollElement, Event$9.SCROLL, function (event) {
+ EventHandler.on(this._scrollElement, EVENT_SCROLL, function (event) {
return _this._process(event);
});
this.refresh();
@@ -7196,13 +7074,13 @@
_proto.refresh = function refresh() {
var _this2 = this;
- var autoMethod = this._scrollElement === this._scrollElement.window ? OffsetMethod.OFFSET : OffsetMethod.POSITION;
+ var autoMethod = this._scrollElement === this._scrollElement.window ? METHOD_OFFSET : METHOD_POSITION;
var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
- var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0;
+ var offsetBase = offsetMethod === METHOD_POSITION ? this._getScrollTop() : 0;
this._offsets = [];
this._targets = [];
this._scrollHeight = this._getScrollHeight();
- var targets = makeArray(SelectorEngine.find(this._selector));
+ var targets = SelectorEngine.find(this._selector);
targets.map(function (element) {
var target;
var targetSelector = getSelectorFromElement(element);
@@ -7326,37 +7204,37 @@
var link = SelectorEngine.findOne(queries.join(','));
- if (link.classList.contains(ClassName$8.DROPDOWN_ITEM)) {
- SelectorEngine.findOne(Selector$8.DROPDOWN_TOGGLE, SelectorEngine.closest(link, Selector$8.DROPDOWN)).classList.add(ClassName$8.ACTIVE);
- link.classList.add(ClassName$8.ACTIVE);
+ if (link.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {
+ SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, SelectorEngine.closest(link, SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE$2);
+ link.classList.add(CLASS_NAME_ACTIVE$2);
} else {
// Set triggered link as active
- link.classList.add(ClassName$8.ACTIVE);
- SelectorEngine.parents(link, Selector$8.NAV_LIST_GROUP).forEach(function (listGroup) {
+ link.classList.add(CLASS_NAME_ACTIVE$2);
+ SelectorEngine.parents(link, SELECTOR_NAV_LIST_GROUP).forEach(function (listGroup) {
// Set triggered links parents as active
// With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
- SelectorEngine.prev(listGroup, Selector$8.NAV_LINKS + ", " + Selector$8.LIST_ITEMS).forEach(function (item) {
- return item.classList.add(ClassName$8.ACTIVE);
+ SelectorEngine.prev(listGroup, SELECTOR_NAV_LINKS + ", " + SELECTOR_LIST_ITEMS).forEach(function (item) {
+ return item.classList.add(CLASS_NAME_ACTIVE$2);
}); // Handle special case when .nav-link is inside .nav-item
- SelectorEngine.prev(listGroup, Selector$8.NAV_ITEMS).forEach(function (navItem) {
- SelectorEngine.children(navItem, Selector$8.NAV_LINKS).forEach(function (item) {
- return item.classList.add(ClassName$8.ACTIVE);
+ SelectorEngine.prev(listGroup, SELECTOR_NAV_ITEMS).forEach(function (navItem) {
+ SelectorEngine.children(navItem, SELECTOR_NAV_LINKS).forEach(function (item) {
+ return item.classList.add(CLASS_NAME_ACTIVE$2);
});
});
});
}
- EventHandler.trigger(this._scrollElement, Event$9.ACTIVATE, {
+ EventHandler.trigger(this._scrollElement, EVENT_ACTIVATE, {
relatedTarget: target
});
};
_proto._clear = function _clear() {
- makeArray(SelectorEngine.find(this._selector)).filter(function (node) {
- return node.classList.contains(ClassName$8.ACTIVE);
+ SelectorEngine.find(this._selector).filter(function (node) {
+ return node.classList.contains(CLASS_NAME_ACTIVE$2);
}).forEach(function (node) {
- return node.classList.remove(ClassName$8.ACTIVE);
+ return node.classList.remove(CLASS_NAME_ACTIVE$2);
});
} // Static
;
@@ -7406,8 +7284,8 @@
*/
- EventHandler.on(window, Event$9.LOAD_DATA_API, function () {
- makeArray(SelectorEngine.find(Selector$8.DATA_SPY)).forEach(function (spy) {
+ EventHandler.on(window, EVENT_LOAD_DATA_API$1, function () {
+ SelectorEngine.find(SELECTOR_DATA_SPY).forEach(function (spy) {
return new ScrollSpy(spy, Manipulator.getDataAttributes(spy));
});
});
@@ -7442,38 +7320,30 @@
var DATA_KEY$9 = 'bs.tab';
var EVENT_KEY$9 = "." + DATA_KEY$9;
var DATA_API_KEY$7 = '.data-api';
- var Event$a = {
- HIDE: "hide" + EVENT_KEY$9,
- HIDDEN: "hidden" + EVENT_KEY$9,
- SHOW: "show" + EVENT_KEY$9,
- SHOWN: "shown" + EVENT_KEY$9,
- CLICK_DATA_API: "click" + EVENT_KEY$9 + DATA_API_KEY$7
- };
- var ClassName$9 = {
- DROPDOWN_MENU: 'dropdown-menu',
- ACTIVE: 'active',
- DISABLED: 'disabled',
- FADE: 'fade',
- SHOW: 'show'
- };
- var Selector$9 = {
- DROPDOWN: '.dropdown',
- NAV_LIST_GROUP: '.nav, .list-group',
- ACTIVE: '.active',
- ACTIVE_UL: ':scope > li > .active',
- DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',
- DROPDOWN_TOGGLE: '.dropdown-toggle',
- DROPDOWN_ACTIVE_CHILD: ':scope > .dropdown-menu .active'
- };
+ var EVENT_HIDE$3 = "hide" + EVENT_KEY$9;
+ var EVENT_HIDDEN$3 = "hidden" + EVENT_KEY$9;
+ var EVENT_SHOW$3 = "show" + EVENT_KEY$9;
+ var EVENT_SHOWN$3 = "shown" + EVENT_KEY$9;
+ var EVENT_CLICK_DATA_API$6 = "click" + EVENT_KEY$9 + DATA_API_KEY$7;
+ var CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu';
+ var CLASS_NAME_ACTIVE$3 = 'active';
+ var CLASS_NAME_DISABLED$2 = 'disabled';
+ var CLASS_NAME_FADE$3 = 'fade';
+ var CLASS_NAME_SHOW$5 = 'show';
+ var SELECTOR_DROPDOWN$1 = '.dropdown';
+ var SELECTOR_NAV_LIST_GROUP$1 = '.nav, .list-group';
+ var SELECTOR_ACTIVE$2 = '.active';
+ var SELECTOR_ACTIVE_UL = ':scope > li > .active';
+ var SELECTOR_DATA_TOGGLE$4 = '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]';
+ var SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle';
+ var SELECTOR_DROPDOWN_ACTIVE_CHILD = ':scope > .dropdown-menu .active';
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
- var Tab =
- /*#__PURE__*/
- function () {
+ var Tab = /*#__PURE__*/function () {
function Tab(element) {
this._element = element;
Data.setData(this._element, DATA_KEY$9, this);
@@ -7486,29 +7356,29 @@
_proto.show = function show() {
var _this = this;
- if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && this._element.classList.contains(ClassName$9.ACTIVE) || this._element.classList.contains(ClassName$9.DISABLED)) {
+ if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && this._element.classList.contains(CLASS_NAME_ACTIVE$3) || this._element.classList.contains(CLASS_NAME_DISABLED$2)) {
return;
}
var previous;
var target = getElementFromSelector(this._element);
- var listElement = SelectorEngine.closest(this._element, Selector$9.NAV_LIST_GROUP);
+ var listElement = SelectorEngine.closest(this._element, SELECTOR_NAV_LIST_GROUP$1);
if (listElement) {
- var itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector$9.ACTIVE_UL : Selector$9.ACTIVE;
- previous = makeArray(SelectorEngine.find(itemSelector, listElement));
+ var itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE$2;
+ previous = SelectorEngine.find(itemSelector, listElement);
previous = previous[previous.length - 1];
}
var hideEvent = null;
if (previous) {
- hideEvent = EventHandler.trigger(previous, Event$a.HIDE, {
+ hideEvent = EventHandler.trigger(previous, EVENT_HIDE$3, {
relatedTarget: this._element
});
}
- var showEvent = EventHandler.trigger(this._element, Event$a.SHOW, {
+ var showEvent = EventHandler.trigger(this._element, EVENT_SHOW$3, {
relatedTarget: previous
});
@@ -7519,10 +7389,10 @@
this._activate(this._element, listElement);
var complete = function complete() {
- EventHandler.trigger(previous, Event$a.HIDDEN, {
+ EventHandler.trigger(previous, EVENT_HIDDEN$3, {
relatedTarget: _this._element
});
- EventHandler.trigger(_this._element, Event$a.SHOWN, {
+ EventHandler.trigger(_this._element, EVENT_SHOWN$3, {
relatedTarget: previous
});
};
@@ -7543,9 +7413,9 @@
_proto._activate = function _activate(element, container, callback) {
var _this2 = this;
- var activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ? SelectorEngine.find(Selector$9.ACTIVE_UL, container) : SelectorEngine.children(container, Selector$9.ACTIVE);
+ var activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ? SelectorEngine.find(SELECTOR_ACTIVE_UL, container) : SelectorEngine.children(container, SELECTOR_ACTIVE$2);
var active = activeElements[0];
- var isTransitioning = callback && active && active.classList.contains(ClassName$9.FADE);
+ var isTransitioning = callback && active && active.classList.contains(CLASS_NAME_FADE$3);
var complete = function complete() {
return _this2._transitionComplete(element, active, callback);
@@ -7553,7 +7423,7 @@
if (active && isTransitioning) {
var transitionDuration = getTransitionDurationFromElement(active);
- active.classList.remove(ClassName$9.SHOW);
+ active.classList.remove(CLASS_NAME_SHOW$5);
EventHandler.one(active, TRANSITION_END, complete);
emulateTransitionEnd(active, transitionDuration);
} else {
@@ -7563,11 +7433,11 @@
_proto._transitionComplete = function _transitionComplete(element, active, callback) {
if (active) {
- active.classList.remove(ClassName$9.ACTIVE);
- var dropdownChild = SelectorEngine.findOne(Selector$9.DROPDOWN_ACTIVE_CHILD, active.parentNode);
+ active.classList.remove(CLASS_NAME_ACTIVE$3);
+ var dropdownChild = SelectorEngine.findOne(SELECTOR_DROPDOWN_ACTIVE_CHILD, active.parentNode);
if (dropdownChild) {
- dropdownChild.classList.remove(ClassName$9.ACTIVE);
+ dropdownChild.classList.remove(CLASS_NAME_ACTIVE$3);
}
if (active.getAttribute('role') === 'tab') {
@@ -7575,7 +7445,7 @@
}
}
- element.classList.add(ClassName$9.ACTIVE);
+ element.classList.add(CLASS_NAME_ACTIVE$3);
if (element.getAttribute('role') === 'tab') {
element.setAttribute('aria-selected', true);
@@ -7583,16 +7453,16 @@
reflow(element);
- if (element.classList.contains(ClassName$9.FADE)) {
- element.classList.add(ClassName$9.SHOW);
+ if (element.classList.contains(CLASS_NAME_FADE$3)) {
+ element.classList.add(CLASS_NAME_SHOW$5);
}
- if (element.parentNode && element.parentNode.classList.contains(ClassName$9.DROPDOWN_MENU)) {
- var dropdownElement = SelectorEngine.closest(element, Selector$9.DROPDOWN);
+ if (element.parentNode && element.parentNode.classList.contains(CLASS_NAME_DROPDOWN_MENU)) {
+ var dropdownElement = SelectorEngine.closest(element, SELECTOR_DROPDOWN$1);
if (dropdownElement) {
- makeArray(SelectorEngine.find(Selector$9.DROPDOWN_TOGGLE)).forEach(function (dropdown) {
- return dropdown.classList.add(ClassName$9.ACTIVE);
+ SelectorEngine.find(SELECTOR_DROPDOWN_TOGGLE$1).forEach(function (dropdown) {
+ return dropdown.classList.add(CLASS_NAME_ACTIVE$3);
});
}
@@ -7639,7 +7509,7 @@
*/
- EventHandler.on(document, Event$a.CLICK_DATA_API, Selector$9.DATA_TOGGLE, function (event) {
+ EventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$4, function (event) {
event.preventDefault();
var data = Data.getData(this, DATA_KEY$9) || new Tab(this);
data.show();
@@ -7675,19 +7545,15 @@
var VERSION$a = '4.3.1';
var DATA_KEY$a = 'bs.toast';
var EVENT_KEY$a = "." + DATA_KEY$a;
- var Event$b = {
- CLICK_DISMISS: "click.dismiss" + EVENT_KEY$a,
- HIDE: "hide" + EVENT_KEY$a,
- HIDDEN: "hidden" + EVENT_KEY$a,
- SHOW: "show" + EVENT_KEY$a,
- SHOWN: "shown" + EVENT_KEY$a
- };
- var ClassName$a = {
- FADE: 'fade',
- HIDE: 'hide',
- SHOW: 'show',
- SHOWING: 'showing'
- };
+ var EVENT_CLICK_DISMISS$1 = "click.dismiss" + EVENT_KEY$a;
+ var EVENT_HIDE$4 = "hide" + EVENT_KEY$a;
+ var EVENT_HIDDEN$4 = "hidden" + EVENT_KEY$a;
+ var EVENT_SHOW$4 = "show" + EVENT_KEY$a;
+ var EVENT_SHOWN$4 = "shown" + EVENT_KEY$a;
+ var CLASS_NAME_FADE$4 = 'fade';
+ var CLASS_NAME_HIDE = 'hide';
+ var CLASS_NAME_SHOW$6 = 'show';
+ var CLASS_NAME_SHOWING = 'showing';
var DefaultType$7 = {
animation: 'boolean',
autohide: 'boolean',
@@ -7698,18 +7564,14 @@
autohide: true,
delay: 500
};
- var Selector$a = {
- DATA_DISMISS: '[data-dismiss="toast"]'
- };
+ var SELECTOR_DATA_DISMISS$1 = '[data-dismiss="toast"]';
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
- var Toast =
- /*#__PURE__*/
- function () {
+ var Toast = /*#__PURE__*/function () {
function Toast(element, config) {
this._element = element;
this._config = this._getConfig(config);
@@ -7727,22 +7589,22 @@
_proto.show = function show() {
var _this = this;
- var showEvent = EventHandler.trigger(this._element, Event$b.SHOW);
+ var showEvent = EventHandler.trigger(this._element, EVENT_SHOW$4);
if (showEvent.defaultPrevented) {
return;
}
if (this._config.animation) {
- this._element.classList.add(ClassName$a.FADE);
+ this._element.classList.add(CLASS_NAME_FADE$4);
}
var complete = function complete() {
- _this._element.classList.remove(ClassName$a.SHOWING);
+ _this._element.classList.remove(CLASS_NAME_SHOWING);
- _this._element.classList.add(ClassName$a.SHOW);
+ _this._element.classList.add(CLASS_NAME_SHOW$6);
- EventHandler.trigger(_this._element, Event$b.SHOWN);
+ EventHandler.trigger(_this._element, EVENT_SHOWN$4);
if (_this._config.autohide) {
_this._timeout = setTimeout(function () {
@@ -7751,11 +7613,11 @@
}
};
- this._element.classList.remove(ClassName$a.HIDE);
+ this._element.classList.remove(CLASS_NAME_HIDE);
reflow(this._element);
- this._element.classList.add(ClassName$a.SHOWING);
+ this._element.classList.add(CLASS_NAME_SHOWING);
if (this._config.animation) {
var transitionDuration = getTransitionDurationFromElement(this._element);
@@ -7769,23 +7631,23 @@
_proto.hide = function hide() {
var _this2 = this;
- if (!this._element.classList.contains(ClassName$a.SHOW)) {
+ if (!this._element.classList.contains(CLASS_NAME_SHOW$6)) {
return;
}
- var hideEvent = EventHandler.trigger(this._element, Event$b.HIDE);
+ var hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$4);
if (hideEvent.defaultPrevented) {
return;
}
var complete = function complete() {
- _this2._element.classList.add(ClassName$a.HIDE);
+ _this2._element.classList.add(CLASS_NAME_HIDE);
- EventHandler.trigger(_this2._element, Event$b.HIDDEN);
+ EventHandler.trigger(_this2._element, EVENT_HIDDEN$4);
};
- this._element.classList.remove(ClassName$a.SHOW);
+ this._element.classList.remove(CLASS_NAME_SHOW$6);
if (this._config.animation) {
var transitionDuration = getTransitionDurationFromElement(this._element);
@@ -7800,11 +7662,11 @@
clearTimeout(this._timeout);
this._timeout = null;
- if (this._element.classList.contains(ClassName$a.SHOW)) {
- this._element.classList.remove(ClassName$a.SHOW);
+ if (this._element.classList.contains(CLASS_NAME_SHOW$6)) {
+ this._element.classList.remove(CLASS_NAME_SHOW$6);
}
- EventHandler.off(this._element, Event$b.CLICK_DISMISS);
+ EventHandler.off(this._element, EVENT_CLICK_DISMISS$1);
Data.removeData(this._element, DATA_KEY$a);
this._element = null;
this._config = null;
@@ -7820,7 +7682,7 @@
_proto._setListeners = function _setListeners() {
var _this3 = this;
- EventHandler.on(this._element, Event$b.CLICK_DISMISS, Selector$a.DATA_DISMISS, function () {
+ EventHandler.on(this._element, EVENT_CLICK_DISMISS$1, SELECTOR_DATA_DISMISS$1, function () {
return _this3.hide();
});
} // Static
diff --git a/dist/js/bootstrap.bundle.js.map b/dist/js/bootstrap.bundle.js.map
index 85bf4c5b2e..6ab5a1ce2c 100644
--- a/dist/js/bootstrap.bundle.js.map
+++ b/dist/js/bootstrap.bundle.js.map
@@ -1 +1 @@
-{"version":3,"file":"bootstrap.bundle.js","sources":["../../js/src/util/index.js","../../js/src/dom/data.js","../../js/src/dom/polyfill.js","../../js/src/dom/event-handler.js","../../js/src/dom/selector-engine.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/dom/manipulator.js","../../js/src/carousel.js","../../js/src/collapse.js","../../node_modules/popper.js/dist/esm/popper.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/util/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/index.umd.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => ({}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase())\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n const evt = document.createEvent('HTMLEvents')\n\n evt.initEvent(TRANSITION_END, true, true)\n element.dispatchEvent(evt)\n}\n\nconst isElement = obj => (obj[0] || obj).nodeType\n\nconst emulateTransitionEnd = (element, duration) => {\n let called = false\n const durationPadding = 5\n const emulatedDuration = duration + durationPadding\n function listener() {\n called = true\n element.removeEventListener(TRANSITION_END, listener)\n }\n\n element.addEventListener(TRANSITION_END, listener)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(element)\n }\n }, emulatedDuration)\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes)\n .forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst makeArray = nodeList => {\n if (!nodeList) {\n return []\n }\n\n return [].slice.call(nodeList)\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n const elementStyle = getComputedStyle(element)\n const parentNodeStyle = getComputedStyle(element.parentNode)\n\n return elementStyle.display !== 'none' &&\n parentNodeStyle.display !== 'none' &&\n elementStyle.visibility !== 'hidden'\n }\n\n return false\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n makeArray,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst mapData = (() => {\n const storeData = {}\n let id = 1\n return {\n set(element, key, data) {\n if (typeof element.key === 'undefined') {\n element.key = {\n key,\n id\n }\n id++\n }\n\n storeData[element.key.id] = data\n },\n get(element, key) {\n if (!element || typeof element.key === 'undefined') {\n return null\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.key === 'undefined') {\n return\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.key\n }\n }\n }\n})()\n\nconst Data = {\n setData(instance, key, data) {\n mapData.set(instance, key, data)\n },\n getData(instance, key) {\n return mapData.get(instance, key)\n },\n removeData(instance, key) {\n mapData.delete(instance, key)\n }\n}\n\nexport default Data\n","/* istanbul ignore file */\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/polyfill.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getUID } from '../util/index'\n\nlet { matches, closest } = Element.prototype\nlet find = Element.prototype.querySelectorAll\nlet findOne = Element.prototype.querySelector\nlet createCustomEvent = (eventName, params) => {\n const cEvent = new CustomEvent(eventName, params)\n\n return cEvent\n}\n\nif (typeof window.CustomEvent !== 'function') {\n createCustomEvent = (eventName, params) => {\n params = params || { bubbles: false, cancelable: false, detail: null }\n\n const evt = document.createEvent('CustomEvent')\n\n evt.initCustomEvent(eventName, params.bubbles, params.cancelable, params.detail)\n return evt\n }\n}\n\nconst workingDefaultPrevented = (() => {\n const e = document.createEvent('CustomEvent')\n\n e.initEvent('Bootstrap', true, true)\n e.preventDefault()\n return e.defaultPrevented\n})()\n\nif (!workingDefaultPrevented) {\n const origPreventDefault = Event.prototype.preventDefault\n\n Event.prototype.preventDefault = function () {\n if (!this.cancelable) {\n return\n }\n\n origPreventDefault.call(this)\n Object.defineProperty(this, 'defaultPrevented', {\n get() {\n return true\n },\n configurable: true\n })\n }\n}\n\n// MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached\nconst defaultPreventedPreservedOnDispatch = (() => {\n const e = createCustomEvent('Bootstrap', {\n cancelable: true\n })\n\n const element = document.createElement('div')\n element.addEventListener('Bootstrap', () => null)\n\n e.preventDefault()\n element.dispatchEvent(e)\n return e.defaultPrevented\n})()\n\nif (!matches) {\n matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector\n}\n\nif (!closest) {\n closest = function (selector) {\n let element = this\n\n do {\n if (matches.call(element, selector)) {\n return element\n }\n\n element = element.parentElement || element.parentNode\n } while (element !== null && element.nodeType === 1)\n\n return null\n }\n}\n\nconst scopeSelectorRegex = /:scope\\b/\nconst supportScopeQuery = (() => {\n const element = document.createElement('div')\n\n try {\n element.querySelectorAll(':scope *')\n } catch (_) {\n return false\n }\n\n return true\n})()\n\nif (!supportScopeQuery) {\n find = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelectorAll(selector)\n }\n\n const hasId = Boolean(this.id)\n\n if (!hasId) {\n this.id = getUID('scope')\n }\n\n let nodeList = null\n try {\n selector = selector.replace(scopeSelectorRegex, `#${this.id}`)\n nodeList = this.querySelectorAll(selector)\n } finally {\n if (!hasId) {\n this.removeAttribute('id')\n }\n }\n\n return nodeList\n }\n\n findOne = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelector(selector)\n }\n\n const matches = find.call(this, selector)\n\n if (typeof matches[0] !== 'undefined') {\n return matches[0]\n }\n\n return null\n }\n}\n\nexport {\n createCustomEvent,\n find,\n findOne,\n matches,\n closest,\n defaultPreventedPreservedOnDispatch\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\nimport { createCustomEvent, defaultPreventedPreservedOnDispatch } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst $ = getjQuery()\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst keyEventRegex = /^key/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\nconst nativeEvents = [\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n]\n\n/**\n * ------------------------------------------------------------------------\n * Private methods\n * ------------------------------------------------------------------------\n */\n\nfunction getUidEvent(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getEvent(element) {\n const uid = getUidEvent(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction fixEvent(event, element) {\n // Add which for key events\n if (event.which === null && keyEventRegex.test(event.type)) {\n event.which = event.charCode === null ? event.keyCode : event.charCode\n }\n\n event.delegateTarget = element\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n fixEvent(event, element)\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = target.parentNode) {\n for (let i = domElements.length; i--;) {\n if (domElements[i] === target) {\n fixEvent(event, target)\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n\n // To please ESLint\n return null\n }\n}\n\nfunction findHandler(events, handler, delegationSelector = null) {\n const uidEventList = Object.keys(events)\n\n for (let i = 0, len = uidEventList.length; i < len; i++) {\n const event = events[uidEventList[i]]\n\n if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\n return event\n }\n }\n\n return null\n}\n\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\n const delegation = typeof handler === 'string'\n const originalHandler = delegation ? delegationFn : handler\n\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n let typeEvent = originalTypeEvent.replace(stripNameRegex, '')\n const custom = customEvents[typeEvent]\n\n if (custom) {\n typeEvent = custom\n }\n\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n if (!isNative) {\n typeEvent = originalTypeEvent\n }\n\n return [delegation, originalHandler, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n if (!handler) {\n handler = delegationFn\n delegationFn = null\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const events = getEvent(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null)\n\n if (previousFn) {\n previousFn.oneOff = previousFn.oneOff && oneOff\n\n return\n }\n\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = delegation ?\n bootstrapDelegationHandler(element, handler, delegationFn) :\n bootstrapHandler(element, handler)\n\n fn.delegationSelector = delegation ? handler : null\n fn.originalHandler = originalHandler\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, delegation)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {}\n\n Object.keys(storeElementEvent)\n .forEach(handlerKey => {\n if (handlerKey.indexOf(namespace) > -1) {\n const event = storeElementEvent[handlerKey]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, false)\n },\n\n one(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFn) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getEvent(element)\n const isNamespace = originalTypeEvent.charAt(0) === '.'\n\n if (typeof originalHandler !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!events || !events[typeEvent]) {\n return\n }\n\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null)\n return\n }\n\n if (isNamespace) {\n Object.keys(events)\n .forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent)\n .forEach(keyHandlers => {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.indexOf(handlerKey) > -1) {\n const event = storeElementEvent[keyHandlers]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const typeEvent = event.replace(stripNameRegex, '')\n const inNamespace = event !== typeEvent\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n let jQueryEvent\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n let evt = null\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n if (isNative) {\n evt = document.createEvent('HTMLEvents')\n evt.initEvent(typeEvent, bubbles, true)\n } else {\n evt = createCustomEvent(event, {\n bubbles,\n cancelable: true\n })\n }\n\n // merge custom informations in our event\n if (typeof args !== 'undefined') {\n Object.keys(args)\n .forEach(key => {\n Object.defineProperty(evt, key, {\n get() {\n return args[key]\n }\n })\n })\n }\n\n if (defaultPrevented) {\n evt.preventDefault()\n\n if (!defaultPreventedPreservedOnDispatch) {\n Object.defineProperty(evt, 'defaultPrevented', {\n get: () => true\n })\n }\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { find as findFn, findOne, matches, closest } from './polyfill'\nimport { makeArray } from '../util/index'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n matches(element, selector) {\n return matches.call(element, selector)\n },\n\n find(selector, element = document.documentElement) {\n return findFn.call(element, selector)\n },\n\n findOne(selector, element = document.documentElement) {\n return findOne.call(element, selector)\n },\n\n children(element, selector) {\n const children = makeArray(element.children)\n\n return children.filter(child => this.matches(child, selector))\n },\n\n parents(element, selector) {\n const parents = []\n\n let ancestor = element.parentNode\n\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\n if (this.matches(ancestor, selector)) {\n parents.push(ancestor)\n }\n\n ancestor = ancestor.parentNode\n }\n\n return parents\n },\n\n closest(element, selector) {\n return closest.call(element, selector)\n },\n\n prev(element, selector) {\n const siblings = []\n\n let previous = element.previousSibling\n\n while (previous && previous.nodeType === Node.ELEMENT_NODE && previous.nodeType !== NODE_TEXT) {\n if (this.matches(previous, selector)) {\n siblings.push(previous)\n }\n\n previous = previous.previousSibling\n }\n\n return siblings\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Selector = {\n DISMISS: '[data-dismiss=\"alert\"]'\n}\n\nconst Event = {\n CLOSE: `close${EVENT_KEY}`,\n CLOSED: `closed${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n ALERT: 'alert',\n FADE: 'fade',\n SHOW: 'show'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n\n if (this._element) {\n Data.setData(element, DATA_KEY, this)\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent === null || customEvent.defaultPrevented) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n let parent = getElementFromSelector(element)\n\n if (!parent) {\n parent = SelectorEngine.closest(element, `.${ClassName.ALERT}`)\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n return EventHandler.trigger(element, Event.CLOSE)\n }\n\n _removeElement(element) {\n element.classList.remove(ClassName.SHOW)\n\n if (!element.classList.contains(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = getTransitionDurationFromElement(element)\n\n EventHandler\n .one(element, TRANSITION_END, () => this._destroyElement(element))\n emulateTransitionEnd(element, transitionDuration)\n }\n\n _destroyElement(element) {\n if (element.parentNode) {\n element.parentNode.removeChild(element)\n }\n\n EventHandler.trigger(element, Event.CLOSED)\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.DISMISS, Alert.handleDismiss(new Alert()))\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .alert to jQuery only if jQuery is present\n */\n\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Alert.jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert.jQueryInterface\n }\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ClassName = {\n ACTIVE: 'active',\n BUTTON: 'btn',\n FOCUS: 'focus'\n}\n\nconst Selector = {\n DATA_TOGGLE_CARROT: '[data-toggle^=\"button\"]',\n DATA_TOGGLE: '[data-toggle=\"buttons\"]',\n INPUT: 'input:not([type=\"hidden\"])',\n ACTIVE: '.active',\n BUTTON: '.btn'\n}\n\nconst Event = {\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_DATA_API: `focus${EVENT_KEY}${DATA_API_KEY}`,\n BLUR_DATA_API: `blur${EVENT_KEY}${DATA_API_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n\n const rootElement = SelectorEngine.closest(\n this._element,\n Selector.DATA_TOGGLE\n )\n\n if (rootElement) {\n const input = SelectorEngine.findOne(Selector.INPUT, this._element)\n\n if (input && input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = SelectorEngine.findOne(Selector.ACTIVE, rootElement)\n\n if (activeElement) {\n activeElement.classList.remove(ClassName.ACTIVE)\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains('disabled') ||\n rootElement.classList.contains('disabled')) {\n return\n }\n\n input.checked = !this._element.classList.contains(ClassName.ACTIVE)\n EventHandler.trigger(input, 'change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n this._element.classList.toggle(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n event.preventDefault()\n\n let button = event.target\n if (!button.classList.contains(ClassName.BUTTON)) {\n button = SelectorEngine.closest(button, Selector.BUTTON)\n }\n\n let data = Data.getData(button, DATA_KEY)\n if (!data) {\n data = new Button(button)\n }\n\n data.toggle()\n})\n\nEventHandler.on(document, Event.FOCUS_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n const button = SelectorEngine.closest(event.target, Selector.BUTTON)\n\n if (button) {\n button.classList.add(ClassName.FOCUS)\n }\n})\n\nEventHandler.on(document, Event.BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n const button = SelectorEngine.closest(event.target, Selector.BUTTON)\n\n if (button) {\n button.classList.remove(ClassName.FOCUS)\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .button to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Button.jQueryInterface\n $.fn[NAME].Constructor = Button\n\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button.jQueryInterface\n }\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(val) {\n if (val === 'true') {\n return true\n }\n\n if (val === 'false') {\n return false\n }\n\n if (val === Number(val).toString()) {\n return Number(val)\n }\n\n if (val === '' || val === 'null') {\n return null\n }\n\n return val\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {\n ...element.dataset\n }\n\n Object.keys(attributes).forEach(key => {\n attributes[key] = normalizeData(attributes[key])\n })\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-${normalizeDataKey(key)}`))\n },\n\n offset(element) {\n const rect = element.getBoundingClientRect()\n\n return {\n top: rect.top + document.body.scrollTop,\n left: rect.left + document.body.scrollLeft\n }\n },\n\n position(element) {\n return {\n top: element.offsetTop,\n left: element.offsetLeft\n }\n },\n\n toggleClass(element, className) {\n if (!element) {\n return\n }\n\n if (element.classList.contains(className)) {\n element.classList.remove(className)\n } else {\n element.classList.add(className)\n }\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n makeArray,\n reflow,\n triggerTransitionEnd,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n}\n\nconst Direction = {\n NEXT: 'next',\n PREV: 'prev',\n LEFT: 'left',\n RIGHT: 'right'\n}\n\nconst Event = {\n SLIDE: `slide${EVENT_KEY}`,\n SLID: `slid${EVENT_KEY}`,\n KEYDOWN: `keydown${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`,\n TOUCHSTART: `touchstart${EVENT_KEY}`,\n TOUCHMOVE: `touchmove${EVENT_KEY}`,\n TOUCHEND: `touchend${EVENT_KEY}`,\n POINTERDOWN: `pointerdown${EVENT_KEY}`,\n POINTERUP: `pointerup${EVENT_KEY}`,\n DRAG_START: `dragstart${EVENT_KEY}`,\n LOAD_DATA_API: `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n CAROUSEL: 'carousel',\n ACTIVE: 'active',\n SLIDE: 'slide',\n RIGHT: 'carousel-item-right',\n LEFT: 'carousel-item-left',\n NEXT: 'carousel-item-next',\n PREV: 'carousel-item-prev',\n ITEM: 'carousel-item',\n POINTER_EVENT: 'pointer-event'\n}\n\nconst Selector = {\n ACTIVE: '.active',\n ACTIVE_ITEM: '.active.carousel-item',\n ITEM: '.carousel-item',\n ITEM_IMG: '.carousel-item img',\n NEXT_PREV: '.carousel-item-next, .carousel-item-prev',\n INDICATORS: '.carousel-indicators',\n DATA_SLIDE: '[data-slide], [data-slide-to]',\n DATA_RIDE: '[data-ride=\"carousel\"]'\n}\n\nconst PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = SelectorEngine.findOne(Selector.INDICATORS, this._element)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (SelectorEngine.findOne(Selector.NEXT_PREV, this._element)) {\n triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config && this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element)\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex ?\n Direction.NEXT :\n Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n Data.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler\n .on(this._element, Event.KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler\n .on(this._element, Event.MOUSEENTER, event => this.pause(event))\n EventHandler\n .on(this._element, Event.MOUSELEAVE, event => this.cycle(event))\n }\n\n if (this._config.touch && this._touchSupported) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n const start = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchStartX = event.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.touches[0].clientX\n }\n }\n\n const move = event => {\n // ensure swiping with one touch and not pinching\n if (event.touches && event.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n\n this.touchTimeout = setTimeout(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n makeArray(SelectorEngine.find(Selector.ITEM_IMG, this._element)).forEach(itemImg => {\n EventHandler.on(itemImg, Event.DRAG_START, e => e.preventDefault())\n })\n\n if (this._pointerEvent) {\n EventHandler.on(this._element, Event.POINTERDOWN, event => start(event))\n EventHandler.on(this._element, Event.POINTERUP, event => end(event))\n\n this._element.classList.add(ClassName.POINTER_EVENT)\n } else {\n EventHandler.on(this._element, Event.TOUCHSTART, event => start(event))\n EventHandler.on(this._element, Event.TOUCHMOVE, event => move(event))\n EventHandler.on(this._element, Event.TOUCHEND, event => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode ?\n makeArray(SelectorEngine.find(Selector.ITEM, element.parentNode)) :\n []\n\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = (isPrevDirection && activeIndex === 0) ||\n (isNextDirection && activeIndex === lastItemIndex)\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] :\n this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element))\n\n return EventHandler.trigger(this._element, Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = SelectorEngine.find(Selector.ACTIVE, this._indicatorsElement)\n for (let i = 0; i < indicators.length; i++) {\n indicators[i].classList.remove(ClassName.ACTIVE)\n }\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n nextIndicator.classList.add(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || (activeElement &&\n this._getItemByDirection(direction, activeElement))\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && nextElement.classList.contains(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.defaultPrevented) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n if (this._element.classList.contains(ClassName.SLIDE)) {\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = getTransitionDurationFromElement(activeElement)\n\n EventHandler\n .one(activeElement, TRANSITION_END, () => {\n nextElement.classList.remove(directionalClassName)\n nextElement.classList.remove(orderClassName)\n nextElement.classList.add(ClassName.ACTIVE)\n\n activeElement.classList.remove(ClassName.ACTIVE)\n activeElement.classList.remove(orderClassName)\n activeElement.classList.remove(directionalClassName)\n\n this._isSliding = false\n\n setTimeout(() => {\n EventHandler.trigger(this._element, Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }, 0)\n })\n\n emulateTransitionEnd(activeElement, transitionDuration)\n } else {\n activeElement.classList.remove(ClassName.ACTIVE)\n nextElement.classList.add(ClassName.ACTIVE)\n\n this._isSliding = false\n EventHandler.trigger(this._element, Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static carouselInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n let _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element)\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(element, _config)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Carousel.carouselInterface(this, config)\n })\n }\n\n static dataApiClickHandler(event) {\n const target = getElementFromSelector(this)\n\n if (!target || !target.classList.contains(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel.carouselInterface(target, config)\n\n if (slideIndex) {\n Data.getData(target, DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel.dataApiClickHandler)\n\nEventHandler.on(window, Event.LOAD_DATA_API, () => {\n const carousels = makeArray(SelectorEngine.find(Selector.DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n Carousel.carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY))\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .carousel to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Carousel.jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel.jQueryInterface\n }\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isElement,\n makeArray,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n toggle: true,\n parent: ''\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(string|element)'\n}\n\nconst Event = {\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SHOW: 'show',\n COLLAPSE: 'collapse',\n COLLAPSING: 'collapsing',\n COLLAPSED: 'collapsed'\n}\n\nconst Dimension = {\n WIDTH: 'width',\n HEIGHT: 'height'\n}\n\nconst Selector = {\n ACTIVES: '.show, .collapsing',\n DATA_TOGGLE: '[data-toggle=\"collapse\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = makeArray(SelectorEngine.find(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n\n const toggleList = makeArray(SelectorEngine.find(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = getSelectorFromElement(elem)\n const filterElement = makeArray(SelectorEngine.find(selector))\n .filter(foundElem => foundElem === element)\n\n if (selector !== null && filterElement.length) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if (this._element.classList.contains(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = makeArray(SelectorEngine.find(Selector.ACTIVES, this._parent))\n .filter(elem => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(ClassName.COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n const container = SelectorEngine.findOne(this._selector)\n if (actives) {\n const tempActiveData = actives.filter(elem => container !== elem)\n activesData = tempActiveData[0] ? Data.getData(tempActiveData[0], DATA_KEY) : null\n\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = EventHandler.trigger(this._element, Event.SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n if (actives) {\n actives.forEach(elemActive => {\n if (container !== elemActive) {\n Collapse.collapseInterface(elemActive, 'hide')\n }\n\n if (!activesData) {\n Data.setData(elemActive, DATA_KEY, null)\n }\n })\n }\n\n const dimension = this._getDimension()\n\n this._element.classList.remove(ClassName.COLLAPSE)\n this._element.classList.add(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n this._triggerArray.forEach(element => {\n element.classList.remove(ClassName.COLLAPSED)\n element.setAttribute('aria-expanded', true)\n })\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this._element.classList.remove(ClassName.COLLAPSING)\n this._element.classList.add(ClassName.COLLAPSE)\n this._element.classList.add(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n EventHandler.trigger(this._element, Event.SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n\n emulateTransitionEnd(this._element, transitionDuration)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, Event.HIDE)\n if (startEvent.defaultPrevented) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n reflow(this._element)\n\n this._element.classList.add(ClassName.COLLAPSING)\n this._element.classList.remove(ClassName.COLLAPSE)\n this._element.classList.remove(ClassName.SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const elem = getElementFromSelector(trigger)\n\n if (elem && !elem.classList.contains(ClassName.SHOW)) {\n trigger.classList.add(ClassName.COLLAPSED)\n trigger.setAttribute('aria-expanded', false)\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n this._element.classList.remove(ClassName.COLLAPSING)\n this._element.classList.add(ClassName.COLLAPSE)\n EventHandler.trigger(this._element, Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = this._element.classList.contains(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let { parent } = this._config\n\n if (isElement(parent)) {\n // it's a jQuery object\n if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {\n parent = parent[0]\n }\n } else {\n parent = SelectorEngine.findOne(parent)\n }\n\n const selector = `[data-toggle=\"collapse\"][data-parent=\"${parent}\"]`\n\n makeArray(SelectorEngine.find(selector, parent))\n .forEach(element => {\n const selected = getElementFromSelector(element)\n\n this._addAriaAndCollapsedClass(\n selected,\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (element) {\n const isOpen = element.classList.contains(ClassName.SHOW)\n\n if (triggerArray.length) {\n triggerArray.forEach(elem => {\n if (isOpen) {\n elem.classList.remove(ClassName.COLLAPSED)\n } else {\n elem.classList.add(ClassName.COLLAPSED)\n }\n\n elem.setAttribute('aria-expanded', isOpen)\n })\n }\n }\n }\n\n // Static\n\n static collapseInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Collapse.collapseInterface(this, config)\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A') {\n event.preventDefault()\n }\n\n const triggerData = Manipulator.getDataAttributes(this)\n const selector = getSelectorFromElement(this)\n const selectorElements = makeArray(SelectorEngine.find(selector))\n\n selectorElements.forEach(element => {\n const data = Data.getData(element, DATA_KEY)\n let config\n if (data) {\n // update parent attribute\n if (data._parent === null && typeof triggerData.parent === 'string') {\n data._config.parent = triggerData.parent\n data._parent = data._getParent()\n }\n\n config = 'toggle'\n } else {\n config = triggerData\n }\n\n Collapse.collapseInterface(element, config)\n })\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .collapse to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Collapse.jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse.jQueryInterface\n }\n}\n\nexport default Collapse\n","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.16.0\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n\nvar timeoutDuration = function () {\n var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}();\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nfunction getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.width;\n var height = sizes.height || element.clientHeight || result.height;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop, 10);\n var marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n var parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is <html> the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n // flips variation if popper content overflows boundaries\n var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n\n var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.<br />\n * It will read the variation of the `placement` property.<br />\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.<br />\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.<br />\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.<br />\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.<br />\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overridden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getElementFromSelector,\n isElement,\n isVisible,\n makeArray,\n noop,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API: `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API: `keyup${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DISABLED: 'disabled',\n SHOW: 'show',\n DROPUP: 'dropup',\n DROPRIGHT: 'dropright',\n DROPLEFT: 'dropleft',\n MENURIGHT: 'dropdown-menu-right',\n POSITION_STATIC: 'position-static'\n}\n\nconst Selector = {\n DATA_TOGGLE: '[data-toggle=\"dropdown\"]',\n FORM_CHILD: '.dropdown form',\n MENU: '.dropdown-menu',\n NAVBAR_NAV: '.navbar-nav',\n VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n}\n\nconst AttachmentMap = {\n TOP: 'top-start',\n TOPEND: 'top-end',\n BOTTOM: 'bottom-start',\n BOTTOMEND: 'bottom-end',\n RIGHT: 'right-start',\n RIGHTEND: 'right-end',\n LEFT: 'left-start',\n LEFTEND: 'left-end'\n}\n\nconst Default = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n const isActive = this._menu.classList.contains(ClassName.SHOW)\n\n Dropdown.clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show()\n }\n\n show() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED) || this._menu.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const showEvent = EventHandler.trigger(parent, Event.SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n parent.classList.add(ClassName.POSITION_STATIC)\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n !makeArray(SelectorEngine.closest(parent, Selector.NAVBAR_NAV)).length) {\n makeArray(document.body.children)\n .forEach(elem => EventHandler.on(elem, 'mouseover', null, noop()))\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n Manipulator.toggleClass(this._menu, ClassName.SHOW)\n Manipulator.toggleClass(parent, ClassName.SHOW)\n EventHandler.trigger(parent, Event.SHOWN, relatedTarget)\n }\n\n hide() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED) || !this._menu.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const hideEvent = EventHandler.trigger(parent, Event.HIDE, relatedTarget)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n Manipulator.toggleClass(this._menu, ClassName.SHOW)\n Manipulator.toggleClass(parent, ClassName.SHOW)\n EventHandler.trigger(parent, Event.HIDDEN, relatedTarget)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._element, EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n EventHandler.on(this._element, Event.CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n const parent = Dropdown.getParentFromElement(this._element)\n\n return SelectorEngine.findOne(Selector.MENU, parent)\n }\n\n _getPlacement() {\n const parentDropdown = this._element.parentNode\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if (parentDropdown.classList.contains(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if (this._menu.classList.contains(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if (parentDropdown.classList.contains(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if (parentDropdown.classList.contains(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if (this._menu.classList.contains(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n\n return placement\n }\n\n _detectNavbar() {\n return Boolean(SelectorEngine.closest(this._element, '.navbar'))\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets, this._element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static dropdownInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Dropdown.dropdownInterface(this, config)\n })\n }\n\n static clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n (event.type === 'keyup' && event.which !== TAB_KEYCODE))) {\n return\n }\n\n const toggles = makeArray(SelectorEngine.find(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown.getParentFromElement(toggles[i])\n const context = Data.getData(toggles[i], DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!parent.classList.contains(ClassName.SHOW)) {\n continue\n }\n\n if (event && ((event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName)) ||\n (event.type === 'keyup' && event.which === TAB_KEYCODE)) &&\n parent.contains(event.target)) {\n continue\n }\n\n const hideEvent = EventHandler.trigger(parent, Event.HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children)\n .forEach(elem => EventHandler.off(elem, 'mouseover', null, noop()))\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n dropdownMenu.classList.remove(ClassName.SHOW)\n parent.classList.remove(ClassName.SHOW)\n EventHandler.trigger(parent, Event.HIDDEN, relatedTarget)\n }\n }\n\n static getParentFromElement(element) {\n return getElementFromSelector(element) || element.parentNode\n }\n\n static dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ?\n event.which === SPACE_KEYCODE || (event.which !== ESCAPE_KEYCODE &&\n ((event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE) ||\n SelectorEngine.closest(event.target, Selector.MENU))) :\n !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || this.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this)\n const isActive = parent.classList.contains(ClassName.SHOW)\n\n if (!isActive || (isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE))) {\n if (event.which === ESCAPE_KEYCODE) {\n SelectorEngine.findOne(Selector.DATA_TOGGLE, parent).focus()\n }\n\n Dropdown.clearMenus()\n return\n }\n\n const items = makeArray(SelectorEngine.find(Selector.VISIBLE_ITEMS, parent))\n .filter(isVisible)\n\n if (!items.length) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, Event.CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, Event.KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown.dropdownInterface(this, 'toggle')\n})\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.FORM_CHILD, e => e.stopPropagation())\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .dropdown to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Dropdown.jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown.jQueryInterface\n }\n}\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n makeArray,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: 'boolean'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDE_PREVENTED: `hidePrevented${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n RESIZE: `resize${EVENT_KEY}`,\n CLICK_DISMISS: `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS: `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS: `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS: `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SCROLLABLE: 'modal-dialog-scrollable',\n SCROLLBAR_MEASURER: 'modal-scrollbar-measure',\n BACKDROP: 'modal-backdrop',\n OPEN: 'modal-open',\n FADE: 'fade',\n SHOW: 'show',\n STATIC: 'modal-static'\n}\n\nconst Selector = {\n DIALOG: '.modal-dialog',\n MODAL_BODY: '.modal-body',\n DATA_TOGGLE: '[data-toggle=\"modal\"]',\n DATA_DISMISS: '[data-dismiss=\"modal\"]',\n FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT: '.sticky-top'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = SelectorEngine.findOne(Selector.DIALOG, element)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if (this._element.classList.contains(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = EventHandler.trigger(this._element, Event.SHOW, {\n relatedTarget\n })\n\n if (this._isShown || showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.on(this._element,\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n event => this.hide(event)\n )\n\n EventHandler.on(this._dialog, Event.MOUSEDOWN_DISMISS, () => {\n EventHandler.one(this._element, Event.MOUSEUP_DISMISS, event => {\n if (event.target === this._element) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, Event.HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n const transition = this._element.classList.contains(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.off(document, Event.FOCUSIN)\n\n this._element.classList.remove(ClassName.SHOW)\n\n EventHandler.off(this._element, Event.CLICK_DISMISS)\n EventHandler.off(this._dialog, Event.MOUSEDOWN_DISMISS)\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, event => this._hideModal(event))\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\n\n /**\n * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `Event.CLICK_DATA_API` event that should remain\n */\n EventHandler.off(document, Event.FOCUSIN)\n\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = this._element.classList.contains(ClassName.FADE)\n const modalBody = SelectorEngine.findOne(Selector.MODAL_BODY, this._dialog)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n\n if (this._dialog.classList.contains(ClassName.SCROLLABLE) && modalBody) {\n modalBody.scrollTop = 0\n } else {\n this._element.scrollTop = 0\n }\n\n if (transition) {\n reflow(this._element)\n }\n\n this._element.classList.add(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, Event.SHOWN, {\n relatedTarget\n })\n }\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._dialog)\n\n EventHandler.one(this._dialog, TRANSITION_END, transitionComplete)\n emulateTransitionEnd(this._dialog, transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n EventHandler.off(document, Event.FOCUSIN) // guard against infinite focus loop\n EventHandler.on(document, Event.FOCUSIN, event => {\n if (document !== event.target &&\n this._element !== event.target &&\n !this._element.contains(event.target)) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n EventHandler.on(this._element, Event.KEYDOWN_DISMISS, event => {\n if (event.which === ESCAPE_KEYCODE) {\n this._triggerBackdropTransition()\n }\n })\n } else {\n EventHandler.off(this._element, Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n EventHandler.on(window, Event.RESIZE, () => this._adjustDialog())\n } else {\n EventHandler.off(window, Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._isTransitioning = false\n this._showBackdrop(() => {\n document.body.classList.remove(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n EventHandler.trigger(this._element, Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n this._backdrop.parentNode.removeChild(this._backdrop)\n this._backdrop = null\n }\n\n _showBackdrop(callback) {\n const animate = this._element.classList.contains(ClassName.FADE) ?\n ClassName.FADE :\n ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n document.body.appendChild(this._backdrop)\n\n EventHandler.on(this._element, Event.CLICK_DISMISS, event => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n\n if (event.target !== event.currentTarget) {\n return\n }\n\n this._triggerBackdropTransition()\n })\n\n if (animate) {\n reflow(this._backdrop)\n }\n\n this._backdrop.classList.add(ClassName.SHOW)\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n\n EventHandler.one(this._backdrop, TRANSITION_END, callback)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n this._backdrop.classList.remove(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n callback()\n }\n\n if (this._element.classList.contains(ClassName.FADE)) {\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else {\n callback()\n }\n }\n\n _triggerBackdropTransition() {\n if (this._config.backdrop === 'static') {\n const hideEvent = EventHandler.trigger(this._element, Event.HIDE_PREVENTED)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._element.classList.add(ClassName.STATIC)\n const modalTransitionDuration = getTransitionDurationFromElement(this._element)\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.classList.remove(ClassName.STATIC)\n })\n emulateTransitionEnd(this._element, modalTransitionDuration)\n this._element.focus()\n } else {\n this.hide()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n makeArray(SelectorEngine.find(Selector.FIXED_CONTENT))\n .forEach(element => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = window.getComputedStyle(element)['padding-right']\n Manipulator.setDataAttribute(element, 'padding-right', actualPadding)\n element.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n })\n\n // Adjust sticky content margin\n makeArray(SelectorEngine.find(Selector.STICKY_CONTENT))\n .forEach(element => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = window.getComputedStyle(element)['margin-right']\n Manipulator.setDataAttribute(element, 'margin-right', actualMargin)\n element.style.marginRight = `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = window.getComputedStyle(document.body)['padding-right']\n\n Manipulator.setDataAttribute(document.body, 'padding-right', actualPadding)\n document.body.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n }\n\n document.body.classList.add(ClassName.OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n makeArray(SelectorEngine.find(Selector.FIXED_CONTENT))\n .forEach(element => {\n const padding = Manipulator.getDataAttribute(element, 'padding-right')\n if (typeof padding !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'padding-right')\n element.style.paddingRight = padding\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n makeArray(SelectorEngine.find(`${Selector.STICKY_CONTENT}`))\n .forEach(element => {\n const margin = Manipulator.getDataAttribute(element, 'margin-right')\n if (typeof margin !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'margin-right')\n element.style.marginRight = margin\n }\n })\n\n // Restore body padding\n const padding = Manipulator.getDataAttribute(document.body, 'padding-right')\n if (typeof padding === 'undefined') {\n document.body.style.paddingRight = ''\n } else {\n Manipulator.removeDataAttribute(document.body, 'padding-right')\n document.body.style.paddingRight = padding\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(this),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n EventHandler.one(target, Event.SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, Event.HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n let data = Data.getData(target, DATA_KEY)\n if (!data) {\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n\n data = new Modal(target, config)\n }\n\n data.show(this)\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .modal to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Modal.jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal.jQueryInterface\n }\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { makeArray } from './index'\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i\n\nconst allowedAttribute = (attr, allowedAttributeList) => {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter(attrRegex => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, l = regExp.length; i < l; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\n\nexport const DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\nexport function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const whitelistKeys = Object.keys(whiteList)\n const elements = makeArray(createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (whitelistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = makeArray(el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n findShadowRoot,\n getTransitionDurationFromElement,\n getUID,\n isElement,\n makeArray,\n noop,\n typeCheckConfig\n} from './util/index'\nimport {\n DefaultWhitelist,\n sanitizeHtml\n} from './util/sanitizer'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']\n\nconst DefaultType = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n whiteList: 'object',\n popperConfig: '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n}\n\nconst Default = {\n animation: true,\n template: '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"tooltip-arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\n sanitize: true,\n sanitizeFn: null,\n whiteList: DefaultWhitelist,\n popperConfig: null\n}\n\nconst HoverState = {\n SHOW: 'show',\n OUT: 'out'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n TOOLTIP_INNER: '.tooltip-inner'\n}\n\nconst Trigger = {\n HOVER: 'hover',\n FOCUS: 'focus',\n CLICK: 'click',\n MANUAL: 'manual'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n Data.setData(element, this.constructor.DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if (this.getTipElement().classList.contains(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n Data.removeData(this.element, this.constructor.DATA_KEY)\n\n EventHandler.off(this.element, this.constructor.EVENT_KEY)\n EventHandler.off(SelectorEngine.closest(this.element, '.modal'), 'hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n this.tip.parentNode.removeChild(this.tip)\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if (this.element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (this.isWithContent() && this._isEnabled) {\n const showEvent = EventHandler.trigger(this.element, this.constructor.Event.SHOW)\n const shadowRoot = findShadowRoot(this.element)\n const isInTheDom = shadowRoot === null ?\n this.element.ownerDocument.documentElement.contains(this.element) :\n shadowRoot.contains(this.element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n tip.classList.add(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function' ?\n this.config.placement.call(this, tip, this.element) :\n this.config.placement\n\n const attachment = this._getAttachment(placement)\n this._addAttachmentClass(attachment)\n\n const container = this._getContainer()\n Data.setData(tip, this.constructor.DATA_KEY, this)\n\n if (!this.element.ownerDocument.documentElement.contains(this.tip)) {\n container.appendChild(tip)\n }\n\n EventHandler.trigger(this.element, this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\n\n tip.classList.add(ClassName.SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children).forEach(element => {\n EventHandler.on(element, 'mouseover', noop())\n })\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n EventHandler.trigger(this.element, this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if (this.tip.classList.contains(ClassName.FADE)) {\n const transitionDuration = getTransitionDurationFromElement(this.tip)\n EventHandler.one(this.tip, TRANSITION_END, complete)\n emulateTransitionEnd(this.tip, transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide() {\n const tip = this.getTipElement()\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n EventHandler.trigger(this.element, this.constructor.Event.HIDDEN)\n this._popper.destroy()\n }\n\n const hideEvent = EventHandler.trigger(this.element, this.constructor.Event.HIDE)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n tip.classList.remove(ClassName.SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children)\n .forEach(element => EventHandler.off(element, 'mouseover', noop))\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if (this.tip.classList.contains(ClassName.FADE)) {\n const transitionDuration = getTransitionDurationFromElement(tip)\n\n EventHandler.one(tip, TRANSITION_END, complete)\n emulateTransitionEnd(tip, transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n getTipElement() {\n if (this.tip) {\n return this.tip\n }\n\n const element = document.createElement('div')\n element.innerHTML = this.config.template\n\n this.tip = element.children[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent(SelectorEngine.findOne(Selector.TOOLTIP_INNER, tip), this.getTitle())\n tip.classList.remove(ClassName.FADE)\n tip.classList.remove(ClassName.SHOW)\n }\n\n setElementContent(element, content) {\n if (element === null) {\n return\n }\n\n if (typeof content === 'object' && isElement(content)) {\n if (content.jquery) {\n content = content[0]\n }\n\n // content is a DOM node or a jQuery\n if (this.config.html) {\n if (content.parentNode !== element) {\n element.innerHTML = ''\n element.appendChild(content)\n }\n } else {\n element.innerText = content.textContent\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn)\n }\n\n element.innerHTML = content\n } else {\n element.innerText = content\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function' ?\n this.config.title.call(this.element) :\n this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: `.${this.constructor.NAME}-arrow`\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: data => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: data => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...this.config.offset(data.offsets, this.element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (isElement(this.config.container)) {\n return this.config.container\n }\n\n return SelectorEngine.findOne(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach(trigger => {\n if (trigger === 'click') {\n EventHandler.on(this.element,\n this.constructor.Event.CLICK,\n this.config.selector,\n event => this.toggle(event)\n )\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n EventHandler.on(this.element,\n eventIn,\n this.config.selector,\n event => this._enter(event)\n )\n EventHandler.on(this.element,\n eventOut,\n this.config.selector,\n event => this._leave(event)\n )\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n EventHandler.on(SelectorEngine.closest(this.element, '.modal'),\n 'hide.bs.modal',\n this._hideModalHandler\n )\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if (context.getTipElement().classList.contains(ClassName.SHOW) ||\n context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this.element)\n\n Object.keys(dataAttributes)\n .forEach(dataAttr => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n if (config && typeof config.container === 'object' && config.container.jquery) {\n config.container = config.container[0]\n }\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length) {\n tabClass\n .map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n const popperInstance = popperData.instance\n this.tip = popperInstance.popper\n this._cleanTipClass()\n this._addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n tip.classList.remove(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tooltip to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tooltip.jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip.jQueryInterface\n }\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport SelectorEngine from './dom/selector-engine'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement: 'right',\n trigger: 'click',\n content: '',\n template: '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"popover-arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(string|element|function)'\n}\n\nconst ClassName = {\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n TITLE: '.popover-header',\n CONTENT: '.popover-body'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n setContent() {\n const tip = this.getTipElement()\n\n // we use append for html objects to maintain js events\n this.setElementContent(SelectorEngine.findOne(Selector.TITLE, tip), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n\n this.setElementContent(SelectorEngine.findOne(Selector.CONTENT, tip), content)\n\n tip.classList.remove(ClassName.FADE)\n tip.classList.remove(ClassName.SHOW)\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n Data.setData(this, DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Popover.jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover.jQueryInterface\n }\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getSelectorFromElement,\n getUID,\n makeArray,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n offset: 10,\n method: 'auto',\n target: ''\n}\n\nconst DefaultType = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n}\n\nconst Event = {\n ACTIVATE: `activate${EVENT_KEY}`,\n SCROLL: `scroll${EVENT_KEY}`,\n LOAD_DATA_API: `load${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_ITEM: 'dropdown-item',\n ACTIVE: 'active'\n}\n\nconst Selector = {\n DATA_SPY: '[data-spy=\"scroll\"]',\n NAV_LIST_GROUP: '.nav, .list-group',\n NAV_LINKS: '.nav-link',\n NAV_ITEMS: '.nav-item',\n LIST_ITEMS: '.list-group-item',\n DROPDOWN: '.dropdown',\n DROPDOWN_TOGGLE: '.dropdown-toggle'\n}\n\nconst OffsetMethod = {\n OFFSET: 'offset',\n POSITION: 'position'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +\n `${this._config.target} ${Selector.LIST_ITEMS},` +\n `${this._config.target} .${ClassName.DROPDOWN_ITEM}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n EventHandler.on(this._scrollElement, Event.SCROLL, event => this._process(event))\n\n this.refresh()\n this._process()\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window ?\n OffsetMethod.OFFSET :\n OffsetMethod.POSITION\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod :\n this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION ?\n this._getScrollTop() :\n 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = makeArray(SelectorEngine.find(this._selector))\n\n targets\n .map(element => {\n let target\n const targetSelector = getSelectorFromElement(element)\n\n if (targetSelector) {\n target = SelectorEngine.findOne(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n return [\n Manipulator[offsetMethod](target).top + offsetBase,\n targetSelector\n ]\n }\n }\n\n return null\n })\n .filter(item => item)\n .sort((a, b) => a[0] - b[0])\n .forEach(item => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._scrollElement, EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.target !== 'string') {\n let { id } = config.target\n if (!id) {\n id = getUID(NAME)\n config.target.id = id\n }\n\n config.target = `#${id}`\n }\n\n typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset :\n this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight :\n this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n const offsetLength = this._offsets.length\n for (let i = offsetLength; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector.split(',')\n .map(selector => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const link = SelectorEngine.findOne(queries.join(','))\n\n if (link.classList.contains(ClassName.DROPDOWN_ITEM)) {\n SelectorEngine\n .findOne(Selector.DROPDOWN_TOGGLE, SelectorEngine.closest(link, Selector.DROPDOWN))\n .classList.add(ClassName.ACTIVE)\n\n link.classList.add(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n link.classList.add(ClassName.ACTIVE)\n\n SelectorEngine\n .parents(link, Selector.NAV_LIST_GROUP)\n .forEach(listGroup => {\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n SelectorEngine.prev(listGroup, `${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`)\n .forEach(item => item.classList.add(ClassName.ACTIVE))\n\n // Handle special case when .nav-link is inside .nav-item\n SelectorEngine.prev(listGroup, Selector.NAV_ITEMS)\n .forEach(navItem => {\n SelectorEngine.children(navItem, Selector.NAV_LINKS)\n .forEach(item => item.classList.add(ClassName.ACTIVE))\n })\n })\n }\n\n EventHandler.trigger(this._scrollElement, Event.ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n makeArray(SelectorEngine.find(this._selector))\n .filter(node => node.classList.contains(ClassName.ACTIVE))\n .forEach(node => node.classList.remove(ClassName.ACTIVE))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(window, Event.LOAD_DATA_API, () => {\n makeArray(SelectorEngine.find(Selector.DATA_SPY))\n .forEach(spy => new ScrollSpy(spy, Manipulator.getDataAttributes(spy)))\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = ScrollSpy.jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy.jQueryInterface\n }\n}\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n makeArray,\n reflow\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_MENU: 'dropdown-menu',\n ACTIVE: 'active',\n DISABLED: 'disabled',\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n DROPDOWN: '.dropdown',\n NAV_LIST_GROUP: '.nav, .list-group',\n ACTIVE: '.active',\n ACTIVE_UL: ':scope > li > .active',\n DATA_TOGGLE: '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n DROPDOWN_TOGGLE: '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD: ':scope > .dropdown-menu .active'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n\n Data.setData(this._element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if ((this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n this._element.classList.contains(ClassName.ACTIVE)) ||\n this._element.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n let previous\n const target = getElementFromSelector(this._element)\n const listElement = SelectorEngine.closest(this._element, Selector.NAV_LIST_GROUP)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n previous = makeArray(SelectorEngine.find(itemSelector, listElement))\n previous = previous[previous.length - 1]\n }\n\n let hideEvent = null\n\n if (previous) {\n hideEvent = EventHandler.trigger(previous, Event.HIDE, {\n relatedTarget: this._element\n })\n }\n\n const showEvent = EventHandler.trigger(this._element, Event.SHOW, {\n relatedTarget: previous\n })\n\n if (showEvent.defaultPrevented ||\n (hideEvent !== null && hideEvent.defaultPrevented)) {\n return\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n EventHandler.trigger(previous, Event.HIDDEN, {\n relatedTarget: this._element\n })\n EventHandler.trigger(this._element, Event.SHOWN, {\n relatedTarget: previous\n })\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ?\n SelectorEngine.find(Selector.ACTIVE_UL, container) :\n SelectorEngine.children(container, Selector.ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n (active && active.classList.contains(ClassName.FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = getTransitionDurationFromElement(active)\n active.classList.remove(ClassName.SHOW)\n\n EventHandler.one(active, TRANSITION_END, complete)\n emulateTransitionEnd(active, transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n active.classList.remove(ClassName.ACTIVE)\n\n const dropdownChild = SelectorEngine.findOne(Selector.DROPDOWN_ACTIVE_CHILD, active.parentNode)\n\n if (dropdownChild) {\n dropdownChild.classList.remove(ClassName.ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n element.classList.add(ClassName.ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n reflow(element)\n\n if (element.classList.contains(ClassName.FADE)) {\n element.classList.add(ClassName.SHOW)\n }\n\n if (element.parentNode && element.parentNode.classList.contains(ClassName.DROPDOWN_MENU)) {\n const dropdownElement = SelectorEngine.closest(element, Selector.DROPDOWN)\n\n if (dropdownElement) {\n makeArray(SelectorEngine.find(Selector.DROPDOWN_TOGGLE))\n .forEach(dropdown => dropdown.classList.add(ClassName.ACTIVE))\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n data.show()\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tab to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tab.jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab.jQueryInterface\n }\n}\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getTransitionDurationFromElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst Event = {\n CLICK_DISMISS: `click.dismiss${EVENT_KEY}`,\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE: 'fade',\n HIDE: 'hide',\n SHOW: 'show',\n SHOWING: 'showing'\n}\n\nconst DefaultType = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n}\n\nconst Default = {\n animation: true,\n autohide: true,\n delay: 500\n}\n\nconst Selector = {\n DATA_DISMISS: '[data-dismiss=\"toast\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n show() {\n const showEvent = EventHandler.trigger(this._element, Event.SHOW)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n if (this._config.animation) {\n this._element.classList.add(ClassName.FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(ClassName.SHOWING)\n this._element.classList.add(ClassName.SHOW)\n\n EventHandler.trigger(this._element, Event.SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(ClassName.HIDE)\n reflow(this._element)\n this._element.classList.add(ClassName.SHOWING)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, Event.HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const complete = () => {\n this._element.classList.add(ClassName.HIDE)\n EventHandler.trigger(this._element, Event.HIDDEN)\n }\n\n this._element.classList.remove(ClassName.SHOW)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n this._timeout = null\n\n if (this._element.classList.contains(ClassName.SHOW)) {\n this._element.classList.remove(ClassName.SHOW)\n }\n\n EventHandler.off(this._element, Event.CLICK_DISMISS)\n Data.removeData(this._element, DATA_KEY)\n\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...typeof config === 'object' && config ? config : {}\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(\n this._element,\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n () => this.hide()\n )\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .toast to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Toast.jQueryInterface\n $.fn[NAME].Constructor = Toast\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast.jQueryInterface\n }\n}\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): index.umd.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Alert from './src/alert'\nimport Button from './src/button'\nimport Carousel from './src/carousel'\nimport Collapse from './src/collapse'\nimport Dropdown from './src/dropdown'\nimport Modal from './src/modal'\nimport Popover from './src/popover'\nimport ScrollSpy from './src/scrollspy'\nimport Tab from './src/tab'\nimport Toast from './src/toast'\nimport Tooltip from './src/tooltip'\n\nexport default {\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n ScrollSpy,\n Tab,\n Toast,\n Tooltip\n}\n"],"names":["MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","toString","call","match","toLowerCase","getUID","prefix","Math","random","document","getElementById","getSelector","element","selector","getAttribute","hrefAttr","trim","getSelectorFromElement","querySelector","getElementFromSelector","getTransitionDurationFromElement","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","evt","createEvent","initEvent","dispatchEvent","isElement","nodeType","emulateTransitionEnd","duration","called","durationPadding","emulatedDuration","listener","removeEventListener","addEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","makeArray","nodeList","slice","isVisible","style","parentNode","elementStyle","parentNodeStyle","display","visibility","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","mapData","storeData","id","set","key","data","get","keyProperties","delete","Data","setData","instance","getData","removeData","Element","prototype","matches","closest","find","querySelectorAll","findOne","createCustomEvent","eventName","params","cEvent","CustomEvent","bubbles","cancelable","detail","initCustomEvent","workingDefaultPrevented","e","preventDefault","defaultPrevented","origPreventDefault","Event","defineProperty","configurable","defaultPreventedPreservedOnDispatch","createElement","msMatchesSelector","webkitMatchesSelector","parentElement","scopeSelectorRegex","supportScopeQuery","_","hasId","Boolean","replace","removeAttribute","$","namespaceRegex","stripNameRegex","keyEventRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","getUidEvent","uid","getEvent","fixEvent","event","which","type","charCode","keyCode","delegateTarget","bootstrapHandler","fn","handler","oneOff","EventHandler","off","apply","bootstrapDelegationHandler","domElements","target","i","length","findHandler","events","delegationSelector","uidEventList","len","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","custom","isNative","indexOf","addHandler","handlers","previousFn","removeHandler","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","on","one","inNamespace","isNamespace","charAt","elementEvent","keyHandlers","trigger","args","jQueryEvent","nativeDispatch","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","NODE_TEXT","SelectorEngine","findFn","children","filter","child","parents","ancestor","Node","ELEMENT_NODE","push","prev","siblings","previous","previousSibling","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","Selector","DISMISS","CLOSE","CLOSED","CLICK_DATA_API","ClassName","ALERT","FADE","SHOW","Alert","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","_removeElement","dispose","parent","classList","remove","contains","_destroyElement","removeChild","jQueryInterface","each","handleDismiss","alertInstance","getInstance","JQUERY_NO_CONFLICT","Constructor","noConflict","ACTIVE","BUTTON","FOCUS","DATA_TOGGLE_CARROT","DATA_TOGGLE","INPUT","FOCUS_DATA_API","BLUR_DATA_API","Button","toggle","triggerChangeEvent","addAriaPressed","input","checked","activeElement","focus","setAttribute","button","add","normalizeData","val","Number","normalizeDataKey","chr","Manipulator","setDataAttribute","removeDataAttribute","getDataAttributes","attributes","dataset","getDataAttribute","offset","rect","getBoundingClientRect","top","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft","toggleClass","className","ARROW_LEFT_KEYCODE","ARROW_RIGHT_KEYCODE","TOUCHEVENT_COMPAT_WAIT","SWIPE_THRESHOLD","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","Direction","NEXT","PREV","LEFT","RIGHT","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","TOUCHSTART","TOUCHMOVE","TOUCHEND","POINTERDOWN","POINTERUP","DRAG_START","LOAD_DATA_API","CAROUSEL","ITEM","POINTER_EVENT","ACTIVE_ITEM","ITEM_IMG","NEXT_PREV","INDICATORS","DATA_SLIDE","DATA_RIDE","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","MSPointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","_handleSwipe","absDeltax","abs","_keydown","_addTouchEventListeners","start","pointerType","clientX","touches","move","end","clearTimeout","itemImg","tagName","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","from","_setActiveIndicatorElement","indicators","nextIndicator","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","slideEvent","nextElementInterval","parseInt","defaultInterval","carouselInterface","action","TypeError","ride","dataApiClickHandler","slideIndex","carousels","SHOWN","HIDE","HIDDEN","COLLAPSE","COLLAPSING","COLLAPSED","Dimension","WIDTH","HEIGHT","ACTIVES","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","container","tempActiveData","startEvent","elemActive","collapseInterface","dimension","_getDimension","setTransitioning","complete","capitalizedDimension","scrollSize","triggerArrayLength","isTransitioning","hasWidth","jquery","selected","triggerArray","isOpen","triggerData","selectorElements","ESCAPE_KEYCODE","SPACE_KEYCODE","TAB_KEYCODE","ARROW_UP_KEYCODE","ARROW_DOWN_KEYCODE","RIGHT_MOUSE_BUTTON_WHICH","REGEXP_KEYDOWN","CLICK","KEYDOWN_DATA_API","KEYUP_DATA_API","DISABLED","DROPUP","DROPRIGHT","DROPLEFT","MENURIGHT","POSITION_STATIC","FORM_CHILD","MENU","NAVBAR_NAV","VISIBLE_ITEMS","AttachmentMap","TOP","TOPEND","BOTTOM","BOTTOMEND","RIGHTEND","LEFTEND","flip","boundary","reference","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","clearMenus","getParentFromElement","showEvent","Popper","referenceElement","_getPopperConfig","hideEvent","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","parentDropdown","placement","_getOffset","offsets","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","dropdownInterface","toggles","context","clickEvent","dropdownMenu","dataApiKeydownHandler","items","backdrop","HIDE_PREVENTED","FOCUSIN","RESIZE","CLICK_DISMISS","KEYDOWN_DISMISS","MOUSEUP_DISMISS","MOUSEDOWN_DISMISS","SCROLLABLE","SCROLLBAR_MEASURER","BACKDROP","OPEN","STATIC","DIALOG","MODAL_BODY","DATA_DISMISS","FIXED_CONTENT","STICKY_CONTENT","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","handleUpdate","modalBody","appendChild","_enforceFocus","transitionComplete","_triggerBackdropTransition","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","animate","currentTarget","backdropTransitionDuration","callbackRemove","modalTransitionDuration","isModalOverflowing","scrollHeight","clientHeight","paddingLeft","paddingRight","right","innerWidth","_getScrollbarWidth","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","margin","scrollDiv","scrollbarWidth","width","clientWidth","uriAttrs","ARIA_ATTRIBUTE_PATTERN","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attr","allowedAttributeList","attrName","nodeName","nodeValue","regExp","attrRegex","l","DefaultWhitelist","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","sanitizeHtml","unsafeHtml","whiteList","sanitizeFn","domParser","DOMParser","createdDocument","parseFromString","whitelistKeys","elements","el","elName","attributeList","whitelistedAttributes","concat","innerHTML","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","fallbackPlacement","sanitize","AUTO","HoverState","OUT","INSERTED","FOCUSOUT","TOOLTIP_INNER","Trigger","HOVER","MANUAL","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","_addAttachmentClass","_getContainer","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","innerText","textContent","defaultBsConfig","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","triggers","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","tabClass","map","token","tClass","popperData","popperInstance","popper","initConfigAnimation","TITLE","CONTENT","Popover","_getContent","method","ACTIVATE","SCROLL","DROPDOWN_ITEM","DATA_SPY","NAV_LIST_GROUP","NAV_LINKS","NAV_ITEMS","LIST_ITEMS","DROPDOWN","DROPDOWN_TOGGLE","OffsetMethod","OFFSET","POSITION","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targets","targetSelector","targetBCR","height","item","sort","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","offsetLength","isActiveTarget","queries","link","join","listGroup","navItem","node","spy","DROPDOWN_MENU","ACTIVE_UL","DROPDOWN_ACTIVE_CHILD","Tab","listElement","itemSelector","activeElements","active","_transitionComplete","dropdownChild","dropdownElement","dropdown","SHOWING","autohide","Toast"],"mappings":"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,SAAS,GAAG;EAChB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,KAAK,EAAE;EACT;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,KAAK;EACb,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,MAAM,EAAE;EACV;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,MAAM;EACd;EACA;EACA;EACA,IAAI,MAAM,EAAE,CAAC;EACb,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,eAAe,EAAE;EACnB;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,eAAe;EACvB;EACA;EACA;EACA;EACA;EACA,IAAI,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC;EAChD;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,OAAO,EAAE,CAAC;EACd;EACA;EACA;EACA;EACA;EACA,IAAI,iBAAiB,EAAE,cAAc;EACrC,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,YAAY,EAAE;EAChB;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,YAAY;EACpB,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,KAAK,EAAE;EACT;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,KAAK;EACb;EACA,IAAI,OAAO,EAAE,WAAW;EACxB,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,IAAI,EAAE;EACR;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,IAAI;EACZ;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,QAAQ,EAAE,MAAM;EACpB;EACA;EACA;EACA;EACA,IAAI,OAAO,EAAE,CAAC;EACd;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,iBAAiB,EAAE,UAAU;EACjC;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,cAAc,EAAE,KAAK;EACzB;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,uBAAuB,EAAE,KAAK;EAClC,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,KAAK,EAAE;EACT;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,KAAK;EAClB;EACA,IAAI,EAAE,EAAE,KAAK;EACb,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,IAAI,EAAE;EACR;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,IAAI;EACZ,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,YAAY,EAAE;EAChB;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,YAAY;EACpB;EACA;EACA;EACA;EACA;EACA,IAAI,eAAe,EAAE,IAAI;EACzB;EACA;EACA;EACA;EACA;EACA,IAAI,CAAC,EAAE,QAAQ;EACf;EACA;EACA;EACA;EACA;EACA,IAAI,CAAC,EAAE,OAAO;EACd,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,UAAU,EAAE;EACd;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,UAAU;EAClB;EACA,IAAI,MAAM,EAAE,gBAAgB;EAC5B;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,eAAe,EAAE,SAAS;EAC9B,GAAG;EACH,CAAC,CAAC;;EAEF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,QAAQ,GAAG;EACf;EACA;EACA;EACA;EACA,EAAE,SAAS,EAAE,QAAQ;;EAErB;EACA;EACA;EACA;EACA,EAAE,aAAa,EAAE,KAAK;;EAEtB;EACA;EACA;EACA;EACA,EAAE,aAAa,EAAE,IAAI;;EAErB;EACA;EACA;EACA;EACA;EACA,EAAE,eAAe,EAAE,KAAK;;EAExB;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,QAAQ,EAAE,SAAS,QAAQ,GAAG,EAAE;;EAElC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,QAAQ,EAAE,SAAS,QAAQ,GAAG,EAAE;;EAElC;EACA;EACA;EACA;EACA;EACA,EAAE,SAAS,EAAE,SAAS;EACtB,CAAC,CAAC;;EAEF;EACA;EACA;EACA;;EAEA;EACA;EACA;EACA;;EAEA;EACA;EACA,IAAI,MAAM,GAAG,YAAY;EACzB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,SAAS,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE;EACrC,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC;;EAErB,IAAI,IAAI,OAAO,GAAG,SAAS,CAAC,MAAM,GAAG,CA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"} \ No newline at end of file
+{"version":3,"file":"bootstrap.bundle.js","sources":["../../js/src/util/index.js","../../js/src/dom/data.js","../../js/src/dom/polyfill.js","../../js/src/dom/event-handler.js","../../js/src/dom/selector-engine.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/dom/manipulator.js","../../js/src/carousel.js","../../js/src/collapse.js","../../node_modules/popper.js/dist/esm/popper.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/util/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/index.umd.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => {\n if (obj === null || obj === undefined) {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = obj => (obj[0] || obj).nodeType\n\nconst emulateTransitionEnd = (element, duration) => {\n let called = false\n const durationPadding = 5\n const emulatedDuration = duration + durationPadding\n function listener() {\n called = true\n element.removeEventListener(TRANSITION_END, listener)\n }\n\n element.addEventListener(TRANSITION_END, listener)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(element)\n }\n }, emulatedDuration)\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes)\n .forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n const elementStyle = getComputedStyle(element)\n const parentNodeStyle = getComputedStyle(element.parentNode)\n\n return elementStyle.display !== 'none' &&\n parentNodeStyle.display !== 'none' &&\n elementStyle.visibility !== 'hidden'\n }\n\n return false\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst mapData = (() => {\n const storeData = {}\n let id = 1\n return {\n set(element, key, data) {\n if (typeof element.key === 'undefined') {\n element.key = {\n key,\n id\n }\n id++\n }\n\n storeData[element.key.id] = data\n },\n get(element, key) {\n if (!element || typeof element.key === 'undefined') {\n return null\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.key === 'undefined') {\n return\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.key\n }\n }\n }\n})()\n\nconst Data = {\n setData(instance, key, data) {\n mapData.set(instance, key, data)\n },\n getData(instance, key) {\n return mapData.get(instance, key)\n },\n removeData(instance, key) {\n mapData.delete(instance, key)\n }\n}\n\nexport default Data\n","/* istanbul ignore file */\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/polyfill.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getUID } from '../util/index'\n\nlet find = Element.prototype.querySelectorAll\nlet findOne = Element.prototype.querySelector\n\n// MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached\nconst defaultPreventedPreservedOnDispatch = (() => {\n const e = new CustomEvent('Bootstrap', {\n cancelable: true\n })\n\n const element = document.createElement('div')\n element.addEventListener('Bootstrap', () => null)\n\n e.preventDefault()\n element.dispatchEvent(e)\n return e.defaultPrevented\n})()\n\nconst scopeSelectorRegex = /:scope\\b/\nconst supportScopeQuery = (() => {\n const element = document.createElement('div')\n\n try {\n element.querySelectorAll(':scope *')\n } catch (_) {\n return false\n }\n\n return true\n})()\n\nif (!supportScopeQuery) {\n find = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelectorAll(selector)\n }\n\n const hasId = Boolean(this.id)\n\n if (!hasId) {\n this.id = getUID('scope')\n }\n\n let nodeList = null\n try {\n selector = selector.replace(scopeSelectorRegex, `#${this.id}`)\n nodeList = this.querySelectorAll(selector)\n } finally {\n if (!hasId) {\n this.removeAttribute('id')\n }\n }\n\n return nodeList\n }\n\n findOne = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelector(selector)\n }\n\n const matches = find.call(this, selector)\n\n if (typeof matches[0] !== 'undefined') {\n return matches[0]\n }\n\n return null\n }\n}\n\nexport {\n find,\n findOne,\n defaultPreventedPreservedOnDispatch\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\nimport { defaultPreventedPreservedOnDispatch } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst $ = getjQuery()\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst keyEventRegex = /^key/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\nconst nativeEvents = [\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n]\n\n/**\n * ------------------------------------------------------------------------\n * Private methods\n * ------------------------------------------------------------------------\n */\n\nfunction getUidEvent(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getEvent(element) {\n const uid = getUidEvent(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction fixEvent(event, element) {\n // Add which for key events\n if (event.which === null && keyEventRegex.test(event.type)) {\n event.which = event.charCode === null ? event.keyCode : event.charCode\n }\n\n event.delegateTarget = element\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n fixEvent(event, element)\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = target.parentNode) {\n for (let i = domElements.length; i--;) {\n if (domElements[i] === target) {\n fixEvent(event, target)\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n\n // To please ESLint\n return null\n }\n}\n\nfunction findHandler(events, handler, delegationSelector = null) {\n const uidEventList = Object.keys(events)\n\n for (let i = 0, len = uidEventList.length; i < len; i++) {\n const event = events[uidEventList[i]]\n\n if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\n return event\n }\n }\n\n return null\n}\n\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\n const delegation = typeof handler === 'string'\n const originalHandler = delegation ? delegationFn : handler\n\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n let typeEvent = originalTypeEvent.replace(stripNameRegex, '')\n const custom = customEvents[typeEvent]\n\n if (custom) {\n typeEvent = custom\n }\n\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n if (!isNative) {\n typeEvent = originalTypeEvent\n }\n\n return [delegation, originalHandler, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n if (!handler) {\n handler = delegationFn\n delegationFn = null\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const events = getEvent(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null)\n\n if (previousFn) {\n previousFn.oneOff = previousFn.oneOff && oneOff\n\n return\n }\n\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = delegation ?\n bootstrapDelegationHandler(element, handler, delegationFn) :\n bootstrapHandler(element, handler)\n\n fn.delegationSelector = delegation ? handler : null\n fn.originalHandler = originalHandler\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, delegation)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {}\n\n Object.keys(storeElementEvent)\n .forEach(handlerKey => {\n if (handlerKey.indexOf(namespace) > -1) {\n const event = storeElementEvent[handlerKey]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, false)\n },\n\n one(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFn) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getEvent(element)\n const isNamespace = originalTypeEvent.charAt(0) === '.'\n\n if (typeof originalHandler !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!events || !events[typeEvent]) {\n return\n }\n\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null)\n return\n }\n\n if (isNamespace) {\n Object.keys(events)\n .forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent)\n .forEach(keyHandlers => {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.indexOf(handlerKey) > -1) {\n const event = storeElementEvent[keyHandlers]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const typeEvent = event.replace(stripNameRegex, '')\n const inNamespace = event !== typeEvent\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n let jQueryEvent\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n let evt = null\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n if (isNative) {\n evt = document.createEvent('HTMLEvents')\n evt.initEvent(typeEvent, bubbles, true)\n } else {\n evt = new CustomEvent(event, {\n bubbles,\n cancelable: true\n })\n }\n\n // merge custom informations in our event\n if (typeof args !== 'undefined') {\n Object.keys(args)\n .forEach(key => {\n Object.defineProperty(evt, key, {\n get() {\n return args[key]\n }\n })\n })\n }\n\n if (defaultPrevented) {\n evt.preventDefault()\n\n if (!defaultPreventedPreservedOnDispatch) {\n Object.defineProperty(evt, 'defaultPrevented', {\n get: () => true\n })\n }\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { find as findFn, findOne } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n matches(element, selector) {\n return element.matches(selector)\n },\n\n find(selector, element = document.documentElement) {\n return [].concat(...findFn.call(element, selector))\n },\n\n findOne(selector, element = document.documentElement) {\n return findOne.call(element, selector)\n },\n\n children(element, selector) {\n const children = [].concat(...element.children)\n\n return children.filter(child => child.matches(selector))\n },\n\n parents(element, selector) {\n const parents = []\n\n let ancestor = element.parentNode\n\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\n if (this.matches(ancestor, selector)) {\n parents.push(ancestor)\n }\n\n ancestor = ancestor.parentNode\n }\n\n return parents\n },\n\n closest(element, selector) {\n return element.closest(selector)\n },\n\n prev(element, selector) {\n let previous = element.previousElementSibling\n\n while (previous) {\n if (previous.matches(selector)) {\n return [previous]\n }\n\n previous = previous.previousElementSibling\n }\n\n return []\n },\n\n next(element, selector) {\n let next = element.nextElementSibling\n\n while (next) {\n if (this.matches(next, selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst SELECTOR_DISMISS = '[data-dismiss=\"alert\"]'\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASSNAME_ALERT = 'alert'\nconst CLASSNAME_FADE = 'fade'\nconst CLASSNAME_SHOW = 'show'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n\n if (this._element) {\n Data.setData(element, DATA_KEY, this)\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent === null || customEvent.defaultPrevented) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n let parent = getElementFromSelector(element)\n\n if (!parent) {\n parent = SelectorEngine.closest(element, `.${CLASSNAME_ALERT}`)\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n return EventHandler.trigger(element, EVENT_CLOSE)\n }\n\n _removeElement(element) {\n element.classList.remove(CLASSNAME_SHOW)\n\n if (!element.classList.contains(CLASSNAME_FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = getTransitionDurationFromElement(element)\n\n EventHandler\n .one(element, TRANSITION_END, () => this._destroyElement(element))\n emulateTransitionEnd(element, transitionDuration)\n }\n\n _destroyElement(element) {\n if (element.parentNode) {\n element.parentNode.removeChild(element)\n }\n\n EventHandler.trigger(element, EVENT_CLOSED)\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\nEventHandler\n .on(document, EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert.handleDismiss(new Alert()))\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .alert to jQuery only if jQuery is present\n */\n\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Alert.jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert.jQueryInterface\n }\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_BUTTON = 'btn'\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_FOCUS = 'focus'\n\nconst SELECTOR_DATA_TOGGLE_CARROT = '[data-toggle^=\"button\"]'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"buttons\"]'\nconst SELECTOR_INPUT = 'input:not([type=\"hidden\"])'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_BUTTON = '.btn'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_FOCUS_DATA_API = `focus${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_BLUR_DATA_API = `blur${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n\n const rootElement = SelectorEngine.closest(\n this._element,\n SELECTOR_DATA_TOGGLE\n )\n\n if (rootElement) {\n const input = SelectorEngine.findOne(SELECTOR_INPUT, this._element)\n\n if (input && input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(CLASS_NAME_ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE, rootElement)\n\n if (activeElement) {\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains(CLASS_NAME_DISABLED) ||\n rootElement.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n input.checked = !this._element.classList.contains(CLASS_NAME_ACTIVE)\n EventHandler.trigger(input, 'change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(CLASS_NAME_ACTIVE))\n }\n\n if (triggerChangeEvent) {\n this._element.classList.toggle(CLASS_NAME_ACTIVE)\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, event => {\n event.preventDefault()\n\n let button = event.target\n if (!button.classList.contains(CLASS_NAME_BUTTON)) {\n button = SelectorEngine.closest(button, SELECTOR_BUTTON)\n }\n\n let data = Data.getData(button, DATA_KEY)\n if (!data) {\n data = new Button(button)\n }\n\n data.toggle()\n})\n\nEventHandler.on(document, EVENT_FOCUS_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, event => {\n const button = SelectorEngine.closest(event.target, SELECTOR_BUTTON)\n\n if (button) {\n button.classList.add(CLASS_NAME_FOCUS)\n }\n})\n\nEventHandler.on(document, EVENT_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, event => {\n const button = SelectorEngine.closest(event.target, SELECTOR_BUTTON)\n\n if (button) {\n button.classList.remove(CLASS_NAME_FOCUS)\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .button to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Button.jQueryInterface\n $.fn[NAME].Constructor = Button\n\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button.jQueryInterface\n }\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(val) {\n if (val === 'true') {\n return true\n }\n\n if (val === 'false') {\n return false\n }\n\n if (val === Number(val).toString()) {\n return Number(val)\n }\n\n if (val === '' || val === 'null') {\n return null\n }\n\n return val\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {\n ...element.dataset\n }\n\n Object.keys(attributes).forEach(key => {\n attributes[key] = normalizeData(attributes[key])\n })\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-${normalizeDataKey(key)}`))\n },\n\n offset(element) {\n const rect = element.getBoundingClientRect()\n\n return {\n top: rect.top + document.body.scrollTop,\n left: rect.left + document.body.scrollLeft\n }\n },\n\n position(element) {\n return {\n top: element.offsetTop,\n left: element.offsetLeft\n }\n },\n\n toggleClass(element, className) {\n if (!element) {\n return\n }\n\n if (element.classList.contains(className)) {\n element.classList.remove(className)\n } else {\n element.classList.add(className)\n }\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n reflow,\n triggerTransitionEnd,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n}\n\nconst DIRECTION_NEXT = 'next'\nconst DIRECTION_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_RIGHT = 'carousel-item-right'\nconst CLASS_NAME_LEFT = 'carousel-item-left'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_ITEM = '.active.carousel-item'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-slide], [data-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-ride=\"carousel\"]'\n\nconst PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(DIRECTION_NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(DIRECTION_PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (SelectorEngine.findOne(SELECTOR_NEXT_PREV, this._element)) {\n triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config && this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex ?\n DIRECTION_NEXT :\n DIRECTION_PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n Data.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler\n .on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler\n .on(this._element, EVENT_MOUSEENTER, event => this.pause(event))\n EventHandler\n .on(this._element, EVENT_MOUSELEAVE, event => this.cycle(event))\n }\n\n if (this._config.touch && this._touchSupported) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n const start = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchStartX = event.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.touches[0].clientX\n }\n }\n\n const move = event => {\n // ensure swiping with one touch and not pinching\n if (event.touches && event.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n\n this.touchTimeout = setTimeout(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n SelectorEngine.find(SELECTOR_ITEM_IMG, this._element).forEach(itemImg => {\n EventHandler.on(itemImg, EVENT_DRAG_START, e => e.preventDefault())\n })\n\n if (this._pointerEvent) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => start(event))\n EventHandler.on(this._element, EVENT_POINTERUP, event => end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => start(event))\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => move(event))\n EventHandler.on(this._element, EVENT_TOUCHEND, event => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode ?\n SelectorEngine.find(SELECTOR_ITEM, element.parentNode) :\n []\n\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === DIRECTION_NEXT\n const isPrevDirection = direction === DIRECTION_PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = (isPrevDirection && activeIndex === 0) ||\n (isNextDirection && activeIndex === lastItemIndex)\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === DIRECTION_PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] :\n this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element))\n\n return EventHandler.trigger(this._element, EVENT_SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = SelectorEngine.find(SELECTOR_ACTIVE, this._indicatorsElement)\n for (let i = 0; i < indicators.length; i++) {\n indicators[i].classList.remove(CLASS_NAME_ACTIVE)\n }\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n nextIndicator.classList.add(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || (activeElement &&\n this._getItemByDirection(direction, activeElement))\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === DIRECTION_NEXT) {\n directionalClassName = CLASS_NAME_LEFT\n orderClassName = CLASS_NAME_NEXT\n eventDirectionName = DIRECTION_LEFT\n } else {\n directionalClassName = CLASS_NAME_RIGHT\n orderClassName = CLASS_NAME_PREV\n eventDirectionName = DIRECTION_RIGHT\n }\n\n if (nextElement && nextElement.classList.contains(CLASS_NAME_ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.defaultPrevented) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n if (this._element.classList.contains(CLASS_NAME_SLIDE)) {\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = getTransitionDurationFromElement(activeElement)\n\n EventHandler\n .one(activeElement, TRANSITION_END, () => {\n nextElement.classList.remove(directionalClassName)\n nextElement.classList.remove(orderClassName)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n activeElement.classList.remove(orderClassName)\n activeElement.classList.remove(directionalClassName)\n\n this._isSliding = false\n\n setTimeout(() => {\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }, 0)\n })\n\n emulateTransitionEnd(activeElement, transitionDuration)\n } else {\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n this._isSliding = false\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static carouselInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n let _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element)\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(element, _config)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Carousel.carouselInterface(this, config)\n })\n }\n\n static dataApiClickHandler(event) {\n const target = getElementFromSelector(this)\n\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel.carouselInterface(target, config)\n\n if (slideIndex) {\n Data.getData(target, DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler\n .on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel.dataApiClickHandler)\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n for (let i = 0, len = carousels.length; i < len; i++) {\n Carousel.carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY))\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .carousel to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Carousel.jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel.jQueryInterface\n }\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n toggle: true,\n parent: ''\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(string|element)'\n}\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.show, .collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"collapse\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = SelectorEngine.find(\n `${SELECTOR_DATA_TOGGLE}[href=\"#${element.id}\"],` +\n `${SELECTOR_DATA_TOGGLE}[data-target=\"#${element.id}\"]`\n )\n\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = getSelectorFromElement(elem)\n const filterElement = SelectorEngine.find(selector)\n .filter(foundElem => foundElem === element)\n\n if (selector !== null && filterElement.length) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = SelectorEngine.find(SELECTOR_ACTIVES, this._parent)\n .filter(elem => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(CLASS_NAME_COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n const container = SelectorEngine.findOne(this._selector)\n if (actives) {\n const tempActiveData = actives.filter(elem => container !== elem)\n activesData = tempActiveData[0] ? Data.getData(tempActiveData[0], DATA_KEY) : null\n\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n if (actives) {\n actives.forEach(elemActive => {\n if (container !== elemActive) {\n Collapse.collapseInterface(elemActive, 'hide')\n }\n\n if (!activesData) {\n Data.setData(elemActive, DATA_KEY, null)\n }\n })\n }\n\n const dimension = this._getDimension()\n\n this._element.classList.remove(CLASS_NAME_COLLAPSE)\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n this._triggerArray.forEach(element => {\n element.classList.remove(CLASS_NAME_COLLAPSED)\n element.setAttribute('aria-expanded', true)\n })\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE)\n this._element.classList.add(CLASS_NAME_SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n\n emulateTransitionEnd(this._element, transitionDuration)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n if (startEvent.defaultPrevented) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n reflow(this._element)\n\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n this._element.classList.remove(CLASS_NAME_COLLAPSE)\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const elem = getElementFromSelector(trigger)\n\n if (elem && !elem.classList.contains(CLASS_NAME_SHOW)) {\n trigger.classList.add(CLASS_NAME_COLLAPSED)\n trigger.setAttribute('aria-expanded', false)\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = this._element.classList.contains(WIDTH)\n return hasWidth ? WIDTH : HEIGHT\n }\n\n _getParent() {\n let { parent } = this._config\n\n if (isElement(parent)) {\n // it's a jQuery object\n if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {\n parent = parent[0]\n }\n } else {\n parent = SelectorEngine.findOne(parent)\n }\n\n const selector = `${SELECTOR_DATA_TOGGLE}[data-parent=\"${parent}\"]`\n\n SelectorEngine.find(selector, parent)\n .forEach(element => {\n const selected = getElementFromSelector(element)\n\n this._addAriaAndCollapsedClass(\n selected,\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (element) {\n const isOpen = element.classList.contains(CLASS_NAME_SHOW)\n\n if (triggerArray.length) {\n triggerArray.forEach(elem => {\n if (isOpen) {\n elem.classList.remove(CLASS_NAME_COLLAPSED)\n } else {\n elem.classList.add(CLASS_NAME_COLLAPSED)\n }\n\n elem.setAttribute('aria-expanded', isOpen)\n })\n }\n }\n }\n\n // Static\n\n static collapseInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Collapse.collapseInterface(this, config)\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A') {\n event.preventDefault()\n }\n\n const triggerData = Manipulator.getDataAttributes(this)\n const selector = getSelectorFromElement(this)\n const selectorElements = SelectorEngine.find(selector)\n\n selectorElements.forEach(element => {\n const data = Data.getData(element, DATA_KEY)\n let config\n if (data) {\n // update parent attribute\n if (data._parent === null && typeof triggerData.parent === 'string') {\n data._config.parent = triggerData.parent\n data._parent = data._getParent()\n }\n\n config = 'toggle'\n } else {\n config = triggerData\n }\n\n Collapse.collapseInterface(element, config)\n })\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .collapse to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Collapse.jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse.jQueryInterface\n }\n}\n\nexport default Collapse\n","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.16.0\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n\nvar timeoutDuration = function () {\n var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}();\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nfunction getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.width;\n var height = sizes.height || element.clientHeight || result.height;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop, 10);\n var marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n var parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is <html> the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n // flips variation if popper content overflows boundaries\n var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n\n var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.<br />\n * It will read the variation of the `placement` property.<br />\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.<br />\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.<br />\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.<br />\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.<br />\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overridden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getElementFromSelector,\n isElement,\n isVisible,\n noop,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\n\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPRIGHT = 'dropright'\nconst CLASS_NAME_DROPLEFT = 'dropleft'\nconst CLASS_NAME_MENURIGHT = 'dropdown-menu-right'\nconst CLASS_NAME_NAVBAR = 'navbar'\nconst CLASS_NAME_POSITION_STATIC = 'position-static'\n\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"dropdown\"]'\nconst SELECTOR_FORM_CHILD = '.dropdown form'\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = 'top-start'\nconst PLACEMENT_TOPEND = 'top-end'\nconst PLACEMENT_BOTTOM = 'bottom-start'\nconst PLACEMENT_BOTTOMEND = 'bottom-end'\nconst PLACEMENT_RIGHT = 'right-start'\nconst PLACEMENT_LEFT = 'left-start'\n\nconst Default = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n const isActive = this._element.classList.contains(CLASS_NAME_SHOW)\n\n Dropdown.clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show()\n }\n\n show() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || this._menu.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n parent.classList.add(CLASS_NAME_POSITION_STATIC)\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n !SelectorEngine.closest(parent, SELECTOR_NAVBAR_NAV)) {\n [].concat(...document.body.children)\n .forEach(elem => EventHandler.on(elem, 'mouseover', null, noop()))\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n Manipulator.toggleClass(this._menu, CLASS_NAME_SHOW)\n Manipulator.toggleClass(this._element, CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_SHOWN, relatedTarget)\n }\n\n hide() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || !this._menu.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n Manipulator.toggleClass(this._menu, CLASS_NAME_SHOW)\n Manipulator.toggleClass(this._element, CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._element, EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n return SelectorEngine.next(this._element, SELECTOR_MENU)[0]\n }\n\n _getPlacement() {\n const parentDropdown = this._element.parentNode\n let placement = PLACEMENT_BOTTOM\n\n // Handle dropup\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n placement = PLACEMENT_TOP\n if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_TOPEND\n }\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPRIGHT)) {\n placement = PLACEMENT_RIGHT\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPLEFT)) {\n placement = PLACEMENT_LEFT\n } else if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_BOTTOMEND\n }\n\n return placement\n }\n\n _detectNavbar() {\n return Boolean(SelectorEngine.closest(this._element, `.${CLASS_NAME_NAVBAR}`))\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets, this._element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static dropdownInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Dropdown.dropdownInterface(this, config)\n })\n }\n\n static clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n (event.type === 'keyup' && event.which !== TAB_KEYCODE))) {\n return\n }\n\n const toggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown.getParentFromElement(toggles[i])\n const context = Data.getData(toggles[i], DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!toggles[i].classList.contains(CLASS_NAME_SHOW)) {\n continue\n }\n\n if (event && ((event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName)) ||\n (event.type === 'keyup' && event.which === TAB_KEYCODE)) &&\n dropdownMenu.contains(event.target)) {\n continue\n }\n\n const hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n [].concat(...document.body.children)\n .forEach(elem => EventHandler.off(elem, 'mouseover', null, noop()))\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n dropdownMenu.classList.remove(CLASS_NAME_SHOW)\n toggles[i].classList.remove(CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget)\n }\n }\n\n static getParentFromElement(element) {\n return getElementFromSelector(element) || element.parentNode\n }\n\n static dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ?\n event.which === SPACE_KEYCODE || (event.which !== ESCAPE_KEYCODE &&\n ((event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE) ||\n SelectorEngine.closest(event.target, SELECTOR_MENU))) :\n !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || this.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this)\n const isActive = this.classList.contains(CLASS_NAME_SHOW)\n\n if (event.which === ESCAPE_KEYCODE) {\n const button = this.matches(SELECTOR_DATA_TOGGLE) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0]\n button.focus()\n Dropdown.clearMenus()\n return\n }\n\n if (!isActive || event.which === SPACE_KEYCODE) {\n Dropdown.clearMenus()\n return\n }\n\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, parent)\n .filter(isVisible)\n\n if (!items.length) {\n return\n }\n\n let index = items.indexOf(event.target) || 0\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n items[index].focus()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown.dropdownInterface(this, 'toggle')\n})\nEventHandler\n .on(document, EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, e => e.stopPropagation())\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .dropdown to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Dropdown.jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown.jQueryInterface\n }\n}\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: 'boolean'\n}\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SCROLLABLE = 'modal-dialog-scrollable'\nconst CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure'\nconst CLASS_NAME_BACKDROP = 'modal-backdrop'\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"modal\"]'\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"modal\"]'\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, element)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget\n })\n\n if (this._isShown || showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.on(this._element,\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n event => this.hide(event)\n )\n\n EventHandler.on(this._dialog, EVENT_MOUSEDOWN_DISMISS, () => {\n EventHandler.one(this._element, EVENT_MOUSEUP_DISMISS, event => {\n if (event.target === this._element) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n const transition = this._element.classList.contains(CLASS_NAME_FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.off(document, EVENT_FOCUSIN)\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n EventHandler.off(this._dialog, EVENT_MOUSEDOWN_DISMISS)\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, event => this._hideModal(event))\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\n\n /**\n * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `EVENT_CLICK_DATA_API` event that should remain\n */\n EventHandler.off(document, EVENT_FOCUSIN)\n\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = this._element.classList.contains(CLASS_NAME_FADE)\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n\n if (this._dialog.classList.contains(CLASS_NAME_SCROLLABLE) && modalBody) {\n modalBody.scrollTop = 0\n } else {\n this._element.scrollTop = 0\n }\n\n if (transition) {\n reflow(this._element)\n }\n\n this._element.classList.add(CLASS_NAME_SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget\n })\n }\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._dialog)\n\n EventHandler.one(this._dialog, TRANSITION_END, transitionComplete)\n emulateTransitionEnd(this._dialog, transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n EventHandler.off(document, EVENT_FOCUSIN) // guard against infinite focus loop\n EventHandler.on(document, EVENT_FOCUSIN, event => {\n if (document !== event.target &&\n this._element !== event.target &&\n !this._element.contains(event.target)) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown) {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (this._config.keyboard && event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n } else if (!this._config.keyboard && event.which === ESCAPE_KEYCODE) {\n this._triggerBackdropTransition()\n }\n })\n } else {\n EventHandler.off(this._element, EVENT_KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n EventHandler.on(window, EVENT_RESIZE, () => this._adjustDialog())\n } else {\n EventHandler.off(window, EVENT_RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._isTransitioning = false\n this._showBackdrop(() => {\n document.body.classList.remove(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n })\n }\n\n _removeBackdrop() {\n this._backdrop.parentNode.removeChild(this._backdrop)\n this._backdrop = null\n }\n\n _showBackdrop(callback) {\n const animate = this._element.classList.contains(CLASS_NAME_FADE) ?\n CLASS_NAME_FADE :\n ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = CLASS_NAME_BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n document.body.appendChild(this._backdrop)\n\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, event => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n\n if (event.target !== event.currentTarget) {\n return\n }\n\n this._triggerBackdropTransition()\n })\n\n if (animate) {\n reflow(this._backdrop)\n }\n\n this._backdrop.classList.add(CLASS_NAME_SHOW)\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n\n EventHandler.one(this._backdrop, TRANSITION_END, callback)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n this._backdrop.classList.remove(CLASS_NAME_SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n callback()\n }\n\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else {\n callback()\n }\n }\n\n _triggerBackdropTransition() {\n if (this._config.backdrop === 'static') {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n const modalTransitionDuration = getTransitionDurationFromElement(this._element)\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n })\n emulateTransitionEnd(this._element, modalTransitionDuration)\n this._element.focus()\n } else {\n this.hide()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n SelectorEngine.find(SELECTOR_FIXED_CONTENT)\n .forEach(element => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = window.getComputedStyle(element)['padding-right']\n Manipulator.setDataAttribute(element, 'padding-right', actualPadding)\n element.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n })\n\n // Adjust sticky content margin\n SelectorEngine.find(SELECTOR_STICKY_CONTENT)\n .forEach(element => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = window.getComputedStyle(element)['margin-right']\n Manipulator.setDataAttribute(element, 'margin-right', actualMargin)\n element.style.marginRight = `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = window.getComputedStyle(document.body)['padding-right']\n\n Manipulator.setDataAttribute(document.body, 'padding-right', actualPadding)\n document.body.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n }\n\n document.body.classList.add(CLASS_NAME_OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n SelectorEngine.find(SELECTOR_FIXED_CONTENT)\n .forEach(element => {\n const padding = Manipulator.getDataAttribute(element, 'padding-right')\n if (typeof padding !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'padding-right')\n element.style.paddingRight = padding\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n SelectorEngine.find(`${SELECTOR_STICKY_CONTENT}`)\n .forEach(element => {\n const margin = Manipulator.getDataAttribute(element, 'margin-right')\n if (typeof margin !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'margin-right')\n element.style.marginRight = margin\n }\n })\n\n // Restore body padding\n const padding = Manipulator.getDataAttribute(document.body, 'padding-right')\n if (typeof padding === 'undefined') {\n document.body.style.paddingRight = ''\n } else {\n Manipulator.removeDataAttribute(document.body, 'padding-right')\n document.body.style.paddingRight = padding\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(this),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n EventHandler.one(target, EVENT_SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n let data = Data.getData(target, DATA_KEY)\n if (!data) {\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n\n data = new Modal(target, config)\n }\n\n data.show(this)\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .modal to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Modal.jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal.jQueryInterface\n }\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+=*$/i\n\nconst allowedAttribute = (attr, allowedAttributeList) => {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return SAFE_URL_PATTERN.test(attr.nodeValue) || DATA_URL_PATTERN.test(attr.nodeValue)\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter(attrRegex => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, len = regExp.length; i < len; i++) {\n if (regExp[i].test(attrName)) {\n return true\n }\n }\n\n return false\n}\n\nexport const DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\nexport function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const whitelistKeys = Object.keys(whiteList)\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (whitelistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].concat(...el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n findShadowRoot,\n getTransitionDurationFromElement,\n getUID,\n isElement,\n noop,\n typeCheckConfig\n} from './util/index'\nimport {\n DefaultWhitelist,\n sanitizeHtml\n} from './util/sanitizer'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']\n\nconst DefaultType = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n whiteList: 'object',\n popperConfig: '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n}\n\nconst Default = {\n animation: true,\n template: '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"tooltip-arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\n sanitize: true,\n sanitizeFn: null,\n whiteList: DefaultWhitelist,\n popperConfig: null\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst HOVER_STATE_SHOW = 'show'\nconst HOVER_STATE_OUT = 'out'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n Data.setData(element, this.constructor.DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if (this.getTipElement().classList.contains(CLASS_NAME_SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n Data.removeData(this.element, this.constructor.DATA_KEY)\n\n EventHandler.off(this.element, this.constructor.EVENT_KEY)\n EventHandler.off(SelectorEngine.closest(this.element, `.${CLASS_NAME_MODAL}`), 'hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n this.tip.parentNode.removeChild(this.tip)\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if (this.element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (this.isWithContent() && this._isEnabled) {\n const showEvent = EventHandler.trigger(this.element, this.constructor.Event.SHOW)\n const shadowRoot = findShadowRoot(this.element)\n const isInTheDom = shadowRoot === null ?\n this.element.ownerDocument.documentElement.contains(this.element) :\n shadowRoot.contains(this.element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n tip.classList.add(CLASS_NAME_FADE)\n }\n\n const placement = typeof this.config.placement === 'function' ?\n this.config.placement.call(this, tip, this.element) :\n this.config.placement\n\n const attachment = this._getAttachment(placement)\n this._addAttachmentClass(attachment)\n\n const container = this._getContainer()\n Data.setData(tip, this.constructor.DATA_KEY, this)\n\n if (!this.element.ownerDocument.documentElement.contains(this.tip)) {\n container.appendChild(tip)\n }\n\n EventHandler.trigger(this.element, this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\n\n tip.classList.add(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n [].concat(...document.body.children).forEach(element => {\n EventHandler.on(element, 'mouseover', noop())\n })\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n EventHandler.trigger(this.element, this.constructor.Event.SHOWN)\n\n if (prevHoverState === HOVER_STATE_OUT) {\n this._leave(null, this)\n }\n }\n\n if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n const transitionDuration = getTransitionDurationFromElement(this.tip)\n EventHandler.one(this.tip, TRANSITION_END, complete)\n emulateTransitionEnd(this.tip, transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide() {\n const tip = this.getTipElement()\n const complete = () => {\n if (this._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n EventHandler.trigger(this.element, this.constructor.Event.HIDDEN)\n this._popper.destroy()\n }\n\n const hideEvent = EventHandler.trigger(this.element, this.constructor.Event.HIDE)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n tip.classList.remove(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n [].concat(...document.body.children)\n .forEach(element => EventHandler.off(element, 'mouseover', noop))\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n\n if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n const transitionDuration = getTransitionDurationFromElement(tip)\n\n EventHandler.one(tip, TRANSITION_END, complete)\n emulateTransitionEnd(tip, transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n getTipElement() {\n if (this.tip) {\n return this.tip\n }\n\n const element = document.createElement('div')\n element.innerHTML = this.config.template\n\n this.tip = element.children[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent(SelectorEngine.findOne(SELECTOR_TOOLTIP_INNER, tip), this.getTitle())\n tip.classList.remove(CLASS_NAME_FADE)\n tip.classList.remove(CLASS_NAME_SHOW)\n }\n\n setElementContent(element, content) {\n if (element === null) {\n return\n }\n\n if (typeof content === 'object' && isElement(content)) {\n if (content.jquery) {\n content = content[0]\n }\n\n // content is a DOM node or a jQuery\n if (this.config.html) {\n if (content.parentNode !== element) {\n element.innerHTML = ''\n element.appendChild(content)\n }\n } else {\n element.innerText = content.textContent\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn)\n }\n\n element.innerHTML = content\n } else {\n element.innerText = content\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function' ?\n this.config.title.call(this.element) :\n this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: `.${this.constructor.NAME}-arrow`\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: data => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: data => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...this.config.offset(data.offsets, this.element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (isElement(this.config.container)) {\n return this.config.container\n }\n\n return SelectorEngine.findOne(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach(trigger => {\n if (trigger === 'click') {\n EventHandler.on(this.element,\n this.constructor.Event.CLICK,\n this.config.selector,\n event => this.toggle(event)\n )\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n EventHandler.on(this.element,\n eventIn,\n this.config.selector,\n event => this._enter(event)\n )\n EventHandler.on(this.element,\n eventOut,\n this.config.selector,\n event => this._leave(event)\n )\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n EventHandler.on(SelectorEngine.closest(this.element, `.${CLASS_NAME_MODAL}`),\n 'hide.bs.modal',\n this._hideModalHandler\n )\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = true\n }\n\n if (context.getTipElement().classList.contains(CLASS_NAME_SHOW) ||\n context._hoverState === HOVER_STATE_SHOW) {\n context._hoverState = HOVER_STATE_SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this.element)\n\n Object.keys(dataAttributes)\n .forEach(dataAttr => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n if (config && typeof config.container === 'object' && config.container.jquery) {\n config.container = config.container[0]\n }\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n const popperInstance = popperData.instance\n this.tip = popperInstance.popper\n this._cleanTipClass()\n this._addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n tip.classList.remove(CLASS_NAME_FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tooltip to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tooltip.jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip.jQueryInterface\n }\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport SelectorEngine from './dom/selector-engine'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement: 'right',\n trigger: 'click',\n content: '',\n template: '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"popover-arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(string|element|function)'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n setContent() {\n const tip = this.getTipElement()\n\n // we use append for html objects to maintain js events\n this.setElementContent(SelectorEngine.findOne(SELECTOR_TITLE, tip), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n\n this.setElementContent(SelectorEngine.findOne(SELECTOR_CONTENT, tip), content)\n\n tip.classList.remove(CLASS_NAME_FADE)\n tip.classList.remove(CLASS_NAME_SHOW)\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n Data.setData(this, DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Popover.jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover.jQueryInterface\n }\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getSelectorFromElement,\n getUID,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n offset: 10,\n method: 'auto',\n target: ''\n}\n\nconst DefaultType = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n}\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_SCROLL = `scroll${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-spy=\"scroll\"]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst METHOD_OFFSET = 'offset'\nconst METHOD_POSITION = 'position'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${SELECTOR_NAV_LINKS},` +\n `${this._config.target} ${SELECTOR_LIST_ITEMS},` +\n `${this._config.target} .${CLASS_NAME_DROPDOWN_ITEM}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n EventHandler.on(this._scrollElement, EVENT_SCROLL, event => this._process(event))\n\n this.refresh()\n this._process()\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window ?\n METHOD_OFFSET :\n METHOD_POSITION\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod :\n this._config.method\n\n const offsetBase = offsetMethod === METHOD_POSITION ?\n this._getScrollTop() :\n 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = SelectorEngine.find(this._selector)\n\n targets\n .map(element => {\n let target\n const targetSelector = getSelectorFromElement(element)\n\n if (targetSelector) {\n target = SelectorEngine.findOne(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n return [\n Manipulator[offsetMethod](target).top + offsetBase,\n targetSelector\n ]\n }\n }\n\n return null\n })\n .filter(item => item)\n .sort((a, b) => a[0] - b[0])\n .forEach(item => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._scrollElement, EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.target !== 'string') {\n let { id } = config.target\n if (!id) {\n id = getUID(NAME)\n config.target.id = id\n }\n\n config.target = `#${id}`\n }\n\n typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset :\n this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight :\n this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n const offsetLength = this._offsets.length\n for (let i = offsetLength; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector.split(',')\n .map(selector => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const link = SelectorEngine.findOne(queries.join(','))\n\n if (link.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n SelectorEngine\n .findOne(SELECTOR_DROPDOWN_TOGGLE, SelectorEngine.closest(link, SELECTOR_DROPDOWN))\n .classList.add(CLASS_NAME_ACTIVE)\n\n link.classList.add(CLASS_NAME_ACTIVE)\n } else {\n // Set triggered link as active\n link.classList.add(CLASS_NAME_ACTIVE)\n\n SelectorEngine\n .parents(link, SELECTOR_NAV_LIST_GROUP)\n .forEach(listGroup => {\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n SelectorEngine.prev(listGroup, `${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`)\n .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n\n // Handle special case when .nav-link is inside .nav-item\n SelectorEngine.prev(listGroup, SELECTOR_NAV_ITEMS)\n .forEach(navItem => {\n SelectorEngine.children(navItem, SELECTOR_NAV_LINKS)\n .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n })\n })\n }\n\n EventHandler.trigger(this._scrollElement, EVENT_ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n SelectorEngine.find(this._selector)\n .filter(node => node.classList.contains(CLASS_NAME_ACTIVE))\n .forEach(node => node.classList.remove(CLASS_NAME_ACTIVE))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n SelectorEngine.find(SELECTOR_DATA_SPY)\n .forEach(spy => new ScrollSpy(spy, Manipulator.getDataAttributes(spy)))\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = ScrollSpy.jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy.jQueryInterface\n }\n}\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n reflow\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_UL = ':scope > li > .active'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_ACTIVE_CHILD = ':scope > .dropdown-menu .active'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n\n Data.setData(this._element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if ((this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n this._element.classList.contains(CLASS_NAME_ACTIVE)) ||\n this._element.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n let previous\n const target = getElementFromSelector(this._element)\n const listElement = SelectorEngine.closest(this._element, SELECTOR_NAV_LIST_GROUP)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE\n previous = SelectorEngine.find(itemSelector, listElement)\n previous = previous[previous.length - 1]\n }\n\n let hideEvent = null\n\n if (previous) {\n hideEvent = EventHandler.trigger(previous, EVENT_HIDE, {\n relatedTarget: this._element\n })\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget: previous\n })\n\n if (showEvent.defaultPrevented ||\n (hideEvent !== null && hideEvent.defaultPrevented)) {\n return\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n EventHandler.trigger(previous, EVENT_HIDDEN, {\n relatedTarget: this._element\n })\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget: previous\n })\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ?\n SelectorEngine.find(SELECTOR_ACTIVE_UL, container) :\n SelectorEngine.children(container, SELECTOR_ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n (active && active.classList.contains(CLASS_NAME_FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = getTransitionDurationFromElement(active)\n active.classList.remove(CLASS_NAME_SHOW)\n\n EventHandler.one(active, TRANSITION_END, complete)\n emulateTransitionEnd(active, transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n active.classList.remove(CLASS_NAME_ACTIVE)\n\n const dropdownChild = SelectorEngine.findOne(SELECTOR_DROPDOWN_ACTIVE_CHILD, active.parentNode)\n\n if (dropdownChild) {\n dropdownChild.classList.remove(CLASS_NAME_ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n element.classList.add(CLASS_NAME_ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n reflow(element)\n\n if (element.classList.contains(CLASS_NAME_FADE)) {\n element.classList.add(CLASS_NAME_SHOW)\n }\n\n if (element.parentNode && element.parentNode.classList.contains(CLASS_NAME_DROPDOWN_MENU)) {\n const dropdownElement = SelectorEngine.closest(element, SELECTOR_DROPDOWN)\n\n if (dropdownElement) {\n SelectorEngine.find(SELECTOR_DROPDOWN_TOGGLE)\n .forEach(dropdown => dropdown.classList.add(CLASS_NAME_ACTIVE))\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n data.show()\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tab to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tab.jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab.jQueryInterface\n }\n}\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getTransitionDurationFromElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n}\n\nconst Default = {\n animation: true,\n autohide: true,\n delay: 500\n}\n\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"toast\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n show() {\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n if (this._config.animation) {\n this._element.classList.add(CLASS_NAME_FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(CLASS_NAME_SHOWING)\n this._element.classList.add(CLASS_NAME_SHOW)\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(CLASS_NAME_HIDE)\n reflow(this._element)\n this._element.classList.add(CLASS_NAME_SHOWING)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const complete = () => {\n this._element.classList.add(CLASS_NAME_HIDE)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n this._timeout = null\n\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this._element.classList.remove(CLASS_NAME_SHOW)\n }\n\n EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n Data.removeData(this._element, DATA_KEY)\n\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...typeof config === 'object' && config ? config : {}\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(\n this._element,\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n () => this.hide()\n )\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .toast to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Toast.jQueryInterface\n $.fn[NAME].Constructor = Toast\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast.jQueryInterface\n }\n}\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): index.umd.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Alert from './src/alert'\nimport Button from './src/button'\nimport Carousel from './src/carousel'\nimport Collapse from './src/collapse'\nimport Dropdown from './src/dropdown'\nimport Modal from './src/modal'\nimport Popover from './src/popover'\nimport ScrollSpy from './src/scrollspy'\nimport Tab from './src/tab'\nimport Toast from './src/toast'\nimport Tooltip from './src/tooltip'\n\nexport default {\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n ScrollSpy,\n Tab,\n Toast,\n Tooltip\n}\n"],"names":["MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","undefined","toString","call","match","toLowerCase","getUID","prefix","Math","random","document","getElementById","getSelector","element","selector","getAttribute","hrefAttr","trim","getSelectorFromElement","querySelector","getElementFromSelector","getTransitionDurationFromElement","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","dispatchEvent","Event","isElement","nodeType","emulateTransitionEnd","duration","called","durationPadding","emulatedDuration","listener","removeEventListener","addEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","isVisible","style","parentNode","elementStyle","parentNodeStyle","display","visibility","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","mapData","storeData","id","set","key","data","get","keyProperties","delete","Data","setData","instance","getData","removeData","find","Element","prototype","querySelectorAll","findOne","defaultPreventedPreservedOnDispatch","e","CustomEvent","cancelable","createElement","preventDefault","defaultPrevented","scopeSelectorRegex","supportScopeQuery","_","hasId","Boolean","nodeList","replace","removeAttribute","matches","$","namespaceRegex","stripNameRegex","keyEventRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","getUidEvent","uid","getEvent","fixEvent","event","which","type","charCode","keyCode","delegateTarget","bootstrapHandler","fn","handler","oneOff","EventHandler","off","apply","bootstrapDelegationHandler","domElements","target","i","length","findHandler","events","delegationSelector","uidEventList","len","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","custom","isNative","indexOf","addHandler","handlers","previousFn","removeHandler","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","on","one","inNamespace","isNamespace","charAt","elementEvent","slice","keyHandlers","trigger","args","jQueryEvent","bubbles","nativeDispatch","evt","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","createEvent","initEvent","defineProperty","NODE_TEXT","SelectorEngine","concat","findFn","children","filter","child","parents","ancestor","Node","ELEMENT_NODE","push","closest","prev","previous","previousElementSibling","next","nextElementSibling","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","SELECTOR_DISMISS","EVENT_CLOSE","EVENT_CLOSED","EVENT_CLICK_DATA_API","CLASSNAME_ALERT","CLASSNAME_FADE","CLASSNAME_SHOW","Alert","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","_removeElement","dispose","parent","classList","remove","contains","_destroyElement","removeChild","jQueryInterface","each","handleDismiss","alertInstance","getInstance","JQUERY_NO_CONFLICT","Constructor","noConflict","CLASS_NAME_ACTIVE","CLASS_NAME_BUTTON","CLASS_NAME_DISABLED","CLASS_NAME_FOCUS","SELECTOR_DATA_TOGGLE_CARROT","SELECTOR_DATA_TOGGLE","SELECTOR_INPUT","SELECTOR_ACTIVE","SELECTOR_BUTTON","EVENT_FOCUS_DATA_API","EVENT_BLUR_DATA_API","Button","toggle","triggerChangeEvent","addAriaPressed","input","checked","activeElement","focus","setAttribute","button","add","normalizeData","val","Number","normalizeDataKey","chr","Manipulator","setDataAttribute","removeDataAttribute","getDataAttributes","attributes","dataset","getDataAttribute","offset","rect","getBoundingClientRect","top","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft","toggleClass","className","ARROW_LEFT_KEYCODE","ARROW_RIGHT_KEYCODE","TOUCHEVENT_COMPAT_WAIT","SWIPE_THRESHOLD","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","DIRECTION_NEXT","DIRECTION_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","EVENT_DRAG_START","EVENT_LOAD_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_SLIDE","CLASS_NAME_RIGHT","CLASS_NAME_LEFT","CLASS_NAME_NEXT","CLASS_NAME_PREV","CLASS_NAME_POINTER_EVENT","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM","SELECTOR_ITEM_IMG","SELECTOR_NEXT_PREV","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","MSPointerEvent","_addEventListeners","_slide","nextWhenVisible","hidden","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","_handleSwipe","absDeltax","abs","_keydown","_addTouchEventListeners","start","pointerType","clientX","touches","move","end","clearTimeout","itemImg","tagName","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","from","_setActiveIndicatorElement","indicators","nextIndicator","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","slideEvent","nextElementInterval","parseInt","defaultInterval","carouselInterface","action","TypeError","ride","dataApiClickHandler","slideIndex","carousels","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_SHOW","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","WIDTH","HEIGHT","SELECTOR_ACTIVES","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","container","tempActiveData","startEvent","elemActive","collapseInterface","dimension","_getDimension","setTransitioning","complete","capitalizedDimension","scrollSize","triggerArrayLength","isTransitioning","hasWidth","jquery","selected","triggerArray","isOpen","triggerData","selectorElements","ESCAPE_KEYCODE","SPACE_KEYCODE","TAB_KEYCODE","ARROW_UP_KEYCODE","ARROW_DOWN_KEYCODE","RIGHT_MOUSE_BUTTON_WHICH","REGEXP_KEYDOWN","EVENT_CLICK","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","CLASS_NAME_DROPUP","CLASS_NAME_DROPRIGHT","CLASS_NAME_DROPLEFT","CLASS_NAME_MENURIGHT","CLASS_NAME_NAVBAR","CLASS_NAME_POSITION_STATIC","SELECTOR_FORM_CHILD","SELECTOR_MENU","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","PLACEMENT_TOP","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","flip","boundary","reference","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","clearMenus","getParentFromElement","showEvent","Popper","referenceElement","_getPopperConfig","hideEvent","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","parentDropdown","placement","_getOffset","offsets","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","dropdownInterface","toggles","context","clickEvent","dropdownMenu","dataApiKeydownHandler","items","backdrop","EVENT_HIDE_PREVENTED","EVENT_FOCUSIN","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_KEYDOWN_DISMISS","EVENT_MOUSEUP_DISMISS","EVENT_MOUSEDOWN_DISMISS","CLASS_NAME_SCROLLABLE","CLASS_NAME_SCROLLBAR_MEASURER","CLASS_NAME_BACKDROP","CLASS_NAME_OPEN","CLASS_NAME_FADE","CLASS_NAME_STATIC","SELECTOR_DIALOG","SELECTOR_MODAL_BODY","SELECTOR_DATA_DISMISS","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","handleUpdate","modalBody","appendChild","_enforceFocus","transitionComplete","_triggerBackdropTransition","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","animate","currentTarget","backdropTransitionDuration","callbackRemove","modalTransitionDuration","isModalOverflowing","scrollHeight","clientHeight","paddingLeft","paddingRight","right","innerWidth","_getScrollbarWidth","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","margin","scrollDiv","scrollbarWidth","width","clientWidth","uriAttrs","ARIA_ATTRIBUTE_PATTERN","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attr","allowedAttributeList","attrName","nodeName","nodeValue","regExp","attrRegex","DefaultWhitelist","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","sanitizeHtml","unsafeHtml","whiteList","sanitizeFn","domParser","DOMParser","createdDocument","parseFromString","whitelistKeys","elements","el","elName","attributeList","whitelistedAttributes","innerHTML","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","fallbackPlacement","sanitize","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","CLASS_NAME_MODAL","HOVER_STATE_SHOW","HOVER_STATE_OUT","SELECTOR_TOOLTIP_INNER","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","_addAttachmentClass","_getContainer","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","innerText","textContent","defaultBsConfig","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","triggers","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","tabClass","map","token","tClass","popperData","popperInstance","popper","initConfigAnimation","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","method","EVENT_ACTIVATE","EVENT_SCROLL","CLASS_NAME_DROPDOWN_ITEM","SELECTOR_DATA_SPY","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_DROPDOWN","SELECTOR_DROPDOWN_TOGGLE","METHOD_OFFSET","METHOD_POSITION","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targets","targetSelector","targetBCR","height","item","sort","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","offsetLength","isActiveTarget","queries","link","join","listGroup","navItem","node","spy","CLASS_NAME_DROPDOWN_MENU","SELECTOR_ACTIVE_UL","SELECTOR_DROPDOWN_ACTIVE_CHILD","Tab","listElement","itemSelector","activeElements","active","_transitionComplete","dropdownChild","dropdownElement","dropdown","CLASS_NAME_HIDE","CLASS_NAME_SHOWING","autohide","Toast"],"mappings":"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EACA;EACA;EACA;AACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,SAAS,GAAG;EAChB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,KAAK,EAAE;EACT;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,KAAK;EACb,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,MAAM,EAAE;EACV;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,MAAM;EACd;EACA;EACA;EACA,IAAI,MAAM,EAAE,CAAC;EACb,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,eAAe,EAAE;EACnB;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,eAAe;EACvB;EACA;EACA;EACA;EACA;EACA,IAAI,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC;EAChD;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,OAAO,EAAE,CAAC;EACd;EACA;EACA;EACA;EACA;EACA,IAAI,iBAAiB,EAAE,cAAc;EACrC,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,YAAY,EAAE;EAChB;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,YAAY;EACpB,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,KAAK,EAAE;EACT;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,KAAK;EACb;EACA,IAAI,OAAO,EAAE,WAAW;EACxB,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,IAAI,EAAE;EACR;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,IAAI;EACZ;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,QAAQ,EAAE,MAAM;EACpB;EACA;EACA;EACA;EACA,IAAI,OAAO,EAAE,CAAC;EACd;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,iBAAiB,EAAE,UAAU;EACjC;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,cAAc,EAAE,KAAK;EACzB;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,uBAAuB,EAAE,KAAK;EAClC,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,KAAK,EAAE;EACT;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,KAAK;EAClB;EACA,IAAI,EAAE,EAAE,KAAK;EACb,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,IAAI,EAAE;EACR;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,IAAI;EACZ,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,YAAY,EAAE;EAChB;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,YAAY;EACpB;EACA;EACA;EACA;EACA;EACA,IAAI,eAAe,EAAE,IAAI;EACzB;EACA;EACA;EACA;EACA;EACA,IAAI,CAAC,EAAE,QAAQ;EACf;EACA;EACA;EACA;EACA;EACA,IAAI,CAAC,EAAE,OAAO;EACd,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,UAAU,EAAE;EACd;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,UAAU;EAClB;EACA,IAAI,MAAM,EAAE,gBAAgB;EAC5B;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,eAAe,EAAE,SAAS;EAC9B,GAAG;EACH,CAAC,CAAC;AACF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,QAAQ,GAAG;EACf;EACA;EACA;EACA;EACA,EAAE,SAAS,EAAE,QAAQ;AACrB;EACA;EACA;EACA;EACA;EACA,EAAE,aAAa,EAAE,KAAK;AACtB;EACA;EACA;EACA;EACA;EACA,EAAE,aAAa,EAAE,IAAI;AACrB;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,eAAe,EAAE,KAAK;AACxB;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,QAAQ,EAAE,SAAS,QAAQ,GAAG,EAAE;AAClC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,QAAQ,EAAE,SAAS,QAAQ,GAAG,EAAE;AAClC;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,SAAS,EAAE,SAAS;EACtB,CAAC,CAAC;AACF;EACA;EACA;EACA;EACA;AACA;EACA;EACA;EACA;EACA;AACA;EACA;EACA;EACA,IAAI,MAAM,GAAG,YAAY;EACzB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,SAAS,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE;EACrC,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC;AACrB;EACA,IAAI,IAAI,OAAO,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;EACzF,IAAI,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACjC;EACA,IAAI,IAAI,CAAC,cAAc,GAAG,YAAY;EACtC,MAAM,OAAO,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;EACjD,KAAK,CAAC;AACN;EACA;EACA,IAAI,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACnD;EACA;EACA,IAAI,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC1D;EACA;EACA,IAAI,IAAI,CAAC,KAAK,GAAG;EACjB,MAAM,WAAW,EAAE,KAAK;EACxB,MAAM,SAAS,EAAE,KAAK;EACtB,MAAM,aAAa,EAAE,EAAE;EACvB,KAAK,CAAC;AACN;EACA;EACA,IAAI,IAAI,CAAC,SAAS,GAAG,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;EAC9E,IAAI,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;AAC/D;EACA;EACA,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,EAAE,CAAC;EAChC,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE;EACpG,MAAM,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;EAC5I,KAAK,CAAC,CAAC;AACP;EACA;EACA,IAAI,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE;EAC7E,MAAM,OAAO,QAAQ,CAAC;EACtB,QAAQ,IAAI,EAAE,IAAI;EAClB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;EACxC,KAAK,CAAC;EACN;EACA,KAAK,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE;EAC1B,MAAM,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;EAC/B,KAAK,CAAC,CAAC;AACP;EACA;EACA;EACA;EACA;EACA,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,eAAe,EAAE;EACtD,MAAM,IAAI,eAAe,CAAC,OAAO,IAAI,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE;EACzE,QAAQ,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;EAC3G,OAAO;EACP,KAAK,CAAC,CAAC;AACP;EACA;EACA,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;AAClB;EACA,IAAI,IAAI,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;EACnD,IAAI,IAAI,aAAa,EAAE;EACvB;EACA,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;EAClC,KAAK;AACL;EACA,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,aAAa,CAAC;EAC7C,GAAG;AACH;EACA;EACA;AACA;AACA;EACA,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC;EACvB,IAAI,GAAG,EAAE,QAAQ;EACjB,IAAI,KAAK,EAAE,SAAS,SAAS,GAAG;EAChC,MAAM,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EAC/B,KAAK;EACL,GAAG,EAAE;EACL,IAAI,GAAG,EAAE,SAAS;EAClB,IAAI,KAAK,EAAE,SAAS,UAAU,GAAG;EACjC,MAAM,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EAChC,KAAK;EACL,GAAG,EAAE;EACL,IAAI,GAAG,EAAE,sBAAsB;EAC/B,IAAI,KAAK,EAAE,SAAS,uBAAuB,GAAG;EAC9C,MAAM,OAAO,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EAC7C,KAAK;EACL,GAAG,EAAE;EACL,IAAI,GAAG,EAAE,uBAAuB;EAChC,IAAI,KAAK,EAAE,SAAS,wBAAwB,GAAG;EAC/C,MAAM,OAAO,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EAC9C,KAAK;AACL;EACA;EACA;EACA;EACA;EACA;AACA;AACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACA;EACA,GAAG,CAAC,CAAC,CAAC;EACN,EAAE,OAAO,MAAM,CAAC;EAChB,CAAC,EAAE,CAAC;AACJ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACA;AACA;EACA,MAAM,CAAC,KAAK,GAAG,CAAC,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,GAAG,MAAM,EAAE,WAAW,CAAC;EAC7E,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;EAC/B,MAAM,CAAC,QAAQ,GAAG,QAAQ;;EC/hF1B;;;;;;EAMA,IAAMkH,MAAI,GAAG,UAAb;EACA,IAAMC,SAAO,GAAG,OAAhB;EACA,IAAMC,UAAQ,GAAG,aAAjB;EACA,IAAMC,WAAS,SAAOD,UAAtB;EACA,IAAME,cAAY,GAAG,WAArB;EAEA,IAAMuP,cAAc,GAAG,EAAvB;;EACA,IAAMC,aAAa,GAAG,EAAtB;;EACA,IAAMC,WAAW,GAAG,CAApB;;EACA,IAAMC,gBAAgB,GAAG,EAAzB;;EACA,IAAMC,kBAAkB,GAAG,EAA3B;;EACA,IAAMC,wBAAwB,GAAG,CAAjC;;EAEA,IAAMC,cAAc,GAAG,IAAIzZ,MAAJ,CAAcsZ,gBAAd,SAAkCC,kBAAlC,SAAwDJ,cAAxD,CAAvB;EAEA,IAAM5C,YAAU,YAAU5M,WAA1B;EACA,IAAM6M,cAAY,cAAY7M,WAA9B;EACA,IAAM0M,YAAU,YAAU1M,WAA1B;EACA,IAAM2M,aAAW,aAAW3M,WAA5B;EACA,IAAM+P,WAAW,aAAW/P,WAA5B;EACA,IAAMK,sBAAoB,aAAWL,WAAX,GAAuBC,cAAjD;EACA,IAAM+P,sBAAsB,eAAahQ,WAAb,GAAyBC,cAArD;EACA,IAAMgQ,oBAAoB,aAAWjQ,WAAX,GAAuBC,cAAjD;EAEA,IAAMiC,qBAAmB,GAAG,UAA5B;EACA,IAAM4K,iBAAe,GAAG,MAAxB;EACA,IAAMoD,iBAAiB,GAAG,QAA1B;EACA,IAAMC,oBAAoB,GAAG,WAA7B;EACA,IAAMC,mBAAmB,GAAG,UAA5B;EACA,IAAMC,oBAAoB,GAAG,qBAA7B;EACA,IAAMC,iBAAiB,GAAG,QAA1B;EACA,IAAMC,0BAA0B,GAAG,iBAAnC;EAEA,IAAMlO,sBAAoB,GAAG,0BAA7B;EACA,IAAMmO,mBAAmB,GAAG,gBAA5B;EACA,IAAMC,aAAa,GAAG,gBAAtB;EACA,IAAMC,mBAAmB,GAAG,aAA5B;EACA,IAAMC,sBAAsB,GAAG,6DAA/B;EAEA,IAAMC,aAAa,GAAG,WAAtB;EACA,IAAMC,gBAAgB,GAAG,SAAzB;EACA,IAAMC,gBAAgB,GAAG,cAAzB;EACA,IAAMC,mBAAmB,GAAG,YAA5B;EACA,IAAMC,eAAe,GAAG,aAAxB;EACA,IAAMC,cAAc,GAAG,YAAvB;EAEA,IAAM/L,SAAO,GAAG;EACdhB,EAAAA,MAAM,EAAE,CADM;EAEdgN,EAAAA,IAAI,EAAE,IAFQ;EAGdC,EAAAA,QAAQ,EAAE,cAHI;EAIdC,EAAAA,SAAS,EAAE,QAJG;EAKdta,EAAAA,OAAO,EAAE,SALK;EAMdua,EAAAA,YAAY,EAAE;EANA,CAAhB;EASA,IAAM5L,aAAW,GAAG;EAClBvB,EAAAA,MAAM,EAAE,0BADU;EAElBgN,EAAAA,IAAI,EAAE,SAFY;EAGlBC,EAAAA,QAAQ,EAAE,kBAHQ;EAIlBC,EAAAA,SAAS,EAAE,kBAJO;EAKlBta,EAAAA,OAAO,EAAE,QALS;EAMlBua,EAAAA,YAAY,EAAE;EANI,CAApB;EASA;;;;;;MAMMC;EACJ,oBAAY3d,OAAZ,EAAqBiC,MAArB,EAA6B;EAC3B,SAAK8K,QAAL,GAAgB/M,OAAhB;EACA,SAAK4d,OAAL,GAAe,IAAf;EACA,SAAKnJ,OAAL,GAAe,KAAKC,UAAL,CAAgBzS,MAAhB,CAAf;EACA,SAAK4b,KAAL,GAAa,KAAKC,eAAL,EAAb;EACA,SAAKC,SAAL,GAAiB,KAAKC,aAAL,EAAjB;;EAEA,SAAK9I,kBAAL;;EACAvQ,IAAAA,IAAI,CAACC,OAAL,CAAa5E,OAAb,EAAsBoM,UAAtB,EAAgC,IAAhC;EACD;;;;;EAgBD;WAEA6C,SAAA,kBAAS;EACP,QAAI,KAAKlC,QAAL,CAAckR,QAAd,IAA0B,KAAKlR,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCa,qBAAjC,CAA9B,EAAqF;EACnF;EACD;;EAED,QAAM2P,QAAQ,GAAG,KAAKnR,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCyL,iBAAjC,CAAjB;;EAEAwE,IAAAA,QAAQ,CAACQ,UAAT;;EAEA,QAAID,QAAJ,EAAc;EACZ;EACD;;EAED,SAAK5D,IAAL;EACD;;WAEDA,OAAA,gBAAO;EACL,QAAI,KAAKvN,QAAL,CAAckR,QAAd,IAA0B,KAAKlR,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCa,qBAAjC,CAA1B,IAAmF,KAAKsP,KAAL,CAAWrQ,SAAX,CAAqBE,QAArB,CAA8ByL,iBAA9B,CAAvF,EAAuI;EACrI;EACD;;EAED,QAAM5L,MAAM,GAAGoQ,QAAQ,CAACS,oBAAT,CAA8B,KAAKrR,QAAnC,CAAf;EACA,QAAMuK,aAAa,GAAG;EACpBA,MAAAA,aAAa,EAAE,KAAKvK;EADA,KAAtB;EAIA,QAAMsR,SAAS,GAAGvW,YAAY,CAACsC,OAAb,CAAqB,KAAK2C,QAA1B,EAAoCgM,YAApC,EAAgDzB,aAAhD,CAAlB;;EAEA,QAAI+G,SAAS,CAAC1Y,gBAAd,EAAgC;EAC9B;EACD,KAdI;;;EAiBL,QAAI,CAAC,KAAKoY,SAAV,EAAqB;EACnB,UAAI,OAAOO,MAAP,KAAkB,WAAtB,EAAmC;EACjC,cAAM,IAAI5F,SAAJ,CAAc,kEAAd,CAAN;EACD;;EAED,UAAI6F,gBAAgB,GAAG,KAAKxR,QAA5B;;EAEA,UAAI,KAAK0H,OAAL,CAAagJ,SAAb,KAA2B,QAA/B,EAAyC;EACvCc,QAAAA,gBAAgB,GAAGhR,MAAnB;EACD,OAFD,MAEO,IAAInM,SAAS,CAAC,KAAKqT,OAAL,CAAagJ,SAAd,CAAb,EAAuC;EAC5Cc,QAAAA,gBAAgB,GAAG,KAAK9J,OAAL,CAAagJ,SAAhC,CAD4C;;EAI5C,YAAI,OAAO,KAAKhJ,OAAL,CAAagJ,SAAb,CAAuBlC,MAA9B,KAAyC,WAA7C,EAA0D;EACxDgD,UAAAA,gBAAgB,GAAG,KAAK9J,OAAL,CAAagJ,SAAb,CAAuB,CAAvB,CAAnB;EACD;EACF,OAhBkB;EAmBnB;EACA;;;EACA,UAAI,KAAKhJ,OAAL,CAAa+I,QAAb,KAA0B,cAA9B,EAA8C;EAC5CjQ,QAAAA,MAAM,CAACC,SAAP,CAAiBkC,GAAjB,CAAqBkN,0BAArB;EACD;;EAED,WAAKgB,OAAL,GAAe,IAAIU,MAAJ,CAAWC,gBAAX,EAA6B,KAAKV,KAAlC,EAAyC,KAAKW,gBAAL,EAAzC,CAAf;EACD,KA3CI;EA8CL;EACA;EACA;;;EACA,QAAI,kBAAkB3e,QAAQ,CAACyD,eAA3B,IACF,CAAC2H,cAAc,CAACW,OAAf,CAAuB2B,MAAvB,EAA+BwP,mBAA/B,CADH,EACwD;EAAA;;EACtD,kBAAG7R,MAAH,aAAarL,QAAQ,CAACmE,IAAT,CAAcoH,QAA3B,EACG/I,OADH,CACW,UAAAyX,IAAI;EAAA,eAAIhS,YAAY,CAAC8B,EAAb,CAAgBkQ,IAAhB,EAAsB,WAAtB,EAAmC,IAAnC,EAAyCnW,IAAI,EAA7C,CAAJ;EAAA,OADf;EAED;;EAED,SAAKoJ,QAAL,CAAcwC,KAAd;;EACA,SAAKxC,QAAL,CAAcyC,YAAd,CAA2B,eAA3B,EAA4C,IAA5C;;EAEAQ,IAAAA,WAAW,CAACiB,WAAZ,CAAwB,KAAK4M,KAA7B,EAAoC1E,iBAApC;EACAnJ,IAAAA,WAAW,CAACiB,WAAZ,CAAwB,KAAKlE,QAA7B,EAAuCoM,iBAAvC;EACArR,IAAAA,YAAY,CAACsC,OAAb,CAAqBmD,MAArB,EAA6ByL,aAA7B,EAA0C1B,aAA1C;EACD;;WAED+C,OAAA,gBAAO;EACL,QAAI,KAAKtN,QAAL,CAAckR,QAAd,IAA0B,KAAKlR,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCa,qBAAjC,CAA1B,IAAmF,CAAC,KAAKsP,KAAL,CAAWrQ,SAAX,CAAqBE,QAArB,CAA8ByL,iBAA9B,CAAxF,EAAwI;EACtI;EACD;;EAED,QAAM5L,MAAM,GAAGoQ,QAAQ,CAACS,oBAAT,CAA8B,KAAKrR,QAAnC,CAAf;EACA,QAAMuK,aAAa,GAAG;EACpBA,MAAAA,aAAa,EAAE,KAAKvK;EADA,KAAtB;EAIA,QAAM0R,SAAS,GAAG3W,YAAY,CAACsC,OAAb,CAAqBmD,MAArB,EAA6B0L,YAA7B,EAAyC3B,aAAzC,CAAlB;;EAEA,QAAImH,SAAS,CAAC9Y,gBAAd,EAAgC;EAC9B;EACD;;EAED,QAAI,KAAKiY,OAAT,EAAkB;EAChB,WAAKA,OAAL,CAAac,OAAb;EACD;;EAED1O,IAAAA,WAAW,CAACiB,WAAZ,CAAwB,KAAK4M,KAA7B,EAAoC1E,iBAApC;EACAnJ,IAAAA,WAAW,CAACiB,WAAZ,CAAwB,KAAKlE,QAA7B,EAAuCoM,iBAAvC;EACArR,IAAAA,YAAY,CAACsC,OAAb,CAAqBmD,MAArB,EAA6B2L,cAA7B,EAA2C5B,aAA3C;EACD;;WAEDhK,UAAA,mBAAU;EACR3I,IAAAA,IAAI,CAACI,UAAL,CAAgB,KAAKgI,QAArB,EAA+BX,UAA/B;EACAtE,IAAAA,YAAY,CAACC,GAAb,CAAiB,KAAKgF,QAAtB,EAAgCV,WAAhC;EACA,SAAKU,QAAL,GAAgB,IAAhB;EACA,SAAK8Q,KAAL,GAAa,IAAb;;EACA,QAAI,KAAKD,OAAT,EAAkB;EAChB,WAAKA,OAAL,CAAac,OAAb;;EACA,WAAKd,OAAL,GAAe,IAAf;EACD;EACF;;WAEDe,SAAA,kBAAS;EACP,SAAKZ,SAAL,GAAiB,KAAKC,aAAL,EAAjB;;EACA,QAAI,KAAKJ,OAAT,EAAkB;EAChB,WAAKA,OAAL,CAAagB,cAAb;EACD;EACF;;;WAID1J,qBAAA,8BAAqB;EAAA;;EACnBpN,IAAAA,YAAY,CAAC8B,EAAb,CAAgB,KAAKmD,QAArB,EAA+BqP,WAA/B,EAA4C,UAAAhV,KAAK,EAAI;EACnDA,MAAAA,KAAK,CAAC1B,cAAN;EACA0B,MAAAA,KAAK,CAACyX,eAAN;;EACA,MAAA,KAAI,CAAC5P,MAAL;EACD,KAJD;EAKD;;WAEDyF,aAAA,oBAAWzS,MAAX,EAAmB;EACjBA,IAAAA,MAAM,sBACD,KAAK6c,WAAL,CAAiBvN,OADhB,MAEDvB,WAAW,CAACG,iBAAZ,CAA8B,KAAKpD,QAAnC,CAFC,MAGD9K,MAHC,CAAN;EAMAF,IAAAA,eAAe,CACbmK,MADa,EAEbjK,MAFa,EAGb,KAAK6c,WAAL,CAAiBhN,WAHJ,CAAf;EAMA,WAAO7P,MAAP;EACD;;WAED6b,kBAAA,2BAAkB;EAChB,WAAO7S,cAAc,CAACe,IAAf,CAAoB,KAAKe,QAAzB,EAAmC+P,aAAnC,EAAkD,CAAlD,CAAP;EACD;;WAEDiC,gBAAA,yBAAgB;EACd,QAAMC,cAAc,GAAG,KAAKjS,QAAL,CAAc/J,UAArC;EACA,QAAIic,SAAS,GAAG9B,gBAAhB,CAFc;;EAKd,QAAI6B,cAAc,CAACxR,SAAf,CAAyBE,QAAzB,CAAkC6O,iBAAlC,CAAJ,EAA0D;EACxD0C,MAAAA,SAAS,GAAGhC,aAAZ;;EACA,UAAI,KAAKY,KAAL,CAAWrQ,SAAX,CAAqBE,QAArB,CAA8BgP,oBAA9B,CAAJ,EAAyD;EACvDuC,QAAAA,SAAS,GAAG/B,gBAAZ;EACD;EACF,KALD,MAKO,IAAI8B,cAAc,CAACxR,SAAf,CAAyBE,QAAzB,CAAkC8O,oBAAlC,CAAJ,EAA6D;EAClEyC,MAAAA,SAAS,GAAG5B,eAAZ;EACD,KAFM,MAEA,IAAI2B,cAAc,CAACxR,SAAf,CAAyBE,QAAzB,CAAkC+O,mBAAlC,CAAJ,EAA4D;EACjEwC,MAAAA,SAAS,GAAG3B,cAAZ;EACD,KAFM,MAEA,IAAI,KAAKO,KAAL,CAAWrQ,SAAX,CAAqBE,QAArB,CAA8BgP,oBAA9B,CAAJ,EAAyD;EAC9DuC,MAAAA,SAAS,GAAG7B,mBAAZ;EACD;;EAED,WAAO6B,SAAP;EACD;;WAEDjB,gBAAA,yBAAgB;EACd,WAAOhY,OAAO,CAACiF,cAAc,CAACW,OAAf,CAAuB,KAAKmB,QAA5B,QAA0C4P,iBAA1C,CAAD,CAAd;EACD;;WAEDuC,aAAA,sBAAa;EAAA;;EACX,QAAM3O,MAAM,GAAG,EAAf;;EAEA,QAAI,OAAO,KAAKkE,OAAL,CAAalE,MAApB,KAA+B,UAAnC,EAA+C;EAC7CA,MAAAA,MAAM,CAAC5I,EAAP,GAAY,UAAApD,IAAI,EAAI;EAClBA,QAAAA,IAAI,CAAC4a,OAAL,sBACK5a,IAAI,CAAC4a,OADV,MAEK,MAAI,CAAC1K,OAAL,CAAalE,MAAb,CAAoBhM,IAAI,CAAC4a,OAAzB,EAAkC,MAAI,CAACpS,QAAvC,KAAoD,EAFzD;EAKA,eAAOxI,IAAP;EACD,OAPD;EAQD,KATD,MASO;EACLgM,MAAAA,MAAM,CAACA,MAAP,GAAgB,KAAKkE,OAAL,CAAalE,MAA7B;EACD;;EAED,WAAOA,MAAP;EACD;;WAEDiO,mBAAA,4BAAmB;EACjB,QAAMd,YAAY,GAAG;EACnBuB,MAAAA,SAAS,EAAE,KAAKF,aAAL,EADQ;EAEnBK,MAAAA,SAAS,EAAE;EACT7O,QAAAA,MAAM,EAAE,KAAK2O,UAAL,EADC;EAET3B,QAAAA,IAAI,EAAE;EACJ8B,UAAAA,OAAO,EAAE,KAAK5K,OAAL,CAAa8I;EADlB,SAFG;EAKT+B,QAAAA,eAAe,EAAE;EACfC,UAAAA,iBAAiB,EAAE,KAAK9K,OAAL,CAAa+I;EADjB;EALR;EAFQ,KAArB,CADiB;;EAejB,QAAI,KAAK/I,OAAL,CAAatR,OAAb,KAAyB,QAA7B,EAAuC;EACrCua,MAAAA,YAAY,CAAC0B,SAAb,CAAuBI,UAAvB,GAAoC;EAClCH,QAAAA,OAAO,EAAE;EADyB,OAApC;EAGD;;EAED,8BACK3B,YADL,MAEK,KAAKjJ,OAAL,CAAaiJ,YAFlB;EAID;;;aAIM+B,oBAAP,2BAAyBzf,OAAzB,EAAkCiC,MAAlC,EAA0C;EACxC,QAAIsC,IAAI,GAAGI,IAAI,CAACG,OAAL,CAAa9E,OAAb,EAAsBoM,UAAtB,CAAX;;EACA,QAAMqI,OAAO,GAAG,OAAOxS,MAAP,KAAkB,QAAlB,GAA6BA,MAA7B,GAAsC,IAAtD;;EAEA,QAAI,CAACsC,IAAL,EAAW;EACTA,MAAAA,IAAI,GAAG,IAAIoZ,QAAJ,CAAa3d,OAAb,EAAsByU,OAAtB,CAAP;EACD;;EAED,QAAI,OAAOxS,MAAP,KAAkB,QAAtB,EAAgC;EAC9B,UAAI,OAAOsC,IAAI,CAACtC,MAAD,CAAX,KAAwB,WAA5B,EAAyC;EACvC,cAAM,IAAIyW,SAAJ,wBAAkCzW,MAAlC,QAAN;EACD;;EAEDsC,MAAAA,IAAI,CAACtC,MAAD,CAAJ;EACD;EACF;;aAEM4L,kBAAP,yBAAuB5L,MAAvB,EAA+B;EAC7B,WAAO,KAAK6L,IAAL,CAAU,YAAY;EAC3B6P,MAAAA,QAAQ,CAAC8B,iBAAT,CAA2B,IAA3B,EAAiCxd,MAAjC;EACD,KAFM,CAAP;EAGD;;aAEMkc,aAAP,oBAAkB/W,KAAlB,EAAyB;EACvB,QAAIA,KAAK,KAAKA,KAAK,CAACC,KAAN,KAAgB6U,wBAAhB,IACX9U,KAAK,CAACE,IAAN,KAAe,OAAf,IAA0BF,KAAK,CAACC,KAAN,KAAgB0U,WADpC,CAAT,EAC4D;EAC1D;EACD;;EAED,QAAM2D,OAAO,GAAGzU,cAAc,CAACjG,IAAf,CAAoB0J,sBAApB,CAAhB;;EAEA,SAAK,IAAItG,CAAC,GAAG,CAAR,EAAWM,GAAG,GAAGgX,OAAO,CAACrX,MAA9B,EAAsCD,CAAC,GAAGM,GAA1C,EAA+CN,CAAC,EAAhD,EAAoD;EAClD,UAAMmF,MAAM,GAAGoQ,QAAQ,CAACS,oBAAT,CAA8BsB,OAAO,CAACtX,CAAD,CAArC,CAAf;EACA,UAAMuX,OAAO,GAAGhb,IAAI,CAACG,OAAL,CAAa4a,OAAO,CAACtX,CAAD,CAApB,EAAyBgE,UAAzB,CAAhB;EACA,UAAMkL,aAAa,GAAG;EACpBA,QAAAA,aAAa,EAAEoI,OAAO,CAACtX,CAAD;EADF,OAAtB;;EAIA,UAAIhB,KAAK,IAAIA,KAAK,CAACE,IAAN,KAAe,OAA5B,EAAqC;EACnCgQ,QAAAA,aAAa,CAACsI,UAAd,GAA2BxY,KAA3B;EACD;;EAED,UAAI,CAACuY,OAAL,EAAc;EACZ;EACD;;EAED,UAAME,YAAY,GAAGF,OAAO,CAAC9B,KAA7B;;EACA,UAAI,CAAC6B,OAAO,CAACtX,CAAD,CAAP,CAAWoF,SAAX,CAAqBE,QAArB,CAA8ByL,iBAA9B,CAAL,EAAqD;EACnD;EACD;;EAED,UAAI/R,KAAK,KAAMA,KAAK,CAACE,IAAN,KAAe,OAAf,IACX,kBAAkB3E,IAAlB,CAAuByE,KAAK,CAACe,MAAN,CAAa0O,OAApC,CADU,IAETzP,KAAK,CAACE,IAAN,KAAe,OAAf,IAA0BF,KAAK,CAACC,KAAN,KAAgB0U,WAFtC,CAAL,IAGA8D,YAAY,CAACnS,QAAb,CAAsBtG,KAAK,CAACe,MAA5B,CAHJ,EAGyC;EACvC;EACD;;EAED,UAAMsW,SAAS,GAAG3W,YAAY,CAACsC,OAAb,CAAqBmD,MAArB,EAA6B0L,YAA7B,EAAyC3B,aAAzC,CAAlB;;EACA,UAAImH,SAAS,CAAC9Y,gBAAd,EAAgC;EAC9B;EACD,OA9BiD;EAiClD;;;EACA,UAAI,kBAAkB9F,QAAQ,CAACyD,eAA/B,EAAgD;EAAA;;EAC9C,qBAAG4H,MAAH,cAAarL,QAAQ,CAACmE,IAAT,CAAcoH,QAA3B,EACG/I,OADH,CACW,UAAAyX,IAAI;EAAA,iBAAIhS,YAAY,CAACC,GAAb,CAAiB+R,IAAjB,EAAuB,WAAvB,EAAoC,IAApC,EAA0CnW,IAAI,EAA9C,CAAJ;EAAA,SADf;EAED;;EAED+b,MAAAA,OAAO,CAACtX,CAAD,CAAP,CAAWoH,YAAX,CAAwB,eAAxB,EAAyC,OAAzC;;EAEA,UAAImQ,OAAO,CAAC/B,OAAZ,EAAqB;EACnB+B,QAAAA,OAAO,CAAC/B,OAAR,CAAgBc,OAAhB;EACD;;EAEDmB,MAAAA,YAAY,CAACrS,SAAb,CAAuBC,MAAvB,CAA8B0L,iBAA9B;EACAuG,MAAAA,OAAO,CAACtX,CAAD,CAAP,CAAWoF,SAAX,CAAqBC,MAArB,CAA4B0L,iBAA5B;EACArR,MAAAA,YAAY,CAACsC,OAAb,CAAqBmD,MAArB,EAA6B2L,cAA7B,EAA2C5B,aAA3C;EACD;EACF;;aAEM8G,uBAAP,8BAA4Bpe,OAA5B,EAAqC;EACnC,WAAOO,sBAAsB,CAACP,OAAD,CAAtB,IAAmCA,OAAO,CAACgD,UAAlD;EACD;;aAEM8c,wBAAP,+BAA6B1Y,KAA7B,EAAoC;EAClC;EACA;EACA;EACA;EACA;EACA;EACA;EACA,QAAI,kBAAkBzE,IAAlB,CAAuByE,KAAK,CAACe,MAAN,CAAa0O,OAApC,IACFzP,KAAK,CAACC,KAAN,KAAgByU,aAAhB,IAAkC1U,KAAK,CAACC,KAAN,KAAgBwU,cAAhB,KAChCzU,KAAK,CAACC,KAAN,KAAgB4U,kBAAhB,IAAsC7U,KAAK,CAACC,KAAN,KAAgB2U,gBAAvD,IACC/Q,cAAc,CAACW,OAAf,CAAuBxE,KAAK,CAACe,MAA7B,EAAqC2U,aAArC,CAFgC,CADhC,GAIF,CAACX,cAAc,CAACxZ,IAAf,CAAoByE,KAAK,CAACC,KAA1B,CAJH,EAIqC;EACnC;EACD;;EAEDD,IAAAA,KAAK,CAAC1B,cAAN;EACA0B,IAAAA,KAAK,CAACyX,eAAN;;EAEA,QAAI,KAAKZ,QAAL,IAAiB,KAAKzQ,SAAL,CAAeE,QAAf,CAAwBa,qBAAxB,CAArB,EAAmE;EACjE;EACD;;EAED,QAAMhB,MAAM,GAAGoQ,QAAQ,CAACS,oBAAT,CAA8B,IAA9B,CAAf;EACA,QAAMF,QAAQ,GAAG,KAAK1Q,SAAL,CAAeE,QAAf,CAAwByL,iBAAxB,CAAjB;;EAEA,QAAI/R,KAAK,CAACC,KAAN,KAAgBwU,cAApB,EAAoC;EAClC,UAAMpM,MAAM,GAAG,KAAKrJ,OAAL,CAAasI,sBAAb,IAAqC,IAArC,GAA4CzD,cAAc,CAACY,IAAf,CAAoB,IAApB,EAA0B6C,sBAA1B,EAAgD,CAAhD,CAA3D;EACAe,MAAAA,MAAM,CAACF,KAAP;EACAoO,MAAAA,QAAQ,CAACQ,UAAT;EACA;EACD;;EAED,QAAI,CAACD,QAAD,IAAa9W,KAAK,CAACC,KAAN,KAAgByU,aAAjC,EAAgD;EAC9C6B,MAAAA,QAAQ,CAACQ,UAAT;EACA;EACD;;EAED,QAAM4B,KAAK,GAAG9U,cAAc,CAACjG,IAAf,CAAoBgY,sBAApB,EAA4CzP,MAA5C,EACXlC,MADW,CACJvI,SADI,CAAd;;EAGA,QAAI,CAACid,KAAK,CAAC1X,MAAX,EAAmB;EACjB;EACD;;EAED,QAAIuN,KAAK,GAAGmK,KAAK,CAAC5W,OAAN,CAAc/B,KAAK,CAACe,MAApB,KAA+B,CAA3C;;EAEA,QAAIf,KAAK,CAACC,KAAN,KAAgB2U,gBAAhB,IAAoCpG,KAAK,GAAG,CAAhD,EAAmD;EAAE;EACnDA,MAAAA,KAAK;EACN;;EAED,QAAIxO,KAAK,CAACC,KAAN,KAAgB4U,kBAAhB,IAAsCrG,KAAK,GAAGmK,KAAK,CAAC1X,MAAN,GAAe,CAAjE,EAAoE;EAAE;EACpEuN,MAAAA,KAAK;EACN;;EAEDmK,IAAAA,KAAK,CAACnK,KAAD,CAAL,CAAarG,KAAb;EACD;;aAEMtB,cAAP,qBAAmBjO,OAAnB,EAA4B;EAC1B,WAAO2E,IAAI,CAACG,OAAL,CAAa9E,OAAb,EAAsBoM,UAAtB,CAAP;EACD;;;;0BAjYoB;EACnB,aAAOD,SAAP;EACD;;;0BAEoB;EACnB,aAAOoF,SAAP;EACD;;;0BAEwB;EACvB,aAAOO,aAAP;EACD;;;;;EA0XH;;;;;;;EAMAhK,YAAY,CAAC8B,EAAb,CAAgB/J,QAAhB,EAA0Bwc,sBAA1B,EAAkD3N,sBAAlD,EAAwEiP,QAAQ,CAACmC,qBAAjF;EACAhY,YAAY,CAAC8B,EAAb,CAAgB/J,QAAhB,EAA0Bwc,sBAA1B,EAAkDS,aAAlD,EAAiEa,QAAQ,CAACmC,qBAA1E;EACAhY,YAAY,CAAC8B,EAAb,CAAgB/J,QAAhB,EAA0B6M,sBAA1B,EAAgDiR,QAAQ,CAACQ,UAAzD;EACArW,YAAY,CAAC8B,EAAb,CAAgB/J,QAAhB,EAA0Byc,oBAA1B,EAAgDqB,QAAQ,CAACQ,UAAzD;EACArW,YAAY,CAAC8B,EAAb,CAAgB/J,QAAhB,EAA0B6M,sBAA1B,EAAgDgC,sBAAhD,EAAsE,UAAUtH,KAAV,EAAiB;EACrFA,EAAAA,KAAK,CAAC1B,cAAN;EACA0B,EAAAA,KAAK,CAACyX,eAAN;EACAlB,EAAAA,QAAQ,CAAC8B,iBAAT,CAA2B,IAA3B,EAAiC,QAAjC;EACD,CAJD;EAKA3X,YAAY,CACT8B,EADH,CACM/J,QADN,EACgB6M,sBADhB,EACsCmQ,mBADtC,EAC2D,UAAAvX,CAAC;EAAA,SAAIA,CAAC,CAACuZ,eAAF,EAAJ;EAAA,CAD5D;EAGA,IAAMxY,GAAC,GAAGvC,SAAS,EAAnB;EAEA;;;;;;;EAMA;;EACA,IAAIuC,GAAJ,EAAO;EACL,MAAM6H,oBAAkB,GAAG7H,GAAC,CAACsB,EAAF,CAAKuE,MAAL,CAA3B;EACA7F,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,IAAayR,QAAQ,CAAC9P,eAAtB;EACAxH,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,EAAWiC,WAAX,GAAyBwP,QAAzB;;EACAtX,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,EAAWkC,UAAX,GAAwB,YAAM;EAC5B/H,IAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,IAAagC,oBAAb;EACA,WAAOyP,QAAQ,CAAC9P,eAAhB;EACD,GAHD;EAID;;EChgBD;;;;;;EAMA,IAAM3B,MAAI,GAAG,OAAb;EACA,IAAMC,SAAO,GAAG,OAAhB;EACA,IAAMC,UAAQ,GAAG,UAAjB;EACA,IAAMC,WAAS,SAAOD,UAAtB;EACA,IAAME,cAAY,GAAG,WAArB;EACA,IAAMuP,gBAAc,GAAG,EAAvB;;EAEA,IAAMtK,SAAO,GAAG;EACdyO,EAAAA,QAAQ,EAAE,IADI;EAEdvO,EAAAA,QAAQ,EAAE,IAFI;EAGdlC,EAAAA,KAAK,EAAE,IAHO;EAId+K,EAAAA,IAAI,EAAE;EAJQ,CAAhB;EAOA,IAAMxI,aAAW,GAAG;EAClBkO,EAAAA,QAAQ,EAAE,kBADQ;EAElBvO,EAAAA,QAAQ,EAAE,SAFQ;EAGlBlC,EAAAA,KAAK,EAAE,SAHW;EAIlB+K,EAAAA,IAAI,EAAE;EAJY,CAApB;EAOA,IAAMrB,YAAU,YAAU5M,WAA1B;EACA,IAAM4T,oBAAoB,qBAAmB5T,WAA7C;EACA,IAAM6M,cAAY,cAAY7M,WAA9B;EACA,IAAM0M,YAAU,YAAU1M,WAA1B;EACA,IAAM2M,aAAW,aAAW3M,WAA5B;EACA,IAAM6T,aAAa,eAAa7T,WAAhC;EACA,IAAM8T,YAAY,cAAY9T,WAA9B;EACA,IAAM+T,mBAAmB,qBAAmB/T,WAA5C;EACA,IAAMgU,qBAAqB,uBAAqBhU,WAAhD;EACA,IAAMiU,qBAAqB,uBAAqBjU,WAAhD;EACA,IAAMkU,uBAAuB,yBAAuBlU,WAApD;EACA,IAAMK,sBAAoB,aAAWL,WAAX,GAAuBC,cAAjD;EAEA,IAAMkU,qBAAqB,GAAG,yBAA9B;EACA,IAAMC,6BAA6B,GAAG,yBAAtC;EACA,IAAMC,mBAAmB,GAAG,gBAA5B;EACA,IAAMC,eAAe,GAAG,YAAxB;EACA,IAAMC,eAAe,GAAG,MAAxB;EACA,IAAMzH,iBAAe,GAAG,MAAxB;EACA,IAAM0H,iBAAiB,GAAG,cAA1B;EAEA,IAAMC,eAAe,GAAG,eAAxB;EACA,IAAMC,mBAAmB,GAAG,aAA5B;EACA,IAAMrS,sBAAoB,GAAG,uBAA7B;EACA,IAAMsS,qBAAqB,GAAG,wBAA9B;EACA,IAAMC,sBAAsB,GAAG,mDAA/B;EACA,IAAMC,uBAAuB,GAAG,aAAhC;EAEA;;;;;;MAMMC;EACJ,iBAAYnhB,OAAZ,EAAqBiC,MAArB,EAA6B;EAC3B,SAAKwS,OAAL,GAAe,KAAKC,UAAL,CAAgBzS,MAAhB,CAAf;EACA,SAAK8K,QAAL,GAAgB/M,OAAhB;EACA,SAAKohB,OAAL,GAAenW,cAAc,CAAC7F,OAAf,CAAuB0b,eAAvB,EAAwC9gB,OAAxC,CAAf;EACA,SAAKqhB,SAAL,GAAiB,IAAjB;EACA,SAAKC,QAAL,GAAgB,KAAhB;EACA,SAAKC,kBAAL,GAA0B,KAA1B;EACA,SAAKC,oBAAL,GAA4B,KAA5B;EACA,SAAK7H,gBAAL,GAAwB,KAAxB;EACA,SAAK8H,eAAL,GAAuB,CAAvB;EACA9c,IAAAA,IAAI,CAACC,OAAL,CAAa5E,OAAb,EAAsBoM,UAAtB,EAAgC,IAAhC;EACD;;;;;EAYD;WAEA6C,SAAA,gBAAOqI,aAAP,EAAsB;EACpB,WAAO,KAAKgK,QAAL,GAAgB,KAAKjH,IAAL,EAAhB,GAA8B,KAAKC,IAAL,CAAUhD,aAAV,CAArC;EACD;;WAEDgD,OAAA,cAAKhD,aAAL,EAAoB;EAAA;;EAClB,QAAI,KAAKgK,QAAL,IAAiB,KAAK3H,gBAA1B,EAA4C;EAC1C;EACD;;EAED,QAAI,KAAK5M,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCkT,eAAjC,CAAJ,EAAuD;EACrD,WAAKjH,gBAAL,GAAwB,IAAxB;EACD;;EAED,QAAM0E,SAAS,GAAGvW,YAAY,CAACsC,OAAb,CAAqB,KAAK2C,QAA1B,EAAoCgM,YAApC,EAAgD;EAChEzB,MAAAA,aAAa,EAAbA;EADgE,KAAhD,CAAlB;;EAIA,QAAI,KAAKgK,QAAL,IAAiBjD,SAAS,CAAC1Y,gBAA/B,EAAiD;EAC/C;EACD;;EAED,SAAK2b,QAAL,GAAgB,IAAhB;;EAEA,SAAKI,eAAL;;EACA,SAAKC,aAAL;;EAEA,SAAKC,aAAL;;EAEA,SAAKC,eAAL;;EACA,SAAKC,eAAL;;EAEAha,IAAAA,YAAY,CAAC8B,EAAb,CAAgB,KAAKmD,QAArB,EACEqT,mBADF,EAEEY,qBAFF,EAGE,UAAA5Z,KAAK;EAAA,aAAI,KAAI,CAACiT,IAAL,CAAUjT,KAAV,CAAJ;EAAA,KAHP;EAMAU,IAAAA,YAAY,CAAC8B,EAAb,CAAgB,KAAKwX,OAArB,EAA8Bb,uBAA9B,EAAuD,YAAM;EAC3DzY,MAAAA,YAAY,CAAC+B,GAAb,CAAiB,KAAI,CAACkD,QAAtB,EAAgCuT,qBAAhC,EAAuD,UAAAlZ,KAAK,EAAI;EAC9D,YAAIA,KAAK,CAACe,MAAN,KAAiB,KAAI,CAAC4E,QAA1B,EAAoC;EAClC,UAAA,KAAI,CAACyU,oBAAL,GAA4B,IAA5B;EACD;EACF,OAJD;EAKD,KAND;;EAQA,SAAKO,aAAL,CAAmB;EAAA,aAAM,KAAI,CAACC,YAAL,CAAkB1K,aAAlB,CAAN;EAAA,KAAnB;EACD;;WAED+C,OAAA,cAAKjT,KAAL,EAAY;EAAA;;EACV,QAAIA,KAAJ,EAAW;EACTA,MAAAA,KAAK,CAAC1B,cAAN;EACD;;EAED,QAAI,CAAC,KAAK4b,QAAN,IAAkB,KAAK3H,gBAA3B,EAA6C;EAC3C;EACD;;EAED,QAAM8E,SAAS,GAAG3W,YAAY,CAACsC,OAAb,CAAqB,KAAK2C,QAA1B,EAAoCkM,YAApC,CAAlB;;EAEA,QAAIwF,SAAS,CAAC9Y,gBAAd,EAAgC;EAC9B;EACD;;EAED,SAAK2b,QAAL,GAAgB,KAAhB;;EACA,QAAMW,UAAU,GAAG,KAAKlV,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCkT,eAAjC,CAAnB;;EAEA,QAAIqB,UAAJ,EAAgB;EACd,WAAKtI,gBAAL,GAAwB,IAAxB;EACD;;EAED,SAAKkI,eAAL;;EACA,SAAKC,eAAL;;EAEAha,IAAAA,YAAY,CAACC,GAAb,CAAiBlI,QAAjB,EAA2BqgB,aAA3B;;EAEA,SAAKnT,QAAL,CAAcS,SAAd,CAAwBC,MAAxB,CAA+B0L,iBAA/B;;EAEArR,IAAAA,YAAY,CAACC,GAAb,CAAiB,KAAKgF,QAAtB,EAAgCqT,mBAAhC;EACAtY,IAAAA,YAAY,CAACC,GAAb,CAAiB,KAAKqZ,OAAtB,EAA+Bb,uBAA/B;;EAEA,QAAI0B,UAAJ,EAAgB;EACd,UAAMthB,kBAAkB,GAAGH,gCAAgC,CAAC,KAAKuM,QAAN,CAA3D;EAEAjF,MAAAA,YAAY,CAAC+B,GAAb,CAAiB,KAAKkD,QAAtB,EAAgC9N,cAAhC,EAAgD,UAAAmI,KAAK;EAAA,eAAI,MAAI,CAAC8a,UAAL,CAAgB9a,KAAhB,CAAJ;EAAA,OAArD;EACA9F,MAAAA,oBAAoB,CAAC,KAAKyL,QAAN,EAAgBpM,kBAAhB,CAApB;EACD,KALD,MAKO;EACL,WAAKuhB,UAAL;EACD;EACF;;WAED5U,UAAA,mBAAU;EACR,KAAC7M,MAAD,EAAS,KAAKsM,QAAd,EAAwB,KAAKqU,OAA7B,EACG/e,OADH,CACW,UAAA8f,WAAW;EAAA,aAAIra,YAAY,CAACC,GAAb,CAAiBoa,WAAjB,EAA8B9V,WAA9B,CAAJ;EAAA,KADtB;EAGA;;;;;;EAKAvE,IAAAA,YAAY,CAACC,GAAb,CAAiBlI,QAAjB,EAA2BqgB,aAA3B;EAEAvb,IAAAA,IAAI,CAACI,UAAL,CAAgB,KAAKgI,QAArB,EAA+BX,UAA/B;EAEA,SAAKqI,OAAL,GAAe,IAAf;EACA,SAAK1H,QAAL,GAAgB,IAAhB;EACA,SAAKqU,OAAL,GAAe,IAAf;EACA,SAAKC,SAAL,GAAiB,IAAjB;EACA,SAAKC,QAAL,GAAgB,IAAhB;EACA,SAAKC,kBAAL,GAA0B,IAA1B;EACA,SAAKC,oBAAL,GAA4B,IAA5B;EACA,SAAK7H,gBAAL,GAAwB,IAAxB;EACA,SAAK8H,eAAL,GAAuB,IAAvB;EACD;;WAEDW,eAAA,wBAAe;EACb,SAAKR,aAAL;EACD;;;WAIDlN,aAAA,oBAAWzS,MAAX,EAAmB;EACjBA,IAAAA,MAAM,sBACDsP,SADC,MAEDtP,MAFC,CAAN;EAIAF,IAAAA,eAAe,CAACmK,MAAD,EAAOjK,MAAP,EAAe6P,aAAf,CAAf;EACA,WAAO7P,MAAP;EACD;;WAED+f,eAAA,sBAAa1K,aAAb,EAA4B;EAAA;;EAC1B,QAAM2K,UAAU,GAAG,KAAKlV,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCkT,eAAjC,CAAnB;;EACA,QAAMyB,SAAS,GAAGpX,cAAc,CAAC7F,OAAf,CAAuB2b,mBAAvB,EAA4C,KAAKK,OAAjD,CAAlB;;EAEA,QAAI,CAAC,KAAKrU,QAAL,CAAc/J,UAAf,IACA,KAAK+J,QAAL,CAAc/J,UAAd,CAAyB3B,QAAzB,KAAsCoK,IAAI,CAACC,YAD/C,EAC6D;EAC3D;EACA7L,MAAAA,QAAQ,CAACmE,IAAT,CAAcse,WAAd,CAA0B,KAAKvV,QAA/B;EACD;;EAED,SAAKA,QAAL,CAAchK,KAAd,CAAoBI,OAApB,GAA8B,OAA9B;;EACA,SAAK4J,QAAL,CAAc5G,eAAd,CAA8B,aAA9B;;EACA,SAAK4G,QAAL,CAAcyC,YAAd,CAA2B,YAA3B,EAAyC,IAAzC;;EAEA,QAAI,KAAK4R,OAAL,CAAa5T,SAAb,CAAuBE,QAAvB,CAAgC8S,qBAAhC,KAA0D6B,SAA9D,EAAyE;EACvEA,MAAAA,SAAS,CAAC1R,SAAV,GAAsB,CAAtB;EACD,KAFD,MAEO;EACL,WAAK5D,QAAL,CAAc4D,SAAd,GAA0B,CAA1B;EACD;;EAED,QAAIsR,UAAJ,EAAgB;EACdre,MAAAA,MAAM,CAAC,KAAKmJ,QAAN,CAAN;EACD;;EAED,SAAKA,QAAL,CAAcS,SAAd,CAAwBkC,GAAxB,CAA4ByJ,iBAA5B;;EAEA,QAAI,KAAK1E,OAAL,CAAalF,KAAjB,EAAwB;EACtB,WAAKgT,aAAL;EACD;;EAED,QAAMC,kBAAkB,GAAG,SAArBA,kBAAqB,GAAM;EAC/B,UAAI,MAAI,CAAC/N,OAAL,CAAalF,KAAjB,EAAwB;EACtB,QAAA,MAAI,CAACxC,QAAL,CAAcwC,KAAd;EACD;;EAED,MAAA,MAAI,CAACoK,gBAAL,GAAwB,KAAxB;EACA7R,MAAAA,YAAY,CAACsC,OAAb,CAAqB,MAAI,CAAC2C,QAA1B,EAAoCiM,aAApC,EAAiD;EAC/C1B,QAAAA,aAAa,EAAbA;EAD+C,OAAjD;EAGD,KATD;;EAWA,QAAI2K,UAAJ,EAAgB;EACd,UAAMthB,kBAAkB,GAAGH,gCAAgC,CAAC,KAAK4gB,OAAN,CAA3D;EAEAtZ,MAAAA,YAAY,CAAC+B,GAAb,CAAiB,KAAKuX,OAAtB,EAA+BniB,cAA/B,EAA+CujB,kBAA/C;EACAlhB,MAAAA,oBAAoB,CAAC,KAAK8f,OAAN,EAAezgB,kBAAf,CAApB;EACD,KALD,MAKO;EACL6hB,MAAAA,kBAAkB;EACnB;EACF;;WAEDD,gBAAA,yBAAgB;EAAA;;EACdza,IAAAA,YAAY,CAACC,GAAb,CAAiBlI,QAAjB,EAA2BqgB,aAA3B,EADc;;EAEdpY,IAAAA,YAAY,CAAC8B,EAAb,CAAgB/J,QAAhB,EAA0BqgB,aAA1B,EAAyC,UAAA9Y,KAAK,EAAI;EAChD,UAAIvH,QAAQ,KAAKuH,KAAK,CAACe,MAAnB,IACA,MAAI,CAAC4E,QAAL,KAAkB3F,KAAK,CAACe,MADxB,IAEA,CAAC,MAAI,CAAC4E,QAAL,CAAcW,QAAd,CAAuBtG,KAAK,CAACe,MAA7B,CAFL,EAE2C;EACzC,QAAA,MAAI,CAAC4E,QAAL,CAAcwC,KAAd;EACD;EACF,KAND;EAOD;;WAEDsS,kBAAA,2BAAkB;EAAA;;EAChB,QAAI,KAAKP,QAAT,EAAmB;EACjBxZ,MAAAA,YAAY,CAAC8B,EAAb,CAAgB,KAAKmD,QAArB,EAA+BsT,qBAA/B,EAAsD,UAAAjZ,KAAK,EAAI;EAC7D,YAAI,MAAI,CAACqN,OAAL,CAAahD,QAAb,IAAyBrK,KAAK,CAACC,KAAN,KAAgBwU,gBAA7C,EAA6D;EAC3DzU,UAAAA,KAAK,CAAC1B,cAAN;;EACA,UAAA,MAAI,CAAC2U,IAAL;EACD,SAHD,MAGO,IAAI,CAAC,MAAI,CAAC5F,OAAL,CAAahD,QAAd,IAA0BrK,KAAK,CAACC,KAAN,KAAgBwU,gBAA9C,EAA8D;EACnE,UAAA,MAAI,CAAC4G,0BAAL;EACD;EACF,OAPD;EAQD,KATD,MASO;EACL3a,MAAAA,YAAY,CAACC,GAAb,CAAiB,KAAKgF,QAAtB,EAAgCsT,qBAAhC;EACD;EACF;;WAEDyB,kBAAA,2BAAkB;EAAA;;EAChB,QAAI,KAAKR,QAAT,EAAmB;EACjBxZ,MAAAA,YAAY,CAAC8B,EAAb,CAAgBnJ,MAAhB,EAAwB0f,YAAxB,EAAsC;EAAA,eAAM,MAAI,CAACyB,aAAL,EAAN;EAAA,OAAtC;EACD,KAFD,MAEO;EACL9Z,MAAAA,YAAY,CAACC,GAAb,CAAiBtH,MAAjB,EAAyB0f,YAAzB;EACD;EACF;;WAED+B,aAAA,sBAAa;EAAA;;EACX,SAAKnV,QAAL,CAAchK,KAAd,CAAoBI,OAApB,GAA8B,MAA9B;;EACA,SAAK4J,QAAL,CAAcyC,YAAd,CAA2B,aAA3B,EAA0C,IAA1C;;EACA,SAAKzC,QAAL,CAAc5G,eAAd,CAA8B,YAA9B;;EACA,SAAKwT,gBAAL,GAAwB,KAAxB;;EACA,SAAKoI,aAAL,CAAmB,YAAM;EACvBliB,MAAAA,QAAQ,CAACmE,IAAT,CAAcwJ,SAAd,CAAwBC,MAAxB,CAA+BkT,eAA/B;;EACA,MAAA,MAAI,CAAC+B,iBAAL;;EACA,MAAA,MAAI,CAACC,eAAL;;EACA7a,MAAAA,YAAY,CAACsC,OAAb,CAAqB,MAAI,CAAC2C,QAA1B,EAAoCmM,cAApC;EACD,KALD;EAMD;;WAED0J,kBAAA,2BAAkB;EAChB,SAAKvB,SAAL,CAAere,UAAf,CAA0B4K,WAA1B,CAAsC,KAAKyT,SAA3C;;EACA,SAAKA,SAAL,GAAiB,IAAjB;EACD;;WAEDU,gBAAA,uBAAcc,QAAd,EAAwB;EAAA;;EACtB,QAAMC,OAAO,GAAG,KAAK/V,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCkT,eAAjC,IACdA,eADc,GAEd,EAFF;;EAIA,QAAI,KAAKU,QAAL,IAAiB,KAAK7M,OAAL,CAAauL,QAAlC,EAA4C;EAC1C,WAAKqB,SAAL,GAAiBxhB,QAAQ,CAAC4F,aAAT,CAAuB,KAAvB,CAAjB;EACA,WAAK4b,SAAL,CAAenQ,SAAf,GAA2BwP,mBAA3B;;EAEA,UAAIoC,OAAJ,EAAa;EACX,aAAKzB,SAAL,CAAe7T,SAAf,CAAyBkC,GAAzB,CAA6BoT,OAA7B;EACD;;EAEDjjB,MAAAA,QAAQ,CAACmE,IAAT,CAAcse,WAAd,CAA0B,KAAKjB,SAA/B;EAEAvZ,MAAAA,YAAY,CAAC8B,EAAb,CAAgB,KAAKmD,QAArB,EAA+BqT,mBAA/B,EAAoD,UAAAhZ,KAAK,EAAI;EAC3D,YAAI,MAAI,CAACoa,oBAAT,EAA+B;EAC7B,UAAA,MAAI,CAACA,oBAAL,GAA4B,KAA5B;EACA;EACD;;EAED,YAAIpa,KAAK,CAACe,MAAN,KAAiBf,KAAK,CAAC2b,aAA3B,EAA0C;EACxC;EACD;;EAED,QAAA,MAAI,CAACN,0BAAL;EACD,OAXD;;EAaA,UAAIK,OAAJ,EAAa;EACXlf,QAAAA,MAAM,CAAC,KAAKyd,SAAN,CAAN;EACD;;EAED,WAAKA,SAAL,CAAe7T,SAAf,CAAyBkC,GAAzB,CAA6ByJ,iBAA7B;;EAEA,UAAI,CAAC2J,OAAL,EAAc;EACZD,QAAAA,QAAQ;EACR;EACD;;EAED,UAAMG,0BAA0B,GAAGxiB,gCAAgC,CAAC,KAAK6gB,SAAN,CAAnE;EAEAvZ,MAAAA,YAAY,CAAC+B,GAAb,CAAiB,KAAKwX,SAAtB,EAAiCpiB,cAAjC,EAAiD4jB,QAAjD;EACAvhB,MAAAA,oBAAoB,CAAC,KAAK+f,SAAN,EAAiB2B,0BAAjB,CAApB;EACD,KAtCD,MAsCO,IAAI,CAAC,KAAK1B,QAAN,IAAkB,KAAKD,SAA3B,EAAsC;EAC3C,WAAKA,SAAL,CAAe7T,SAAf,CAAyBC,MAAzB,CAAgC0L,iBAAhC;;EAEA,UAAM8J,cAAc,GAAG,SAAjBA,cAAiB,GAAM;EAC3B,QAAA,MAAI,CAACL,eAAL;;EACAC,QAAAA,QAAQ;EACT,OAHD;;EAKA,UAAI,KAAK9V,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCkT,eAAjC,CAAJ,EAAuD;EACrD,YAAMoC,2BAA0B,GAAGxiB,gCAAgC,CAAC,KAAK6gB,SAAN,CAAnE;;EACAvZ,QAAAA,YAAY,CAAC+B,GAAb,CAAiB,KAAKwX,SAAtB,EAAiCpiB,cAAjC,EAAiDgkB,cAAjD;EACA3hB,QAAAA,oBAAoB,CAAC,KAAK+f,SAAN,EAAiB2B,2BAAjB,CAApB;EACD,OAJD,MAIO;EACLC,QAAAA,cAAc;EACf;EACF,KAfM,MAeA;EACLJ,MAAAA,QAAQ;EACT;EACF;;WAEDJ,6BAAA,sCAA6B;EAAA;;EAC3B,QAAI,KAAKhO,OAAL,CAAauL,QAAb,KAA0B,QAA9B,EAAwC;EACtC,UAAMvB,SAAS,GAAG3W,YAAY,CAACsC,OAAb,CAAqB,KAAK2C,QAA1B,EAAoCkT,oBAApC,CAAlB;;EACA,UAAIxB,SAAS,CAAC9Y,gBAAd,EAAgC;EAC9B;EACD;;EAED,WAAKoH,QAAL,CAAcS,SAAd,CAAwBkC,GAAxB,CAA4BmR,iBAA5B;;EACA,UAAMqC,uBAAuB,GAAG1iB,gCAAgC,CAAC,KAAKuM,QAAN,CAAhE;EACAjF,MAAAA,YAAY,CAAC+B,GAAb,CAAiB,KAAKkD,QAAtB,EAAgC9N,cAAhC,EAAgD,YAAM;EACpD,QAAA,MAAI,CAAC8N,QAAL,CAAcS,SAAd,CAAwBC,MAAxB,CAA+BoT,iBAA/B;EACD,OAFD;EAGAvf,MAAAA,oBAAoB,CAAC,KAAKyL,QAAN,EAAgBmW,uBAAhB,CAApB;;EACA,WAAKnW,QAAL,CAAcwC,KAAd;EACD,KAbD,MAaO;EACL,WAAK8K,IAAL;EACD;EACF;EAGD;EACA;;;WAEAuH,gBAAA,yBAAgB;EACd,QAAMuB,kBAAkB,GACtB,KAAKpW,QAAL,CAAcqW,YAAd,GAA6BvjB,QAAQ,CAACyD,eAAT,CAAyB+f,YADxD;;EAGA,QAAI,CAAC,KAAK9B,kBAAN,IAA4B4B,kBAAhC,EAAoD;EAClD,WAAKpW,QAAL,CAAchK,KAAd,CAAoBugB,WAApB,GAAqC,KAAK7B,eAA1C;EACD;;EAED,QAAI,KAAKF,kBAAL,IAA2B,CAAC4B,kBAAhC,EAAoD;EAClD,WAAKpW,QAAL,CAAchK,KAAd,CAAoBwgB,YAApB,GAAsC,KAAK9B,eAA3C;EACD;EACF;;WAEDiB,oBAAA,6BAAoB;EAClB,SAAK3V,QAAL,CAAchK,KAAd,CAAoBugB,WAApB,GAAkC,EAAlC;EACA,SAAKvW,QAAL,CAAchK,KAAd,CAAoBwgB,YAApB,GAAmC,EAAnC;EACD;;WAED7B,kBAAA,2BAAkB;EAChB,QAAMlR,IAAI,GAAG3Q,QAAQ,CAACmE,IAAT,CAAcyM,qBAAd,EAAb;EACA,SAAK8Q,kBAAL,GAA0B/Q,IAAI,CAACI,IAAL,GAAYJ,IAAI,CAACgT,KAAjB,GAAyB/iB,MAAM,CAACgjB,UAA1D;EACA,SAAKhC,eAAL,GAAuB,KAAKiC,kBAAL,EAAvB;EACD;;WAED/B,gBAAA,yBAAgB;EAAA;;EACd,QAAI,KAAKJ,kBAAT,EAA6B;EAC3B;EACA;EAEA;EACAtW,MAAAA,cAAc,CAACjG,IAAf,CAAoBic,sBAApB,EACG5e,OADH,CACW,UAAArC,OAAO,EAAI;EAClB,YAAM2jB,aAAa,GAAG3jB,OAAO,CAAC+C,KAAR,CAAcwgB,YAApC;EACA,YAAMK,iBAAiB,GAAGnjB,MAAM,CAACC,gBAAP,CAAwBV,OAAxB,EAAiC,eAAjC,CAA1B;EACAgQ,QAAAA,WAAW,CAACC,gBAAZ,CAA6BjQ,OAA7B,EAAsC,eAAtC,EAAuD2jB,aAAvD;EACA3jB,QAAAA,OAAO,CAAC+C,KAAR,CAAcwgB,YAAd,GAAgCziB,UAAU,CAAC8iB,iBAAD,CAAV,GAAgC,OAAI,CAACnC,eAArE;EACD,OANH,EAL2B;;EAc3BxW,MAAAA,cAAc,CAACjG,IAAf,CAAoBkc,uBAApB,EACG7e,OADH,CACW,UAAArC,OAAO,EAAI;EAClB,YAAM6jB,YAAY,GAAG7jB,OAAO,CAAC+C,KAAR,CAAc+gB,WAAnC;EACA,YAAMC,gBAAgB,GAAGtjB,MAAM,CAACC,gBAAP,CAAwBV,OAAxB,EAAiC,cAAjC,CAAzB;EACAgQ,QAAAA,WAAW,CAACC,gBAAZ,CAA6BjQ,OAA7B,EAAsC,cAAtC,EAAsD6jB,YAAtD;EACA7jB,QAAAA,OAAO,CAAC+C,KAAR,CAAc+gB,WAAd,GAA+BhjB,UAAU,CAACijB,gBAAD,CAAV,GAA+B,OAAI,CAACtC,eAAnE;EACD,OANH,EAd2B;;EAuB3B,UAAMkC,aAAa,GAAG9jB,QAAQ,CAACmE,IAAT,CAAcjB,KAAd,CAAoBwgB,YAA1C;EACA,UAAMK,iBAAiB,GAAGnjB,MAAM,CAACC,gBAAP,CAAwBb,QAAQ,CAACmE,IAAjC,EAAuC,eAAvC,CAA1B;EAEAgM,MAAAA,WAAW,CAACC,gBAAZ,CAA6BpQ,QAAQ,CAACmE,IAAtC,EAA4C,eAA5C,EAA6D2f,aAA7D;EACA9jB,MAAAA,QAAQ,CAACmE,IAAT,CAAcjB,KAAd,CAAoBwgB,YAApB,GAAsCziB,UAAU,CAAC8iB,iBAAD,CAAV,GAAgC,KAAKnC,eAA3E;EACD;;EAED5hB,IAAAA,QAAQ,CAACmE,IAAT,CAAcwJ,SAAd,CAAwBkC,GAAxB,CAA4BiR,eAA5B;EACD;;WAEDgC,kBAAA,2BAAkB;EAChB;EACA1X,IAAAA,cAAc,CAACjG,IAAf,CAAoBic,sBAApB,EACG5e,OADH,CACW,UAAArC,OAAO,EAAI;EAClB,UAAMgkB,OAAO,GAAGhU,WAAW,CAACM,gBAAZ,CAA6BtQ,OAA7B,EAAsC,eAAtC,CAAhB;;EACA,UAAI,OAAOgkB,OAAP,KAAmB,WAAvB,EAAoC;EAClChU,QAAAA,WAAW,CAACE,mBAAZ,CAAgClQ,OAAhC,EAAyC,eAAzC;EACAA,QAAAA,OAAO,CAAC+C,KAAR,CAAcwgB,YAAd,GAA6BS,OAA7B;EACD;EACF,KAPH,EAFgB;;EAYhB/Y,IAAAA,cAAc,CAACjG,IAAf,MAAuBkc,uBAAvB,EACG7e,OADH,CACW,UAAArC,OAAO,EAAI;EAClB,UAAMikB,MAAM,GAAGjU,WAAW,CAACM,gBAAZ,CAA6BtQ,OAA7B,EAAsC,cAAtC,CAAf;;EACA,UAAI,OAAOikB,MAAP,KAAkB,WAAtB,EAAmC;EACjCjU,QAAAA,WAAW,CAACE,mBAAZ,CAAgClQ,OAAhC,EAAyC,cAAzC;EACAA,QAAAA,OAAO,CAAC+C,KAAR,CAAc+gB,WAAd,GAA4BG,MAA5B;EACD;EACF,KAPH,EAZgB;;EAsBhB,QAAMD,OAAO,GAAGhU,WAAW,CAACM,gBAAZ,CAA6BzQ,QAAQ,CAACmE,IAAtC,EAA4C,eAA5C,CAAhB;;EACA,QAAI,OAAOggB,OAAP,KAAmB,WAAvB,EAAoC;EAClCnkB,MAAAA,QAAQ,CAACmE,IAAT,CAAcjB,KAAd,CAAoBwgB,YAApB,GAAmC,EAAnC;EACD,KAFD,MAEO;EACLvT,MAAAA,WAAW,CAACE,mBAAZ,CAAgCrQ,QAAQ,CAACmE,IAAzC,EAA+C,eAA/C;EACAnE,MAAAA,QAAQ,CAACmE,IAAT,CAAcjB,KAAd,CAAoBwgB,YAApB,GAAmCS,OAAnC;EACD;EACF;;WAEDN,qBAAA,8BAAqB;EAAE;EACrB,QAAMQ,SAAS,GAAGrkB,QAAQ,CAAC4F,aAAT,CAAuB,KAAvB,CAAlB;EACAye,IAAAA,SAAS,CAAChT,SAAV,GAAsBuP,6BAAtB;EACA5gB,IAAAA,QAAQ,CAACmE,IAAT,CAAcse,WAAd,CAA0B4B,SAA1B;EACA,QAAMC,cAAc,GAAGD,SAAS,CAACzT,qBAAV,GAAkC2T,KAAlC,GAA0CF,SAAS,CAACG,WAA3E;EACAxkB,IAAAA,QAAQ,CAACmE,IAAT,CAAc4J,WAAd,CAA0BsW,SAA1B;EACA,WAAOC,cAAP;EACD;;;UAIMtW,kBAAP,yBAAuB5L,MAAvB,EAA+BqV,aAA/B,EAA8C;EAC5C,WAAO,KAAKxJ,IAAL,CAAU,YAAY;EAC3B,UAAIvJ,IAAI,GAAGI,IAAI,CAACG,OAAL,CAAa,IAAb,EAAmBsH,UAAnB,CAAX;;EACA,UAAMqI,OAAO,sBACRlD,SADQ,MAERvB,WAAW,CAACG,iBAAZ,CAA8B,IAA9B,CAFQ,MAGR,OAAOlO,MAAP,KAAkB,QAAlB,IAA8BA,MAA9B,GAAuCA,MAAvC,GAAgD,EAHxC,CAAb;;EAMA,UAAI,CAACsC,IAAL,EAAW;EACTA,QAAAA,IAAI,GAAG,IAAI4c,KAAJ,CAAU,IAAV,EAAgB1M,OAAhB,CAAP;EACD;;EAED,UAAI,OAAOxS,MAAP,KAAkB,QAAtB,EAAgC;EAC9B,YAAI,OAAOsC,IAAI,CAACtC,MAAD,CAAX,KAAwB,WAA5B,EAAyC;EACvC,gBAAM,IAAIyW,SAAJ,wBAAkCzW,MAAlC,QAAN;EACD;;EAEDsC,QAAAA,IAAI,CAACtC,MAAD,CAAJ,CAAaqV,aAAb;EACD,OAND,MAMO,IAAI7C,OAAO,CAAC6F,IAAZ,EAAkB;EACvB/V,QAAAA,IAAI,CAAC+V,IAAL,CAAUhD,aAAV;EACD;EACF,KArBM,CAAP;EAsBD;;UAEMrJ,cAAP,qBAAmBjO,OAAnB,EAA4B;EAC1B,WAAO2E,IAAI,CAACG,OAAL,CAAa9E,OAAb,EAAsBoM,UAAtB,CAAP;EACD;;;;0BAvcoB;EACnB,aAAOD,SAAP;EACD;;;0BAEoB;EACnB,aAAOoF,SAAP;EACD;;;;;EAocH;;;;;;;EAMAzJ,YAAY,CAAC8B,EAAb,CAAgB/J,QAAhB,EAA0B6M,sBAA1B,EAAgDgC,sBAAhD,EAAsE,UAAUtH,KAAV,EAAiB;EAAA;;EACrF,MAAMe,MAAM,GAAG5H,sBAAsB,CAAC,IAAD,CAArC;;EAEA,MAAI,KAAKsW,OAAL,KAAiB,GAAjB,IAAwB,KAAKA,OAAL,KAAiB,MAA7C,EAAqD;EACnDzP,IAAAA,KAAK,CAAC1B,cAAN;EACD;;EAEDoC,EAAAA,YAAY,CAAC+B,GAAb,CAAiB1B,MAAjB,EAAyB4Q,YAAzB,EAAqC,UAAAsF,SAAS,EAAI;EAChD,QAAIA,SAAS,CAAC1Y,gBAAd,EAAgC;EAC9B;EACA;EACD;;EAEDmC,IAAAA,YAAY,CAAC+B,GAAb,CAAiB1B,MAAjB,EAAyB+Q,cAAzB,EAAuC,YAAM;EAC3C,UAAIpW,SAAS,CAAC,OAAD,CAAb,EAAqB;EACnB,QAAA,OAAI,CAACyM,KAAL;EACD;EACF,KAJD;EAKD,GAXD;EAaA,MAAIhL,IAAI,GAAGI,IAAI,CAACG,OAAL,CAAaqD,MAAb,EAAqBiE,UAArB,CAAX;;EACA,MAAI,CAAC7H,IAAL,EAAW;EACT,QAAMtC,MAAM,sBACP+N,WAAW,CAACG,iBAAZ,CAA8BhI,MAA9B,CADO,MAEP6H,WAAW,CAACG,iBAAZ,CAA8B,IAA9B,CAFO,CAAZ;;EAKA5L,IAAAA,IAAI,GAAG,IAAI4c,KAAJ,CAAUhZ,MAAV,EAAkBlG,MAAlB,CAAP;EACD;;EAEDsC,EAAAA,IAAI,CAAC+V,IAAL,CAAU,IAAV;EACD,CA/BD;EAiCA,IAAMjU,GAAC,GAAGvC,SAAS,EAAnB;EAEA;;;;;;;EAMA;;EACA,IAAIuC,GAAJ,EAAO;EACL,MAAM6H,oBAAkB,GAAG7H,GAAC,CAACsB,EAAF,CAAKuE,MAAL,CAA3B;EACA7F,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,IAAaiV,KAAK,CAACtT,eAAnB;EACAxH,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,EAAWiC,WAAX,GAAyBgT,KAAzB;;EACA9a,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,EAAWkC,UAAX,GAAwB,YAAM;EAC5B/H,IAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,IAAagC,oBAAb;EACA,WAAOiT,KAAK,CAACtT,eAAb;EACD,GAHD;EAID;;ECrmBD;;;;;;EAOA,IAAMyW,QAAQ,GAAG,CACf,YADe,EAEf,MAFe,EAGf,MAHe,EAIf,UAJe,EAKf,UALe,EAMf,QANe,EAOf,KAPe,EAQf,YARe,CAAjB;EAWA,IAAMC,sBAAsB,GAAG,gBAA/B;EAEA;;;;;;EAKA,IAAMC,gBAAgB,GAAG,6DAAzB;EAEA;;;;;;EAKA,IAAMC,gBAAgB,GAAG,oIAAzB;;EAEA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,IAAD,EAAOC,oBAAP,EAAgC;EACvD,MAAMC,QAAQ,GAAGF,IAAI,CAACG,QAAL,CAActlB,WAAd,EAAjB;;EAEA,MAAIolB,oBAAoB,CAACzb,OAArB,CAA6B0b,QAA7B,MAA2C,CAAC,CAAhD,EAAmD;EACjD,QAAIP,QAAQ,CAACnb,OAAT,CAAiB0b,QAAjB,MAA+B,CAAC,CAApC,EAAuC;EACrC,aAAOL,gBAAgB,CAAC7hB,IAAjB,CAAsBgiB,IAAI,CAACI,SAA3B,KAAyCN,gBAAgB,CAAC9hB,IAAjB,CAAsBgiB,IAAI,CAACI,SAA3B,CAAhD;EACD;;EAED,WAAO,IAAP;EACD;;EAED,MAAMC,MAAM,GAAGJ,oBAAoB,CAACvZ,MAArB,CAA4B,UAAA4Z,SAAS;EAAA,WAAIA,SAAS,YAAYviB,MAAzB;EAAA,GAArC,CAAf,CAXuD;;EAcvD,OAAK,IAAI0F,CAAC,GAAG,CAAR,EAAWM,GAAG,GAAGsc,MAAM,CAAC3c,MAA7B,EAAqCD,CAAC,GAAGM,GAAzC,EAA8CN,CAAC,EAA/C,EAAmD;EACjD,QAAI4c,MAAM,CAAC5c,CAAD,CAAN,CAAUzF,IAAV,CAAekiB,QAAf,CAAJ,EAA8B;EAC5B,aAAO,IAAP;EACD;EACF;;EAED,SAAO,KAAP;EACD,CArBD;;EAuBO,IAAMK,gBAAgB,GAAG;EAC9B;EACA,OAAK,CAAC,OAAD,EAAU,KAAV,EAAiB,IAAjB,EAAuB,MAAvB,EAA+B,MAA/B,EAAuCX,sBAAvC,CAFyB;EAG9BY,EAAAA,CAAC,EAAE,CAAC,QAAD,EAAW,MAAX,EAAmB,OAAnB,EAA4B,KAA5B,CAH2B;EAI9BC,EAAAA,IAAI,EAAE,EAJwB;EAK9BC,EAAAA,CAAC,EAAE,EAL2B;EAM9BC,EAAAA,EAAE,EAAE,EAN0B;EAO9BC,EAAAA,GAAG,EAAE,EAPyB;EAQ9BC,EAAAA,IAAI,EAAE,EARwB;EAS9BC,EAAAA,GAAG,EAAE,EATyB;EAU9BC,EAAAA,EAAE,EAAE,EAV0B;EAW9BC,EAAAA,EAAE,EAAE,EAX0B;EAY9BC,EAAAA,EAAE,EAAE,EAZ0B;EAa9BC,EAAAA,EAAE,EAAE,EAb0B;EAc9BC,EAAAA,EAAE,EAAE,EAd0B;EAe9BC,EAAAA,EAAE,EAAE,EAf0B;EAgB9BC,EAAAA,EAAE,EAAE,EAhB0B;EAiB9BC,EAAAA,EAAE,EAAE,EAjB0B;EAkB9B7d,EAAAA,CAAC,EAAE,EAlB2B;EAmB9B8d,EAAAA,GAAG,EAAE,CAAC,KAAD,EAAQ,QAAR,EAAkB,KAAlB,EAAyB,OAAzB,EAAkC,OAAlC,EAA2C,QAA3C,CAnByB;EAoB9BC,EAAAA,EAAE,EAAE,EApB0B;EAqB9BC,EAAAA,EAAE,EAAE,EArB0B;EAsB9BC,EAAAA,CAAC,EAAE,EAtB2B;EAuB9BC,EAAAA,GAAG,EAAE,EAvByB;EAwB9BC,EAAAA,CAAC,EAAE,EAxB2B;EAyB9BC,EAAAA,KAAK,EAAE,EAzBuB;EA0B9BC,EAAAA,IAAI,EAAE,EA1BwB;EA2B9BC,EAAAA,GAAG,EAAE,EA3ByB;EA4B9BC,EAAAA,GAAG,EAAE,EA5ByB;EA6B9BC,EAAAA,MAAM,EAAE,EA7BsB;EA8B9BC,EAAAA,CAAC,EAAE,EA9B2B;EA+B9BC,EAAAA,EAAE,EAAE;EA/B0B,CAAzB;EAkCA,SAASC,YAAT,CAAsBC,UAAtB,EAAkCC,SAAlC,EAA6CC,UAA7C,EAAyD;EAAA;;EAC9D,MAAI,CAACF,UAAU,CAAC3e,MAAhB,EAAwB;EACtB,WAAO2e,UAAP;EACD;;EAED,MAAIE,UAAU,IAAI,OAAOA,UAAP,KAAsB,UAAxC,EAAoD;EAClD,WAAOA,UAAU,CAACF,UAAD,CAAjB;EACD;;EAED,MAAMG,SAAS,GAAG,IAAI1mB,MAAM,CAAC2mB,SAAX,EAAlB;EACA,MAAMC,eAAe,GAAGF,SAAS,CAACG,eAAV,CAA0BN,UAA1B,EAAsC,WAAtC,CAAxB;EACA,MAAMO,aAAa,GAAGplB,MAAM,CAACC,IAAP,CAAY6kB,SAAZ,CAAtB;;EACA,MAAMO,QAAQ,GAAG,YAAGtc,MAAH,aAAamc,eAAe,CAACrjB,IAAhB,CAAqBmB,gBAArB,CAAsC,GAAtC,CAAb,CAAjB;;EAZ8D,6BAcrDiD,CAdqD,EAc9CM,GAd8C;EAAA;;EAe5D,QAAM+e,EAAE,GAAGD,QAAQ,CAACpf,CAAD,CAAnB;EACA,QAAMsf,MAAM,GAAGD,EAAE,CAAC3C,QAAH,CAAYtlB,WAAZ,EAAf;;EAEA,QAAI+nB,aAAa,CAACpe,OAAd,CAAsBue,MAAtB,MAAkC,CAAC,CAAvC,EAA0C;EACxCD,MAAAA,EAAE,CAACzkB,UAAH,CAAc4K,WAAd,CAA0B6Z,EAA1B;EAEA;EACD;;EAED,QAAME,aAAa,GAAG,aAAGzc,MAAH,cAAauc,EAAE,CAACrX,UAAhB,CAAtB;;EACA,QAAMwX,qBAAqB,GAAG,GAAG1c,MAAH,CAAU+b,SAAS,CAAC,GAAD,CAAT,IAAkB,EAA5B,EAAgCA,SAAS,CAACS,MAAD,CAAT,IAAqB,EAArD,CAA9B;EAEAC,IAAAA,aAAa,CAACtlB,OAAd,CAAsB,UAAAsiB,IAAI,EAAI;EAC5B,UAAI,CAACD,gBAAgB,CAACC,IAAD,EAAOiD,qBAAP,CAArB,EAAoD;EAClDH,QAAAA,EAAE,CAACthB,eAAH,CAAmBwe,IAAI,CAACG,QAAxB;EACD;EACF,KAJD;EA3B4D;;EAc9D,OAAK,IAAI1c,CAAC,GAAG,CAAR,EAAWM,GAAG,GAAG8e,QAAQ,CAACnf,MAA/B,EAAuCD,CAAC,GAAGM,GAA3C,EAAgDN,CAAC,EAAjD,EAAqD;EAAA,qBAA5CA,CAA4C;;EAAA,6BAOjD;EAWH;;EAED,SAAOif,eAAe,CAACrjB,IAAhB,CAAqB6jB,SAA5B;EACD;;EClGD;;;;;;EAMA,IAAM3b,MAAI,GAAG,SAAb;EACA,IAAMC,SAAO,GAAG,OAAhB;EACA,IAAMC,UAAQ,GAAG,YAAjB;EACA,IAAMC,WAAS,SAAOD,UAAtB;EACA,IAAM0b,YAAY,GAAG,YAArB;EACA,IAAMC,kBAAkB,GAAG,IAAIrlB,MAAJ,aAAqBolB,YAArB,WAAyC,GAAzC,CAA3B;EACA,IAAME,qBAAqB,GAAG,CAAC,UAAD,EAAa,WAAb,EAA0B,YAA1B,CAA9B;EAEA,IAAMlW,aAAW,GAAG;EAClBmW,EAAAA,SAAS,EAAE,SADO;EAElBC,EAAAA,QAAQ,EAAE,QAFQ;EAGlBC,EAAAA,KAAK,EAAE,2BAHW;EAIlB/d,EAAAA,OAAO,EAAE,QAJS;EAKlBge,EAAAA,KAAK,EAAE,iBALW;EAMlBC,EAAAA,IAAI,EAAE,SANY;EAOlBpoB,EAAAA,QAAQ,EAAE,kBAPQ;EAQlBgf,EAAAA,SAAS,EAAE,mBARO;EASlB1O,EAAAA,MAAM,EAAE,0BATU;EAUlBkK,EAAAA,SAAS,EAAE,0BAVO;EAWlB6N,EAAAA,iBAAiB,EAAE,gBAXD;EAYlB9K,EAAAA,QAAQ,EAAE,kBAZQ;EAalB+K,EAAAA,QAAQ,EAAE,SAbQ;EAclBrB,EAAAA,UAAU,EAAE,iBAdM;EAelBD,EAAAA,SAAS,EAAE,QAfO;EAgBlBvJ,EAAAA,YAAY,EAAE;EAhBI,CAApB;EAmBA,IAAM8K,aAAa,GAAG;EACpBC,EAAAA,IAAI,EAAE,MADc;EAEpBC,EAAAA,GAAG,EAAE,KAFe;EAGpBC,EAAAA,KAAK,EAAE,OAHa;EAIpBC,EAAAA,MAAM,EAAE,QAJY;EAKpBC,EAAAA,IAAI,EAAE;EALc,CAAtB;EAQA,IAAMtX,SAAO,GAAG;EACd0W,EAAAA,SAAS,EAAE,IADG;EAEdC,EAAAA,QAAQ,EAAE,yCACQ,mCADR,GAEQ,yCAJJ;EAKd9d,EAAAA,OAAO,EAAE,aALK;EAMd+d,EAAAA,KAAK,EAAE,EANO;EAOdC,EAAAA,KAAK,EAAE,CAPO;EAQdC,EAAAA,IAAI,EAAE,KARQ;EASdpoB,EAAAA,QAAQ,EAAE,KATI;EAUdgf,EAAAA,SAAS,EAAE,KAVG;EAWd1O,EAAAA,MAAM,EAAE,CAXM;EAYdkK,EAAAA,SAAS,EAAE,KAZG;EAad6N,EAAAA,iBAAiB,EAAE,MAbL;EAcd9K,EAAAA,QAAQ,EAAE,cAdI;EAed+K,EAAAA,QAAQ,EAAE,IAfI;EAgBdrB,EAAAA,UAAU,EAAE,IAhBE;EAiBdD,EAAAA,SAAS,EAAE/B,gBAjBG;EAkBdxH,EAAAA,YAAY,EAAE;EAlBA,CAAhB;EAqBA,IAAMvc,OAAK,GAAG;EACZ2nB,EAAAA,IAAI,WAASzc,WADD;EAEZ0c,EAAAA,MAAM,aAAW1c,WAFL;EAGZ2c,EAAAA,IAAI,WAAS3c,WAHD;EAIZ4c,EAAAA,KAAK,YAAU5c,WAJH;EAKZ6c,EAAAA,QAAQ,eAAa7c,WALT;EAMZ8c,EAAAA,KAAK,YAAU9c,WANH;EAOZ+c,EAAAA,OAAO,cAAY/c,WAPP;EAQZgd,EAAAA,QAAQ,eAAahd,WART;EASZid,EAAAA,UAAU,iBAAejd,WATb;EAUZkd,EAAAA,UAAU,iBAAeld;EAVb,CAAd;EAaA,IAAMuU,iBAAe,GAAG,MAAxB;EACA,IAAM4I,gBAAgB,GAAG,OAAzB;EACA,IAAMrQ,iBAAe,GAAG,MAAxB;EAEA,IAAMsQ,gBAAgB,GAAG,MAAzB;EACA,IAAMC,eAAe,GAAG,KAAxB;EAEA,IAAMC,sBAAsB,GAAG,gBAA/B;EAEA,IAAMC,aAAa,GAAG,OAAtB;EACA,IAAMC,aAAa,GAAG,OAAtB;EACA,IAAMC,aAAa,GAAG,OAAtB;EACA,IAAMC,cAAc,GAAG,QAAvB;EAEA;;;;;;MAMMC;EACJ,mBAAYhqB,OAAZ,EAAqBiC,MAArB,EAA6B;EAC3B,QAAI,OAAOqc,MAAP,KAAkB,WAAtB,EAAmC;EACjC,YAAM,IAAI5F,SAAJ,CAAc,iEAAd,CAAN;EACD,KAH0B;;;EAM3B,SAAKuR,UAAL,GAAkB,IAAlB;EACA,SAAKC,QAAL,GAAgB,CAAhB;EACA,SAAKC,WAAL,GAAmB,EAAnB;EACA,SAAKC,cAAL,GAAsB,EAAtB;EACA,SAAKxM,OAAL,GAAe,IAAf,CAV2B;;EAa3B,SAAK5d,OAAL,GAAeA,OAAf;EACA,SAAKiC,MAAL,GAAc,KAAKyS,UAAL,CAAgBzS,MAAhB,CAAd;EACA,SAAKooB,GAAL,GAAW,IAAX;;EAEA,SAAKC,aAAL;;EACA3lB,IAAAA,IAAI,CAACC,OAAL,CAAa5E,OAAb,EAAsB,KAAK8e,WAAL,CAAiB1S,QAAvC,EAAiD,IAAjD;EACD;;;;;EAgCD;WAEAme,SAAA,kBAAS;EACP,SAAKN,UAAL,GAAkB,IAAlB;EACD;;WAEDO,UAAA,mBAAU;EACR,SAAKP,UAAL,GAAkB,KAAlB;EACD;;WAEDQ,gBAAA,yBAAgB;EACd,SAAKR,UAAL,GAAkB,CAAC,KAAKA,UAAxB;EACD;;WAEDhb,SAAA,gBAAO7H,KAAP,EAAc;EACZ,QAAI,CAAC,KAAK6iB,UAAV,EAAsB;EACpB;EACD;;EAED,QAAI7iB,KAAJ,EAAW;EACT,UAAMsjB,OAAO,GAAG,KAAK5L,WAAL,CAAiB1S,QAAjC;EACA,UAAIuT,OAAO,GAAGhb,IAAI,CAACG,OAAL,CAAasC,KAAK,CAACK,cAAnB,EAAmCijB,OAAnC,CAAd;;EAEA,UAAI,CAAC/K,OAAL,EAAc;EACZA,QAAAA,OAAO,GAAG,IAAI,KAAKb,WAAT,CACR1X,KAAK,CAACK,cADE,EAER,KAAKkjB,kBAAL,EAFQ,CAAV;EAIAhmB,QAAAA,IAAI,CAACC,OAAL,CAAawC,KAAK,CAACK,cAAnB,EAAmCijB,OAAnC,EAA4C/K,OAA5C;EACD;;EAEDA,MAAAA,OAAO,CAACyK,cAAR,CAAuBQ,KAAvB,GAA+B,CAACjL,OAAO,CAACyK,cAAR,CAAuBQ,KAAvD;;EAEA,UAAIjL,OAAO,CAACkL,oBAAR,EAAJ,EAAoC;EAClClL,QAAAA,OAAO,CAACmL,MAAR,CAAe,IAAf,EAAqBnL,OAArB;EACD,OAFD,MAEO;EACLA,QAAAA,OAAO,CAACoL,MAAR,CAAe,IAAf,EAAqBpL,OAArB;EACD;EACF,KAnBD,MAmBO;EACL,UAAI,KAAKqL,aAAL,GAAqBxd,SAArB,CAA+BE,QAA/B,CAAwCyL,iBAAxC,CAAJ,EAA8D;EAC5D,aAAK4R,MAAL,CAAY,IAAZ,EAAkB,IAAlB;;EACA;EACD;;EAED,WAAKD,MAAL,CAAY,IAAZ,EAAkB,IAAlB;EACD;EACF;;WAEDxd,UAAA,mBAAU;EACRqJ,IAAAA,YAAY,CAAC,KAAKuT,QAAN,CAAZ;EAEAvlB,IAAAA,IAAI,CAACI,UAAL,CAAgB,KAAK/E,OAArB,EAA8B,KAAK8e,WAAL,CAAiB1S,QAA/C;EAEAtE,IAAAA,YAAY,CAACC,GAAb,CAAiB,KAAK/H,OAAtB,EAA+B,KAAK8e,WAAL,CAAiBzS,SAAhD;EACAvE,IAAAA,YAAY,CAACC,GAAb,CAAiBkD,cAAc,CAACW,OAAf,CAAuB,KAAK5L,OAA5B,QAAyCwpB,gBAAzC,CAAjB,EAA+E,eAA/E,EAAgG,KAAKyB,iBAArG;;EAEA,QAAI,KAAKZ,GAAT,EAAc;EACZ,WAAKA,GAAL,CAASrnB,UAAT,CAAoB4K,WAApB,CAAgC,KAAKyc,GAArC;EACD;;EAED,SAAKJ,UAAL,GAAkB,IAAlB;EACA,SAAKC,QAAL,GAAgB,IAAhB;EACA,SAAKC,WAAL,GAAmB,IAAnB;EACA,SAAKC,cAAL,GAAsB,IAAtB;;EACA,QAAI,KAAKxM,OAAT,EAAkB;EAChB,WAAKA,OAAL,CAAac,OAAb;EACD;;EAED,SAAKd,OAAL,GAAe,IAAf;EACA,SAAK5d,OAAL,GAAe,IAAf;EACA,SAAKiC,MAAL,GAAc,IAAd;EACA,SAAKooB,GAAL,GAAW,IAAX;EACD;;WAED/P,OAAA,gBAAO;EAAA;;EACL,QAAI,KAAKta,OAAL,CAAa+C,KAAb,CAAmBI,OAAnB,KAA+B,MAAnC,EAA2C;EACzC,YAAM,IAAIP,KAAJ,CAAU,qCAAV,CAAN;EACD;;EAED,QAAI,KAAKsoB,aAAL,MAAwB,KAAKjB,UAAjC,EAA6C;EAC3C,UAAM5L,SAAS,GAAGvW,YAAY,CAACsC,OAAb,CAAqB,KAAKpK,OAA1B,EAAmC,KAAK8e,WAAL,CAAiB3d,KAAjB,CAAuB6nB,IAA1D,CAAlB;EACA,UAAMmC,UAAU,GAAG9nB,cAAc,CAAC,KAAKrD,OAAN,CAAjC;EACA,UAAMorB,UAAU,GAAGD,UAAU,KAAK,IAAf,GACjB,KAAKnrB,OAAL,CAAaqrB,aAAb,CAA2B/nB,eAA3B,CAA2CoK,QAA3C,CAAoD,KAAK1N,OAAzD,CADiB,GAEjBmrB,UAAU,CAACzd,QAAX,CAAoB,KAAK1N,OAAzB,CAFF;;EAIA,UAAIqe,SAAS,CAAC1Y,gBAAV,IAA8B,CAACylB,UAAnC,EAA+C;EAC7C;EACD;;EAED,UAAMf,GAAG,GAAG,KAAKW,aAAL,EAAZ;EACA,UAAMM,KAAK,GAAG7rB,MAAM,CAAC,KAAKqf,WAAL,CAAiB5S,IAAlB,CAApB;EAEAme,MAAAA,GAAG,CAAC7a,YAAJ,CAAiB,IAAjB,EAAuB8b,KAAvB;EACA,WAAKtrB,OAAL,CAAawP,YAAb,CAA0B,kBAA1B,EAA8C8b,KAA9C;EAEA,WAAKC,UAAL;;EAEA,UAAI,KAAKtpB,MAAL,CAAYgmB,SAAhB,EAA2B;EACzBoC,QAAAA,GAAG,CAAC7c,SAAJ,CAAckC,GAAd,CAAkBkR,iBAAlB;EACD;;EAED,UAAM3B,SAAS,GAAG,OAAO,KAAKhd,MAAL,CAAYgd,SAAnB,KAAiC,UAAjC,GAChB,KAAKhd,MAAL,CAAYgd,SAAZ,CAAsB3f,IAAtB,CAA2B,IAA3B,EAAiC+qB,GAAjC,EAAsC,KAAKrqB,OAA3C,CADgB,GAEhB,KAAKiC,MAAL,CAAYgd,SAFd;;EAIA,UAAMuM,UAAU,GAAG,KAAKC,cAAL,CAAoBxM,SAApB,CAAnB;;EACA,WAAKyM,mBAAL,CAAyBF,UAAzB;;EAEA,UAAM/Q,SAAS,GAAG,KAAKkR,aAAL,EAAlB;;EACAhnB,MAAAA,IAAI,CAACC,OAAL,CAAaylB,GAAb,EAAkB,KAAKvL,WAAL,CAAiB1S,QAAnC,EAA6C,IAA7C;;EAEA,UAAI,CAAC,KAAKpM,OAAL,CAAaqrB,aAAb,CAA2B/nB,eAA3B,CAA2CoK,QAA3C,CAAoD,KAAK2c,GAAzD,CAAL,EAAoE;EAClE5P,QAAAA,SAAS,CAAC6H,WAAV,CAAsB+H,GAAtB;EACD;;EAEDviB,MAAAA,YAAY,CAACsC,OAAb,CAAqB,KAAKpK,OAA1B,EAAmC,KAAK8e,WAAL,CAAiB3d,KAAjB,CAAuB+nB,QAA1D;EAEA,WAAKtL,OAAL,GAAe,IAAIU,MAAJ,CAAW,KAAKte,OAAhB,EAAyBqqB,GAAzB,EAA8B,KAAK7L,gBAAL,CAAsBgN,UAAtB,CAA9B,CAAf;EAEAnB,MAAAA,GAAG,CAAC7c,SAAJ,CAAckC,GAAd,CAAkByJ,iBAAlB,EAzC2C;EA4C3C;EACA;EACA;;EACA,UAAI,kBAAkBtZ,QAAQ,CAACyD,eAA/B,EAAgD;EAAA;;EAC9C,oBAAG4H,MAAH,aAAarL,QAAQ,CAACmE,IAAT,CAAcoH,QAA3B,EAAqC/I,OAArC,CAA6C,UAAArC,OAAO,EAAI;EACtD8H,UAAAA,YAAY,CAAC8B,EAAb,CAAgB5J,OAAhB,EAAyB,WAAzB,EAAsC2D,IAAI,EAA1C;EACD,SAFD;EAGD;;EAED,UAAMsX,QAAQ,GAAG,SAAXA,QAAW,GAAM;EACrB,YAAI,KAAI,CAAChZ,MAAL,CAAYgmB,SAAhB,EAA2B;EACzB,UAAA,KAAI,CAAC2D,cAAL;EACD;;EAED,YAAMC,cAAc,GAAG,KAAI,CAAC1B,WAA5B;EACA,QAAA,KAAI,CAACA,WAAL,GAAmB,IAAnB;EAEAriB,QAAAA,YAAY,CAACsC,OAAb,CAAqB,KAAI,CAACpK,OAA1B,EAAmC,KAAI,CAAC8e,WAAL,CAAiB3d,KAAjB,CAAuB8nB,KAA1D;;EAEA,YAAI4C,cAAc,KAAKnC,eAAvB,EAAwC;EACtC,UAAA,KAAI,CAACqB,MAAL,CAAY,IAAZ,EAAkB,KAAlB;EACD;EACF,OAbD;;EAeA,UAAI,KAAKV,GAAL,CAAS7c,SAAT,CAAmBE,QAAnB,CAA4BkT,iBAA5B,CAAJ,EAAkD;EAChD,YAAMjgB,kBAAkB,GAAGH,gCAAgC,CAAC,KAAK6pB,GAAN,CAA3D;EACAviB,QAAAA,YAAY,CAAC+B,GAAb,CAAiB,KAAKwgB,GAAtB,EAA2BprB,cAA3B,EAA2Cgc,QAA3C;EACA3Z,QAAAA,oBAAoB,CAAC,KAAK+oB,GAAN,EAAW1pB,kBAAX,CAApB;EACD,OAJD,MAIO;EACLsa,QAAAA,QAAQ;EACT;EACF;EACF;;WAEDZ,OAAA,gBAAO;EAAA;;EACL,QAAMgQ,GAAG,GAAG,KAAKW,aAAL,EAAZ;;EACA,QAAM/P,QAAQ,GAAG,SAAXA,QAAW,GAAM;EACrB,UAAI,MAAI,CAACkP,WAAL,KAAqBV,gBAArB,IAAyCY,GAAG,CAACrnB,UAAjD,EAA6D;EAC3DqnB,QAAAA,GAAG,CAACrnB,UAAJ,CAAe4K,WAAf,CAA2Byc,GAA3B;EACD;;EAED,MAAA,MAAI,CAACyB,cAAL;;EACA,MAAA,MAAI,CAAC9rB,OAAL,CAAamG,eAAb,CAA6B,kBAA7B;;EACA2B,MAAAA,YAAY,CAACsC,OAAb,CAAqB,MAAI,CAACpK,OAA1B,EAAmC,MAAI,CAAC8e,WAAL,CAAiB3d,KAAjB,CAAuB4nB,MAA1D;;EACA,MAAA,MAAI,CAACnL,OAAL,CAAac,OAAb;EACD,KATD;;EAWA,QAAMD,SAAS,GAAG3W,YAAY,CAACsC,OAAb,CAAqB,KAAKpK,OAA1B,EAAmC,KAAK8e,WAAL,CAAiB3d,KAAjB,CAAuB2nB,IAA1D,CAAlB;;EACA,QAAIrK,SAAS,CAAC9Y,gBAAd,EAAgC;EAC9B;EACD;;EAED0kB,IAAAA,GAAG,CAAC7c,SAAJ,CAAcC,MAAd,CAAqB0L,iBAArB,EAlBK;EAqBL;;EACA,QAAI,kBAAkBtZ,QAAQ,CAACyD,eAA/B,EAAgD;EAAA;;EAC9C,mBAAG4H,MAAH,cAAarL,QAAQ,CAACmE,IAAT,CAAcoH,QAA3B,EACG/I,OADH,CACW,UAAArC,OAAO;EAAA,eAAI8H,YAAY,CAACC,GAAb,CAAiB/H,OAAjB,EAA0B,WAA1B,EAAuC2D,IAAvC,CAAJ;EAAA,OADlB;EAED;;EAED,SAAKymB,cAAL,CAAoBN,aAApB,IAAqC,KAArC;EACA,SAAKM,cAAL,CAAoBP,aAApB,IAAqC,KAArC;EACA,SAAKO,cAAL,CAAoBR,aAApB,IAAqC,KAArC;;EAEA,QAAI,KAAKS,GAAL,CAAS7c,SAAT,CAAmBE,QAAnB,CAA4BkT,iBAA5B,CAAJ,EAAkD;EAChD,UAAMjgB,kBAAkB,GAAGH,gCAAgC,CAAC6pB,GAAD,CAA3D;EAEAviB,MAAAA,YAAY,CAAC+B,GAAb,CAAiBwgB,GAAjB,EAAsBprB,cAAtB,EAAsCgc,QAAtC;EACA3Z,MAAAA,oBAAoB,CAAC+oB,GAAD,EAAM1pB,kBAAN,CAApB;EACD,KALD,MAKO;EACLsa,MAAAA,QAAQ;EACT;;EAED,SAAKkP,WAAL,GAAmB,EAAnB;EACD;;WAEDxL,SAAA,kBAAS;EACP,QAAI,KAAKf,OAAL,KAAiB,IAArB,EAA2B;EACzB,WAAKA,OAAL,CAAagB,cAAb;EACD;EACF;;;WAIDsM,gBAAA,yBAAgB;EACd,WAAOllB,OAAO,CAAC,KAAK+lB,QAAL,EAAD,CAAd;EACD;;WAEDf,gBAAA,yBAAgB;EACd,QAAI,KAAKX,GAAT,EAAc;EACZ,aAAO,KAAKA,GAAZ;EACD;;EAED,QAAMrqB,OAAO,GAAGH,QAAQ,CAAC4F,aAAT,CAAuB,KAAvB,CAAhB;EACAzF,IAAAA,OAAO,CAAC6nB,SAAR,GAAoB,KAAK5lB,MAAL,CAAYimB,QAAhC;EAEA,SAAKmC,GAAL,GAAWrqB,OAAO,CAACoL,QAAR,CAAiB,CAAjB,CAAX;EACA,WAAO,KAAKif,GAAZ;EACD;;WAEDkB,aAAA,sBAAa;EACX,QAAMlB,GAAG,GAAG,KAAKW,aAAL,EAAZ;EACA,SAAKgB,iBAAL,CAAuB/gB,cAAc,CAAC7F,OAAf,CAAuBukB,sBAAvB,EAA+CU,GAA/C,CAAvB,EAA4E,KAAK0B,QAAL,EAA5E;EACA1B,IAAAA,GAAG,CAAC7c,SAAJ,CAAcC,MAAd,CAAqBmT,iBAArB;EACAyJ,IAAAA,GAAG,CAAC7c,SAAJ,CAAcC,MAAd,CAAqB0L,iBAArB;EACD;;WAED6S,oBAAA,2BAAkBhsB,OAAlB,EAA2BisB,OAA3B,EAAoC;EAClC,QAAIjsB,OAAO,KAAK,IAAhB,EAAsB;EACpB;EACD;;EAED,QAAI,OAAOisB,OAAP,KAAmB,QAAnB,IAA+B7qB,SAAS,CAAC6qB,OAAD,CAA5C,EAAuD;EACrD,UAAIA,OAAO,CAAC1Q,MAAZ,EAAoB;EAClB0Q,QAAAA,OAAO,GAAGA,OAAO,CAAC,CAAD,CAAjB;EACD,OAHoD;;;EAMrD,UAAI,KAAKhqB,MAAL,CAAYomB,IAAhB,EAAsB;EACpB,YAAI4D,OAAO,CAACjpB,UAAR,KAAuBhD,OAA3B,EAAoC;EAClCA,UAAAA,OAAO,CAAC6nB,SAAR,GAAoB,EAApB;EACA7nB,UAAAA,OAAO,CAACsiB,WAAR,CAAoB2J,OAApB;EACD;EACF,OALD,MAKO;EACLjsB,QAAAA,OAAO,CAACksB,SAAR,GAAoBD,OAAO,CAACE,WAA5B;EACD;;EAED;EACD;;EAED,QAAI,KAAKlqB,MAAL,CAAYomB,IAAhB,EAAsB;EACpB,UAAI,KAAKpmB,MAAL,CAAYsmB,QAAhB,EAA0B;EACxB0D,QAAAA,OAAO,GAAGlF,YAAY,CAACkF,OAAD,EAAU,KAAKhqB,MAAL,CAAYglB,SAAtB,EAAiC,KAAKhlB,MAAL,CAAYilB,UAA7C,CAAtB;EACD;;EAEDlnB,MAAAA,OAAO,CAAC6nB,SAAR,GAAoBoE,OAApB;EACD,KAND,MAMO;EACLjsB,MAAAA,OAAO,CAACksB,SAAR,GAAoBD,OAApB;EACD;EACF;;WAEDF,WAAA,oBAAW;EACT,QAAI5D,KAAK,GAAG,KAAKnoB,OAAL,CAAaE,YAAb,CAA0B,qBAA1B,CAAZ;;EAEA,QAAI,CAACioB,KAAL,EAAY;EACVA,MAAAA,KAAK,GAAG,OAAO,KAAKlmB,MAAL,CAAYkmB,KAAnB,KAA6B,UAA7B,GACN,KAAKlmB,MAAL,CAAYkmB,KAAZ,CAAkB7oB,IAAlB,CAAuB,KAAKU,OAA5B,CADM,GAEN,KAAKiC,MAAL,CAAYkmB,KAFd;EAGD;;EAED,WAAOA,KAAP;EACD;;;WAID3J,mBAAA,0BAAiBgN,UAAjB,EAA6B;EAAA;;EAC3B,QAAMY,eAAe,GAAG;EACtBnN,MAAAA,SAAS,EAAEuM,UADW;EAEtBpM,MAAAA,SAAS,EAAE;EACT7O,QAAAA,MAAM,EAAE,KAAK2O,UAAL,EADC;EAET3B,QAAAA,IAAI,EAAE;EACJ8O,UAAAA,QAAQ,EAAE,KAAKpqB,MAAL,CAAYqmB;EADlB,SAFG;EAKTgE,QAAAA,KAAK,EAAE;EACLtsB,UAAAA,OAAO,QAAM,KAAK8e,WAAL,CAAiB5S,IAAvB;EADF,SALE;EAQToT,QAAAA,eAAe,EAAE;EACfC,UAAAA,iBAAiB,EAAE,KAAKtd,MAAL,CAAYub;EADhB;EARR,OAFW;EActB+O,MAAAA,QAAQ,EAAE,kBAAAhoB,IAAI,EAAI;EAChB,YAAIA,IAAI,CAACioB,iBAAL,KAA2BjoB,IAAI,CAAC0a,SAApC,EAA+C;EAC7C,UAAA,MAAI,CAACwN,4BAAL,CAAkCloB,IAAlC;EACD;EACF,OAlBqB;EAmBtBmoB,MAAAA,QAAQ,EAAE,kBAAAnoB,IAAI;EAAA,eAAI,MAAI,CAACkoB,4BAAL,CAAkCloB,IAAlC,CAAJ;EAAA;EAnBQ,KAAxB;EAsBA,8BACK6nB,eADL,MAEK,KAAKnqB,MAAL,CAAYyb,YAFjB;EAID;;WAEDgO,sBAAA,6BAAoBF,UAApB,EAAgC;EAC9B,SAAKR,aAAL,GAAqBxd,SAArB,CAA+BkC,GAA/B,CAAsCoY,YAAtC,SAAsD0D,UAAtD;EACD;;WAEDtM,aAAA,sBAAa;EAAA;;EACX,QAAM3O,MAAM,GAAG,EAAf;;EAEA,QAAI,OAAO,KAAKtO,MAAL,CAAYsO,MAAnB,KAA8B,UAAlC,EAA8C;EAC5CA,MAAAA,MAAM,CAAC5I,EAAP,GAAY,UAAApD,IAAI,EAAI;EAClBA,QAAAA,IAAI,CAAC4a,OAAL,sBACK5a,IAAI,CAAC4a,OADV,MAEK,MAAI,CAACld,MAAL,CAAYsO,MAAZ,CAAmBhM,IAAI,CAAC4a,OAAxB,EAAiC,MAAI,CAACnf,OAAtC,KAAkD,EAFvD;EAKA,eAAOuE,IAAP;EACD,OAPD;EAQD,KATD,MASO;EACLgM,MAAAA,MAAM,CAACA,MAAP,GAAgB,KAAKtO,MAAL,CAAYsO,MAA5B;EACD;;EAED,WAAOA,MAAP;EACD;;WAEDob,gBAAA,yBAAgB;EACd,QAAI,KAAK1pB,MAAL,CAAYwY,SAAZ,KAA0B,KAA9B,EAAqC;EACnC,aAAO5a,QAAQ,CAACmE,IAAhB;EACD;;EAED,QAAI5C,SAAS,CAAC,KAAKa,MAAL,CAAYwY,SAAb,CAAb,EAAsC;EACpC,aAAO,KAAKxY,MAAL,CAAYwY,SAAnB;EACD;;EAED,WAAOxP,cAAc,CAAC7F,OAAf,CAAuB,KAAKnD,MAAL,CAAYwY,SAAnC,CAAP;EACD;;WAEDgR,iBAAA,wBAAexM,SAAf,EAA0B;EACxB,WAAOuJ,aAAa,CAACvJ,SAAS,CAACpc,WAAV,EAAD,CAApB;EACD;;WAEDynB,gBAAA,yBAAgB;EAAA;;EACd,QAAMqC,QAAQ,GAAG,KAAK1qB,MAAL,CAAYmI,OAAZ,CAAoBpJ,KAApB,CAA0B,GAA1B,CAAjB;EAEA2rB,IAAAA,QAAQ,CAACtqB,OAAT,CAAiB,UAAA+H,OAAO,EAAI;EAC1B,UAAIA,OAAO,KAAK,OAAhB,EAAyB;EACvBtC,QAAAA,YAAY,CAAC8B,EAAb,CAAgB,MAAI,CAAC5J,OAArB,EACE,MAAI,CAAC8e,WAAL,CAAiB3d,KAAjB,CAAuBgoB,KADzB,EAEE,MAAI,CAAClnB,MAAL,CAAYhC,QAFd,EAGE,UAAAmH,KAAK;EAAA,iBAAI,MAAI,CAAC6H,MAAL,CAAY7H,KAAZ,CAAJ;EAAA,SAHP;EAKD,OAND,MAMO,IAAIgD,OAAO,KAAK2f,cAAhB,EAAgC;EACrC,YAAM6C,OAAO,GAAGxiB,OAAO,KAAKwf,aAAZ,GACd,MAAI,CAAC9K,WAAL,CAAiB3d,KAAjB,CAAuBmoB,UADT,GAEd,MAAI,CAACxK,WAAL,CAAiB3d,KAAjB,CAAuBioB,OAFzB;EAGA,YAAMyD,QAAQ,GAAGziB,OAAO,KAAKwf,aAAZ,GACf,MAAI,CAAC9K,WAAL,CAAiB3d,KAAjB,CAAuBooB,UADR,GAEf,MAAI,CAACzK,WAAL,CAAiB3d,KAAjB,CAAuBkoB,QAFzB;EAIAvhB,QAAAA,YAAY,CAAC8B,EAAb,CAAgB,MAAI,CAAC5J,OAArB,EACE4sB,OADF,EAEE,MAAI,CAAC3qB,MAAL,CAAYhC,QAFd,EAGE,UAAAmH,KAAK;EAAA,iBAAI,MAAI,CAAC0jB,MAAL,CAAY1jB,KAAZ,CAAJ;EAAA,SAHP;EAKAU,QAAAA,YAAY,CAAC8B,EAAb,CAAgB,MAAI,CAAC5J,OAArB,EACE6sB,QADF,EAEE,MAAI,CAAC5qB,MAAL,CAAYhC,QAFd,EAGE,UAAAmH,KAAK;EAAA,iBAAI,MAAI,CAAC2jB,MAAL,CAAY3jB,KAAZ,CAAJ;EAAA,SAHP;EAKD;EACF,KA1BD;;EA4BA,SAAK6jB,iBAAL,GAAyB,YAAM;EAC7B,UAAI,MAAI,CAACjrB,OAAT,EAAkB;EAChB,QAAA,MAAI,CAACqa,IAAL;EACD;EACF,KAJD;;EAMAvS,IAAAA,YAAY,CAAC8B,EAAb,CAAgBqB,cAAc,CAACW,OAAf,CAAuB,KAAK5L,OAA5B,QAAyCwpB,gBAAzC,CAAhB,EACE,eADF,EAEE,KAAKyB,iBAFP;;EAKA,QAAI,KAAKhpB,MAAL,CAAYhC,QAAhB,EAA0B;EACxB,WAAKgC,MAAL,sBACK,KAAKA,MADV;EAEEmI,QAAAA,OAAO,EAAE,QAFX;EAGEnK,QAAAA,QAAQ,EAAE;EAHZ;EAKD,KAND,MAMO;EACL,WAAK6sB,SAAL;EACD;EACF;;WAEDA,YAAA,qBAAY;EACV,QAAMC,SAAS,GAAG,OAAO,KAAK/sB,OAAL,CAAaE,YAAb,CAA0B,qBAA1B,CAAzB;;EAEA,QAAI,KAAKF,OAAL,CAAaE,YAAb,CAA0B,OAA1B,KAAsC6sB,SAAS,KAAK,QAAxD,EAAkE;EAChE,WAAK/sB,OAAL,CAAawP,YAAb,CACE,qBADF,EAEE,KAAKxP,OAAL,CAAaE,YAAb,CAA0B,OAA1B,KAAsC,EAFxC;EAKA,WAAKF,OAAL,CAAawP,YAAb,CAA0B,OAA1B,EAAmC,EAAnC;EACD;EACF;;WAEDsb,SAAA,gBAAO1jB,KAAP,EAAcuY,OAAd,EAAuB;EACrB,QAAM+K,OAAO,GAAG,KAAK5L,WAAL,CAAiB1S,QAAjC;EACAuT,IAAAA,OAAO,GAAGA,OAAO,IAAIhb,IAAI,CAACG,OAAL,CAAasC,KAAK,CAACK,cAAnB,EAAmCijB,OAAnC,CAArB;;EAEA,QAAI,CAAC/K,OAAL,EAAc;EACZA,MAAAA,OAAO,GAAG,IAAI,KAAKb,WAAT,CACR1X,KAAK,CAACK,cADE,EAER,KAAKkjB,kBAAL,EAFQ,CAAV;EAIAhmB,MAAAA,IAAI,CAACC,OAAL,CAAawC,KAAK,CAACK,cAAnB,EAAmCijB,OAAnC,EAA4C/K,OAA5C;EACD;;EAED,QAAIvY,KAAJ,EAAW;EACTuY,MAAAA,OAAO,CAACyK,cAAR,CACEhjB,KAAK,CAACE,IAAN,KAAe,SAAf,GAA2BuiB,aAA3B,GAA2CD,aAD7C,IAEI,IAFJ;EAGD;;EAED,QAAIjK,OAAO,CAACqL,aAAR,GAAwBxd,SAAxB,CAAkCE,QAAlC,CAA2CyL,iBAA3C,KACAwG,OAAO,CAACwK,WAAR,KAAwBV,gBAD5B,EAC8C;EAC5C9J,MAAAA,OAAO,CAACwK,WAAR,GAAsBV,gBAAtB;EACA;EACD;;EAED9S,IAAAA,YAAY,CAACgJ,OAAO,CAACuK,QAAT,CAAZ;EAEAvK,IAAAA,OAAO,CAACwK,WAAR,GAAsBV,gBAAtB;;EAEA,QAAI,CAAC9J,OAAO,CAAC1d,MAAR,CAAemmB,KAAhB,IAAyB,CAACzI,OAAO,CAAC1d,MAAR,CAAemmB,KAAf,CAAqB9N,IAAnD,EAAyD;EACvDqF,MAAAA,OAAO,CAACrF,IAAR;EACA;EACD;;EAEDqF,IAAAA,OAAO,CAACuK,QAAR,GAAmBpoB,UAAU,CAAC,YAAM;EAClC,UAAI6d,OAAO,CAACwK,WAAR,KAAwBV,gBAA5B,EAA8C;EAC5C9J,QAAAA,OAAO,CAACrF,IAAR;EACD;EACF,KAJ4B,EAI1BqF,OAAO,CAAC1d,MAAR,CAAemmB,KAAf,CAAqB9N,IAJK,CAA7B;EAKD;;WAEDyQ,SAAA,gBAAO3jB,KAAP,EAAcuY,OAAd,EAAuB;EACrB,QAAM+K,OAAO,GAAG,KAAK5L,WAAL,CAAiB1S,QAAjC;EACAuT,IAAAA,OAAO,GAAGA,OAAO,IAAIhb,IAAI,CAACG,OAAL,CAAasC,KAAK,CAACK,cAAnB,EAAmCijB,OAAnC,CAArB;;EAEA,QAAI,CAAC/K,OAAL,EAAc;EACZA,MAAAA,OAAO,GAAG,IAAI,KAAKb,WAAT,CACR1X,KAAK,CAACK,cADE,EAER,KAAKkjB,kBAAL,EAFQ,CAAV;EAIAhmB,MAAAA,IAAI,CAACC,OAAL,CAAawC,KAAK,CAACK,cAAnB,EAAmCijB,OAAnC,EAA4C/K,OAA5C;EACD;;EAED,QAAIvY,KAAJ,EAAW;EACTuY,MAAAA,OAAO,CAACyK,cAAR,CACEhjB,KAAK,CAACE,IAAN,KAAe,UAAf,GAA4BuiB,aAA5B,GAA4CD,aAD9C,IAEI,KAFJ;EAGD;;EAED,QAAIjK,OAAO,CAACkL,oBAAR,EAAJ,EAAoC;EAClC;EACD;;EAEDlU,IAAAA,YAAY,CAACgJ,OAAO,CAACuK,QAAT,CAAZ;EAEAvK,IAAAA,OAAO,CAACwK,WAAR,GAAsBT,eAAtB;;EAEA,QAAI,CAAC/J,OAAO,CAAC1d,MAAR,CAAemmB,KAAhB,IAAyB,CAACzI,OAAO,CAAC1d,MAAR,CAAemmB,KAAf,CAAqB/N,IAAnD,EAAyD;EACvDsF,MAAAA,OAAO,CAACtF,IAAR;EACA;EACD;;EAEDsF,IAAAA,OAAO,CAACuK,QAAR,GAAmBpoB,UAAU,CAAC,YAAM;EAClC,UAAI6d,OAAO,CAACwK,WAAR,KAAwBT,eAA5B,EAA6C;EAC3C/J,QAAAA,OAAO,CAACtF,IAAR;EACD;EACF,KAJ4B,EAI1BsF,OAAO,CAAC1d,MAAR,CAAemmB,KAAf,CAAqB/N,IAJK,CAA7B;EAKD;;WAEDwQ,uBAAA,gCAAuB;EACrB,SAAK,IAAMzgB,OAAX,IAAsB,KAAKggB,cAA3B,EAA2C;EACzC,UAAI,KAAKA,cAAL,CAAoBhgB,OAApB,CAAJ,EAAkC;EAChC,eAAO,IAAP;EACD;EACF;;EAED,WAAO,KAAP;EACD;;WAEDsK,aAAA,oBAAWzS,MAAX,EAAmB;EACjB,QAAM+qB,cAAc,GAAGhd,WAAW,CAACG,iBAAZ,CAA8B,KAAKnQ,OAAnC,CAAvB;EAEAmC,IAAAA,MAAM,CAACC,IAAP,CAAY4qB,cAAZ,EACG3qB,OADH,CACW,UAAA4qB,QAAQ,EAAI;EACnB,UAAIjF,qBAAqB,CAAC7e,OAAtB,CAA8B8jB,QAA9B,MAA4C,CAAC,CAAjD,EAAoD;EAClD,eAAOD,cAAc,CAACC,QAAD,CAArB;EACD;EACF,KALH;;EAOA,QAAIhrB,MAAM,IAAI,OAAOA,MAAM,CAACwY,SAAd,KAA4B,QAAtC,IAAkDxY,MAAM,CAACwY,SAAP,CAAiBc,MAAvE,EAA+E;EAC7EtZ,MAAAA,MAAM,CAACwY,SAAP,GAAmBxY,MAAM,CAACwY,SAAP,CAAiB,CAAjB,CAAnB;EACD;;EAEDxY,IAAAA,MAAM,sBACD,KAAK6c,WAAL,CAAiBvN,OADhB,MAEDyb,cAFC,MAGD,OAAO/qB,MAAP,KAAkB,QAAlB,IAA8BA,MAA9B,GAAuCA,MAAvC,GAAgD,EAH/C,CAAN;;EAMA,QAAI,OAAOA,MAAM,CAACmmB,KAAd,KAAwB,QAA5B,EAAsC;EACpCnmB,MAAAA,MAAM,CAACmmB,KAAP,GAAe;EACb9N,QAAAA,IAAI,EAAErY,MAAM,CAACmmB,KADA;EAEb/N,QAAAA,IAAI,EAAEpY,MAAM,CAACmmB;EAFA,OAAf;EAID;;EAED,QAAI,OAAOnmB,MAAM,CAACkmB,KAAd,KAAwB,QAA5B,EAAsC;EACpClmB,MAAAA,MAAM,CAACkmB,KAAP,GAAelmB,MAAM,CAACkmB,KAAP,CAAa9oB,QAAb,EAAf;EACD;;EAED,QAAI,OAAO4C,MAAM,CAACgqB,OAAd,KAA0B,QAA9B,EAAwC;EACtChqB,MAAAA,MAAM,CAACgqB,OAAP,GAAiBhqB,MAAM,CAACgqB,OAAP,CAAe5sB,QAAf,EAAjB;EACD;;EAED0C,IAAAA,eAAe,CACbmK,MADa,EAEbjK,MAFa,EAGb,KAAK6c,WAAL,CAAiBhN,WAHJ,CAAf;;EAMA,QAAI7P,MAAM,CAACsmB,QAAX,EAAqB;EACnBtmB,MAAAA,MAAM,CAACimB,QAAP,GAAkBnB,YAAY,CAAC9kB,MAAM,CAACimB,QAAR,EAAkBjmB,MAAM,CAACglB,SAAzB,EAAoChlB,MAAM,CAACilB,UAA3C,CAA9B;EACD;;EAED,WAAOjlB,MAAP;EACD;;WAED0oB,qBAAA,8BAAqB;EACnB,QAAM1oB,MAAM,GAAG,EAAf;;EAEA,QAAI,KAAKA,MAAT,EAAiB;EACf,WAAK,IAAMqC,GAAX,IAAkB,KAAKrC,MAAvB,EAA+B;EAC7B,YAAI,KAAK6c,WAAL,CAAiBvN,OAAjB,CAAyBjN,GAAzB,MAAkC,KAAKrC,MAAL,CAAYqC,GAAZ,CAAtC,EAAwD;EACtDrC,UAAAA,MAAM,CAACqC,GAAD,CAAN,GAAc,KAAKrC,MAAL,CAAYqC,GAAZ,CAAd;EACD;EACF;EACF;;EAED,WAAOrC,MAAP;EACD;;WAED6pB,iBAAA,0BAAiB;EACf,QAAMzB,GAAG,GAAG,KAAKW,aAAL,EAAZ;EACA,QAAMkC,QAAQ,GAAG7C,GAAG,CAACnqB,YAAJ,CAAiB,OAAjB,EAA0BX,KAA1B,CAAgCwoB,kBAAhC,CAAjB;;EACA,QAAImF,QAAQ,KAAK,IAAb,IAAqBA,QAAQ,CAAC7kB,MAAT,GAAkB,CAA3C,EAA8C;EAC5C6kB,MAAAA,QAAQ,CAACC,GAAT,CAAa,UAAAC,KAAK;EAAA,eAAIA,KAAK,CAAChtB,IAAN,EAAJ;EAAA,OAAlB,EACGiC,OADH,CACW,UAAAgrB,MAAM;EAAA,eAAIhD,GAAG,CAAC7c,SAAJ,CAAcC,MAAd,CAAqB4f,MAArB,CAAJ;EAAA,OADjB;EAED;EACF;;WAEDZ,+BAAA,sCAA6Ba,UAA7B,EAAyC;EACvC,QAAMC,cAAc,GAAGD,UAAU,CAACzoB,QAAlC;EACA,SAAKwlB,GAAL,GAAWkD,cAAc,CAACC,MAA1B;;EACA,SAAK1B,cAAL;;EACA,SAAKJ,mBAAL,CAAyB,KAAKD,cAAL,CAAoB6B,UAAU,CAACrO,SAA/B,CAAzB;EACD;;WAED2M,iBAAA,0BAAiB;EACf,QAAMvB,GAAG,GAAG,KAAKW,aAAL,EAAZ;EACA,QAAMyC,mBAAmB,GAAG,KAAKxrB,MAAL,CAAYgmB,SAAxC;;EACA,QAAIoC,GAAG,CAACnqB,YAAJ,CAAiB,aAAjB,MAAoC,IAAxC,EAA8C;EAC5C;EACD;;EAEDmqB,IAAAA,GAAG,CAAC7c,SAAJ,CAAcC,MAAd,CAAqBmT,iBAArB;EACA,SAAK3e,MAAL,CAAYgmB,SAAZ,GAAwB,KAAxB;EACA,SAAK5N,IAAL;EACA,SAAKC,IAAL;EACA,SAAKrY,MAAL,CAAYgmB,SAAZ,GAAwBwF,mBAAxB;EACD;;;YAIM5f,kBAAP,yBAAuB5L,MAAvB,EAA+B;EAC7B,WAAO,KAAK6L,IAAL,CAAU,YAAY;EAC3B,UAAIvJ,IAAI,GAAGI,IAAI,CAACG,OAAL,CAAa,IAAb,EAAmBsH,UAAnB,CAAX;;EACA,UAAMqI,OAAO,GAAG,OAAOxS,MAAP,KAAkB,QAAlB,IAA8BA,MAA9C;;EAEA,UAAI,CAACsC,IAAD,IAAS,eAAe5B,IAAf,CAAoBV,MAApB,CAAb,EAA0C;EACxC;EACD;;EAED,UAAI,CAACsC,IAAL,EAAW;EACTA,QAAAA,IAAI,GAAG,IAAIylB,OAAJ,CAAY,IAAZ,EAAkBvV,OAAlB,CAAP;EACD;;EAED,UAAI,OAAOxS,MAAP,KAAkB,QAAtB,EAAgC;EAC9B,YAAI,OAAOsC,IAAI,CAACtC,MAAD,CAAX,KAAwB,WAA5B,EAAyC;EACvC,gBAAM,IAAIyW,SAAJ,wBAAkCzW,MAAlC,QAAN;EACD;;EAEDsC,QAAAA,IAAI,CAACtC,MAAD,CAAJ;EACD;EACF,KAnBM,CAAP;EAoBD;;YAEMgM,cAAP,qBAAmBjO,OAAnB,EAA4B;EAC1B,WAAO2E,IAAI,CAACG,OAAL,CAAa9E,OAAb,EAAsBoM,UAAtB,CAAP;EACD;;;;0BAxoBoB;EACnB,aAAOD,SAAP;EACD;;;0BAEoB;EACnB,aAAOoF,SAAP;EACD;;;0BAEiB;EAChB,aAAOrF,MAAP;EACD;;;0BAEqB;EACpB,aAAOE,UAAP;EACD;;;0BAEkB;EACjB,aAAOjL,OAAP;EACD;;;0BAEsB;EACrB,aAAOkL,WAAP;EACD;;;0BAEwB;EACvB,aAAOyF,aAAP;EACD;;;;;;EAinBH,IAAMzL,GAAC,GAAGvC,SAAS,EAAnB;EAEA;;;;;;;EAMA;;EACA,IAAIuC,GAAJ,EAAO;EACL,MAAM6H,oBAAkB,GAAG7H,GAAC,CAACsB,EAAF,CAAKuE,MAAL,CAA3B;EACA7F,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,IAAa8d,OAAO,CAACnc,eAArB;EACAxH,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,EAAWiC,WAAX,GAAyB6b,OAAzB;;EACA3jB,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,EAAWkC,UAAX,GAAwB,YAAM;EAC5B/H,IAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,IAAagC,oBAAb;EACA,WAAO8b,OAAO,CAACnc,eAAf;EACD,GAHD;EAID;;ECnyBD;;;;;;EAMA,IAAM3B,MAAI,GAAG,SAAb;EACA,IAAMC,SAAO,GAAG,OAAhB;EACA,IAAMC,UAAQ,GAAG,YAAjB;EACA,IAAMC,WAAS,SAAOD,UAAtB;EACA,IAAM0b,cAAY,GAAG,YAArB;EACA,IAAMC,oBAAkB,GAAG,IAAIrlB,MAAJ,aAAqBolB,cAArB,WAAyC,GAAzC,CAA3B;;EAEA,IAAMvW,SAAO,sBACRyY,OAAO,CAACzY,OADA;EAEX0N,EAAAA,SAAS,EAAE,OAFA;EAGX7U,EAAAA,OAAO,EAAE,OAHE;EAIX6hB,EAAAA,OAAO,EAAE,EAJE;EAKX/D,EAAAA,QAAQ,EAAE,yCACE,mCADF,GAEE,kCAFF,GAGE;EARD,EAAb;;EAWA,IAAMpW,aAAW,sBACZkY,OAAO,CAAClY,WADI;EAEfma,EAAAA,OAAO,EAAE;EAFM,EAAjB;;EAKA,IAAM9qB,OAAK,GAAG;EACZ2nB,EAAAA,IAAI,WAASzc,WADD;EAEZ0c,EAAAA,MAAM,aAAW1c,WAFL;EAGZ2c,EAAAA,IAAI,WAAS3c,WAHD;EAIZ4c,EAAAA,KAAK,YAAU5c,WAJH;EAKZ6c,EAAAA,QAAQ,eAAa7c,WALT;EAMZ8c,EAAAA,KAAK,YAAU9c,WANH;EAOZ+c,EAAAA,OAAO,cAAY/c,WAPP;EAQZgd,EAAAA,QAAQ,eAAahd,WART;EASZid,EAAAA,UAAU,iBAAejd,WATb;EAUZkd,EAAAA,UAAU,iBAAeld;EAVb,CAAd;EAaA,IAAMuU,iBAAe,GAAG,MAAxB;EACA,IAAMzH,iBAAe,GAAG,MAAxB;EAEA,IAAMuU,cAAc,GAAG,iBAAvB;EACA,IAAMC,gBAAgB,GAAG,eAAzB;EAEA;;;;;;MAMMC;;;;;;;;;EA+BJ;WAEA1C,gBAAA,yBAAgB;EACd,WAAO,KAAKa,QAAL,MAAmB,KAAK8B,WAAL,EAA1B;EACD;;WAEDtC,aAAA,sBAAa;EACX,QAAMlB,GAAG,GAAG,KAAKW,aAAL,EAAZ,CADW;;EAIX,SAAKgB,iBAAL,CAAuB/gB,cAAc,CAAC7F,OAAf,CAAuBsoB,cAAvB,EAAuCrD,GAAvC,CAAvB,EAAoE,KAAK0B,QAAL,EAApE;;EACA,QAAIE,OAAO,GAAG,KAAK4B,WAAL,EAAd;;EACA,QAAI,OAAO5B,OAAP,KAAmB,UAAvB,EAAmC;EACjCA,MAAAA,OAAO,GAAGA,OAAO,CAAC3sB,IAAR,CAAa,KAAKU,OAAlB,CAAV;EACD;;EAED,SAAKgsB,iBAAL,CAAuB/gB,cAAc,CAAC7F,OAAf,CAAuBuoB,gBAAvB,EAAyCtD,GAAzC,CAAvB,EAAsE4B,OAAtE;EAEA5B,IAAAA,GAAG,CAAC7c,SAAJ,CAAcC,MAAd,CAAqBmT,iBAArB;EACAyJ,IAAAA,GAAG,CAAC7c,SAAJ,CAAcC,MAAd,CAAqB0L,iBAArB;EACD;;WAEDuS,sBAAA,6BAAoBF,UAApB,EAAgC;EAC9B,SAAKR,aAAL,GAAqBxd,SAArB,CAA+BkC,GAA/B,CAAsCoY,cAAtC,SAAsD0D,UAAtD;EACD;;;WAIDqC,cAAA,uBAAc;EACZ,WAAO,KAAK7tB,OAAL,CAAaE,YAAb,CAA0B,cAA1B,KACL,KAAK+B,MAAL,CAAYgqB,OADd;EAED;;WAEDH,iBAAA,0BAAiB;EACf,QAAMzB,GAAG,GAAG,KAAKW,aAAL,EAAZ;EACA,QAAMkC,QAAQ,GAAG7C,GAAG,CAACnqB,YAAJ,CAAiB,OAAjB,EAA0BX,KAA1B,CAAgCwoB,oBAAhC,CAAjB;;EACA,QAAImF,QAAQ,KAAK,IAAb,IAAqBA,QAAQ,CAAC7kB,MAAT,GAAkB,CAA3C,EAA8C;EAC5C6kB,MAAAA,QAAQ,CAACC,GAAT,CAAa,UAAAC,KAAK;EAAA,eAAIA,KAAK,CAAChtB,IAAN,EAAJ;EAAA,OAAlB,EACGiC,OADH,CACW,UAAAgrB,MAAM;EAAA,eAAIhD,GAAG,CAAC7c,SAAJ,CAAcC,MAAd,CAAqB4f,MAArB,CAAJ;EAAA,OADjB;EAED;EACF;;;YAIMxf,kBAAP,yBAAuB5L,MAAvB,EAA+B;EAC7B,WAAO,KAAK6L,IAAL,CAAU,YAAY;EAC3B,UAAIvJ,IAAI,GAAGI,IAAI,CAACG,OAAL,CAAa,IAAb,EAAmBsH,UAAnB,CAAX;;EACA,UAAMqI,OAAO,GAAG,OAAOxS,MAAP,KAAkB,QAAlB,GAA6BA,MAA7B,GAAsC,IAAtD;;EAEA,UAAI,CAACsC,IAAD,IAAS,eAAe5B,IAAf,CAAoBV,MAApB,CAAb,EAA0C;EACxC;EACD;;EAED,UAAI,CAACsC,IAAL,EAAW;EACTA,QAAAA,IAAI,GAAG,IAAIqpB,OAAJ,CAAY,IAAZ,EAAkBnZ,OAAlB,CAAP;EACA9P,QAAAA,IAAI,CAACC,OAAL,CAAa,IAAb,EAAmBwH,UAAnB,EAA6B7H,IAA7B;EACD;;EAED,UAAI,OAAOtC,MAAP,KAAkB,QAAtB,EAAgC;EAC9B,YAAI,OAAOsC,IAAI,CAACtC,MAAD,CAAX,KAAwB,WAA5B,EAAyC;EACvC,gBAAM,IAAIyW,SAAJ,wBAAkCzW,MAAlC,QAAN;EACD;;EAEDsC,QAAAA,IAAI,CAACtC,MAAD,CAAJ;EACD;EACF,KApBM,CAAP;EAqBD;;YAEMgM,cAAP,qBAAmBjO,OAAnB,EAA4B;EAC1B,WAAO2E,IAAI,CAACG,OAAL,CAAa9E,OAAb,EAAsBoM,UAAtB,CAAP;EACD;;;;EApGD;0BAEqB;EACnB,aAAOD,SAAP;EACD;;;0BAEoB;EACnB,aAAOoF,SAAP;EACD;;;0BAEiB;EAChB,aAAOrF,MAAP;EACD;;;0BAEqB;EACpB,aAAOE,UAAP;EACD;;;0BAEkB;EACjB,aAAOjL,OAAP;EACD;;;0BAEsB;EACrB,aAAOkL,WAAP;EACD;;;0BAEwB;EACvB,aAAOyF,aAAP;EACD;;;;IA7BmBkY;;EAwGtB,IAAM3jB,GAAC,GAAGvC,SAAS,EAAnB;EAEA;;;;;;EAKA;;EACA,IAAIuC,GAAJ,EAAO;EACL,MAAM6H,oBAAkB,GAAG7H,GAAC,CAACsB,EAAF,CAAKuE,MAAL,CAA3B;EACA7F,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,IAAa0hB,OAAO,CAAC/f,eAArB;EACAxH,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,EAAWiC,WAAX,GAAyByf,OAAzB;;EACAvnB,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,EAAWkC,UAAX,GAAwB,YAAM;EAC5B/H,IAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,IAAagC,oBAAb;EACA,WAAO0f,OAAO,CAAC/f,eAAf;EACD,GAHD;EAID;;ECxKD;;;;;;EAMA,IAAM3B,MAAI,GAAG,WAAb;EACA,IAAMC,SAAO,GAAG,OAAhB;EACA,IAAMC,UAAQ,GAAG,cAAjB;EACA,IAAMC,WAAS,SAAOD,UAAtB;EACA,IAAME,cAAY,GAAG,WAArB;EAEA,IAAMiF,SAAO,GAAG;EACdhB,EAAAA,MAAM,EAAE,EADM;EAEdud,EAAAA,MAAM,EAAE,MAFM;EAGd3lB,EAAAA,MAAM,EAAE;EAHM,CAAhB;EAMA,IAAM2J,aAAW,GAAG;EAClBvB,EAAAA,MAAM,EAAE,QADU;EAElBud,EAAAA,MAAM,EAAE,QAFU;EAGlB3lB,EAAAA,MAAM,EAAE;EAHU,CAApB;EAMA,IAAM4lB,cAAc,gBAAc1hB,WAAlC;EACA,IAAM2hB,YAAY,cAAY3hB,WAA9B;EACA,IAAMyG,qBAAmB,YAAUzG,WAAV,GAAsBC,cAA/C;EAEA,IAAM2hB,wBAAwB,GAAG,eAAjC;EACA,IAAM5f,mBAAiB,GAAG,QAA1B;EAEA,IAAM6f,iBAAiB,GAAG,qBAA1B;EACA,IAAMC,uBAAuB,GAAG,mBAAhC;EACA,IAAMC,kBAAkB,GAAG,WAA3B;EACA,IAAMC,kBAAkB,GAAG,WAA3B;EACA,IAAMC,mBAAmB,GAAG,kBAA5B;EACA,IAAMC,iBAAiB,GAAG,WAA1B;EACA,IAAMC,wBAAwB,GAAG,kBAAjC;EAEA,IAAMC,aAAa,GAAG,QAAtB;EACA,IAAMC,eAAe,GAAG,UAAxB;EAEA;;;;;;MAMMC;EACJ,qBAAY3uB,OAAZ,EAAqBiC,MAArB,EAA6B;EAAA;;EAC3B,SAAK8K,QAAL,GAAgB/M,OAAhB;EACA,SAAK4uB,cAAL,GAAsB5uB,OAAO,CAAC6W,OAAR,KAAoB,MAApB,GAA6BpW,MAA7B,GAAsCT,OAA5D;EACA,SAAKyU,OAAL,GAAe,KAAKC,UAAL,CAAgBzS,MAAhB,CAAf;EACA,SAAKgY,SAAL,GAAoB,KAAKxF,OAAL,CAAatM,MAAhB,SAA0BimB,kBAA1B,UACQ,KAAK3Z,OAAL,CAAatM,MADrB,SAC+BmmB,mBAD/B,WAEQ,KAAK7Z,OAAL,CAAatM,MAFrB,UAEgC8lB,wBAFhC,CAAjB;EAGA,SAAKY,QAAL,GAAgB,EAAhB;EACA,SAAKC,QAAL,GAAgB,EAAhB;EACA,SAAKC,aAAL,GAAqB,IAArB;EACA,SAAKC,aAAL,GAAqB,CAArB;EAEAlnB,IAAAA,YAAY,CAAC8B,EAAb,CAAgB,KAAKglB,cAArB,EAAqCZ,YAArC,EAAmD,UAAA5mB,KAAK;EAAA,aAAI,KAAI,CAAC6nB,QAAL,CAAc7nB,KAAd,CAAJ;EAAA,KAAxD;EAEA,SAAK8nB,OAAL;;EACA,SAAKD,QAAL;;EAEAtqB,IAAAA,IAAI,CAACC,OAAL,CAAa5E,OAAb,EAAsBoM,UAAtB,EAAgC,IAAhC;EACD;;;;;EAYD;WAEA8iB,UAAA,mBAAU;EAAA;;EACR,QAAMC,UAAU,GAAG,KAAKP,cAAL,KAAwB,KAAKA,cAAL,CAAoBnuB,MAA5C,GACjBguB,aADiB,GAEjBC,eAFF;EAIA,QAAMU,YAAY,GAAG,KAAK3a,OAAL,CAAaqZ,MAAb,KAAwB,MAAxB,GACnBqB,UADmB,GAEnB,KAAK1a,OAAL,CAAaqZ,MAFf;EAIA,QAAMuB,UAAU,GAAGD,YAAY,KAAKV,eAAjB,GACjB,KAAKY,aAAL,EADiB,GAEjB,CAFF;EAIA,SAAKT,QAAL,GAAgB,EAAhB;EACA,SAAKC,QAAL,GAAgB,EAAhB;EAEA,SAAKE,aAAL,GAAqB,KAAKO,gBAAL,EAArB;EAEA,QAAMC,OAAO,GAAGvkB,cAAc,CAACjG,IAAf,CAAoB,KAAKiV,SAAzB,CAAhB;EAEAuV,IAAAA,OAAO,CACJrC,GADH,CACO,UAAAntB,OAAO,EAAI;EACd,UAAImI,MAAJ;EACA,UAAMsnB,cAAc,GAAGpvB,sBAAsB,CAACL,OAAD,CAA7C;;EAEA,UAAIyvB,cAAJ,EAAoB;EAClBtnB,QAAAA,MAAM,GAAG8C,cAAc,CAAC7F,OAAf,CAAuBqqB,cAAvB,CAAT;EACD;;EAED,UAAItnB,MAAJ,EAAY;EACV,YAAMunB,SAAS,GAAGvnB,MAAM,CAACsI,qBAAP,EAAlB;;EACA,YAAIif,SAAS,CAACtL,KAAV,IAAmBsL,SAAS,CAACC,MAAjC,EAAyC;EACvC,iBAAO,CACL3f,WAAW,CAACof,YAAD,CAAX,CAA0BjnB,MAA1B,EAAkCuI,GAAlC,GAAwC2e,UADnC,EAELI,cAFK,CAAP;EAID;EACF;;EAED,aAAO,IAAP;EACD,KApBH,EAqBGpkB,MArBH,CAqBU,UAAAukB,IAAI;EAAA,aAAIA,IAAJ;EAAA,KArBd,EAsBGC,IAtBH,CAsBQ,UAAC1K,CAAD,EAAIE,CAAJ;EAAA,aAAUF,CAAC,CAAC,CAAD,CAAD,GAAOE,CAAC,CAAC,CAAD,CAAlB;EAAA,KAtBR,EAuBGhjB,OAvBH,CAuBW,UAAAutB,IAAI,EAAI;EACf,MAAA,MAAI,CAACf,QAAL,CAAcljB,IAAd,CAAmBikB,IAAI,CAAC,CAAD,CAAvB;;EACA,MAAA,MAAI,CAACd,QAAL,CAAcnjB,IAAd,CAAmBikB,IAAI,CAAC,CAAD,CAAvB;EACD,KA1BH;EA2BD;;WAEDtiB,UAAA,mBAAU;EACR3I,IAAAA,IAAI,CAACI,UAAL,CAAgB,KAAKgI,QAArB,EAA+BX,UAA/B;EACAtE,IAAAA,YAAY,CAACC,GAAb,CAAiB,KAAK6mB,cAAtB,EAAsCviB,WAAtC;EAEA,SAAKU,QAAL,GAAgB,IAAhB;EACA,SAAK6hB,cAAL,GAAsB,IAAtB;EACA,SAAKna,OAAL,GAAe,IAAf;EACA,SAAKwF,SAAL,GAAiB,IAAjB;EACA,SAAK4U,QAAL,GAAgB,IAAhB;EACA,SAAKC,QAAL,GAAgB,IAAhB;EACA,SAAKC,aAAL,GAAqB,IAArB;EACA,SAAKC,aAAL,GAAqB,IAArB;EACD;;;WAIDta,aAAA,oBAAWzS,MAAX,EAAmB;EACjBA,IAAAA,MAAM,sBACDsP,SADC,MAED,OAAOtP,MAAP,KAAkB,QAAlB,IAA8BA,MAA9B,GAAuCA,MAAvC,GAAgD,EAF/C,CAAN;;EAKA,QAAI,OAAOA,MAAM,CAACkG,MAAd,KAAyB,QAA7B,EAAuC;EAAA,UAC/B/D,EAD+B,GACxBnC,MAAM,CAACkG,MADiB,CAC/B/D,EAD+B;;EAErC,UAAI,CAACA,EAAL,EAAS;EACPA,QAAAA,EAAE,GAAG3E,MAAM,CAACyM,MAAD,CAAX;EACAjK,QAAAA,MAAM,CAACkG,MAAP,CAAc/D,EAAd,GAAmBA,EAAnB;EACD;;EAEDnC,MAAAA,MAAM,CAACkG,MAAP,SAAoB/D,EAApB;EACD;;EAEDrC,IAAAA,eAAe,CAACmK,MAAD,EAAOjK,MAAP,EAAe6P,aAAf,CAAf;EAEA,WAAO7P,MAAP;EACD;;WAEDqtB,gBAAA,yBAAgB;EACd,WAAO,KAAKV,cAAL,KAAwBnuB,MAAxB,GACL,KAAKmuB,cAAL,CAAoBkB,WADf,GAEL,KAAKlB,cAAL,CAAoBje,SAFtB;EAGD;;WAED4e,mBAAA,4BAAmB;EACjB,WAAO,KAAKX,cAAL,CAAoBxL,YAApB,IAAoCzjB,IAAI,CAACowB,GAAL,CACzClwB,QAAQ,CAACmE,IAAT,CAAcof,YAD2B,EAEzCvjB,QAAQ,CAACyD,eAAT,CAAyB8f,YAFgB,CAA3C;EAID;;WAED4M,mBAAA,4BAAmB;EACjB,WAAO,KAAKpB,cAAL,KAAwBnuB,MAAxB,GACLA,MAAM,CAACwvB,WADF,GAEL,KAAKrB,cAAL,CAAoBne,qBAApB,GAA4Ckf,MAF9C;EAGD;;WAEDV,WAAA,oBAAW;EACT,QAAMte,SAAS,GAAG,KAAK2e,aAAL,KAAuB,KAAK7a,OAAL,CAAalE,MAAtD;;EACA,QAAM6S,YAAY,GAAG,KAAKmM,gBAAL,EAArB;;EACA,QAAMW,SAAS,GAAG,KAAKzb,OAAL,CAAalE,MAAb,GAChB6S,YADgB,GAEhB,KAAK4M,gBAAL,EAFF;;EAIA,QAAI,KAAKhB,aAAL,KAAuB5L,YAA3B,EAAyC;EACvC,WAAK8L,OAAL;EACD;;EAED,QAAIve,SAAS,IAAIuf,SAAjB,EAA4B;EAC1B,UAAM/nB,MAAM,GAAG,KAAK2mB,QAAL,CAAc,KAAKA,QAAL,CAAczmB,MAAd,GAAuB,CAArC,CAAf;;EAEA,UAAI,KAAK0mB,aAAL,KAAuB5mB,MAA3B,EAAmC;EACjC,aAAKgoB,SAAL,CAAehoB,MAAf;EACD;;EAED;EACD;;EAED,QAAI,KAAK4mB,aAAL,IAAsBpe,SAAS,GAAG,KAAKke,QAAL,CAAc,CAAd,CAAlC,IAAsD,KAAKA,QAAL,CAAc,CAAd,IAAmB,CAA7E,EAAgF;EAC9E,WAAKE,aAAL,GAAqB,IAArB;;EACA,WAAKqB,MAAL;;EACA;EACD;;EAED,QAAMC,YAAY,GAAG,KAAKxB,QAAL,CAAcxmB,MAAnC;;EACA,SAAK,IAAID,CAAC,GAAGioB,YAAb,EAA2BjoB,CAAC,EAA5B,GAAiC;EAC/B,UAAMkoB,cAAc,GAAG,KAAKvB,aAAL,KAAuB,KAAKD,QAAL,CAAc1mB,CAAd,CAAvB,IACnBuI,SAAS,IAAI,KAAKke,QAAL,CAAczmB,CAAd,CADM,KAElB,OAAO,KAAKymB,QAAL,CAAczmB,CAAC,GAAG,CAAlB,CAAP,KAAgC,WAAhC,IACGuI,SAAS,GAAG,KAAKke,QAAL,CAAczmB,CAAC,GAAG,CAAlB,CAHG,CAAvB;;EAKA,UAAIkoB,cAAJ,EAAoB;EAClB,aAAKH,SAAL,CAAe,KAAKrB,QAAL,CAAc1mB,CAAd,CAAf;EACD;EACF;EACF;;WAED+nB,YAAA,mBAAUhoB,MAAV,EAAkB;EAChB,SAAK4mB,aAAL,GAAqB5mB,MAArB;;EAEA,SAAKioB,MAAL;;EAEA,QAAMG,OAAO,GAAG,KAAKtW,SAAL,CAAejZ,KAAf,CAAqB,GAArB,EACbmsB,GADa,CACT,UAAAltB,QAAQ;EAAA,aAAOA,QAAP,uBAAgCkI,MAAhC,YAA4ClI,QAA5C,gBAA8DkI,MAA9D;EAAA,KADC,CAAhB;;EAGA,QAAMqoB,IAAI,GAAGvlB,cAAc,CAAC7F,OAAf,CAAuBmrB,OAAO,CAACE,IAAR,CAAa,GAAb,CAAvB,CAAb;;EAEA,QAAID,IAAI,CAAChjB,SAAL,CAAeE,QAAf,CAAwBugB,wBAAxB,CAAJ,EAAuD;EACrDhjB,MAAAA,cAAc,CACX7F,OADH,CACWopB,wBADX,EACqCvjB,cAAc,CAACW,OAAf,CAAuB4kB,IAAvB,EAA6BjC,iBAA7B,CADrC,EAEG/gB,SAFH,CAEakC,GAFb,CAEiBrB,mBAFjB;EAIAmiB,MAAAA,IAAI,CAAChjB,SAAL,CAAekC,GAAf,CAAmBrB,mBAAnB;EACD,KAND,MAMO;EACL;EACAmiB,MAAAA,IAAI,CAAChjB,SAAL,CAAekC,GAAf,CAAmBrB,mBAAnB;EAEApD,MAAAA,cAAc,CACXM,OADH,CACWilB,IADX,EACiBrC,uBADjB,EAEG9rB,OAFH,CAEW,UAAAquB,SAAS,EAAI;EACpB;EACA;EACAzlB,QAAAA,cAAc,CAACY,IAAf,CAAoB6kB,SAApB,EAAkCtC,kBAAlC,UAAyDE,mBAAzD,EACGjsB,OADH,CACW,UAAAutB,IAAI;EAAA,iBAAIA,IAAI,CAACpiB,SAAL,CAAekC,GAAf,CAAmBrB,mBAAnB,CAAJ;EAAA,SADf,EAHoB;;EAOpBpD,QAAAA,cAAc,CAACY,IAAf,CAAoB6kB,SAApB,EAA+BrC,kBAA/B,EACGhsB,OADH,CACW,UAAAsuB,OAAO,EAAI;EAClB1lB,UAAAA,cAAc,CAACG,QAAf,CAAwBulB,OAAxB,EAAiCvC,kBAAjC,EACG/rB,OADH,CACW,UAAAutB,IAAI;EAAA,mBAAIA,IAAI,CAACpiB,SAAL,CAAekC,GAAf,CAAmBrB,mBAAnB,CAAJ;EAAA,WADf;EAED,SAJH;EAKD,OAdH;EAeD;;EAEDvG,IAAAA,YAAY,CAACsC,OAAb,CAAqB,KAAKwkB,cAA1B,EAA0Cb,cAA1C,EAA0D;EACxDzW,MAAAA,aAAa,EAAEnP;EADyC,KAA1D;EAGD;;WAEDioB,SAAA,kBAAS;EACPnlB,IAAAA,cAAc,CAACjG,IAAf,CAAoB,KAAKiV,SAAzB,EACG5O,MADH,CACU,UAAAulB,IAAI;EAAA,aAAIA,IAAI,CAACpjB,SAAL,CAAeE,QAAf,CAAwBW,mBAAxB,CAAJ;EAAA,KADd,EAEGhM,OAFH,CAEW,UAAAuuB,IAAI;EAAA,aAAIA,IAAI,CAACpjB,SAAL,CAAeC,MAAf,CAAsBY,mBAAtB,CAAJ;EAAA,KAFf;EAGD;;;cAIMR,kBAAP,yBAAuB5L,MAAvB,EAA+B;EAC7B,WAAO,KAAK6L,IAAL,CAAU,YAAY;EAC3B,UAAIvJ,IAAI,GAAGI,IAAI,CAACG,OAAL,CAAa,IAAb,EAAmBsH,UAAnB,CAAX;;EACA,UAAMqI,OAAO,GAAG,OAAOxS,MAAP,KAAkB,QAAlB,IAA8BA,MAA9C;;EAEA,UAAI,CAACsC,IAAL,EAAW;EACTA,QAAAA,IAAI,GAAG,IAAIoqB,SAAJ,CAAc,IAAd,EAAoBla,OAApB,CAAP;EACD;;EAED,UAAI,OAAOxS,MAAP,KAAkB,QAAtB,EAAgC;EAC9B,YAAI,OAAOsC,IAAI,CAACtC,MAAD,CAAX,KAAwB,WAA5B,EAAyC;EACvC,gBAAM,IAAIyW,SAAJ,wBAAkCzW,MAAlC,QAAN;EACD;;EAEDsC,QAAAA,IAAI,CAACtC,MAAD,CAAJ;EACD;EACF,KAfM,CAAP;EAgBD;;cAEMgM,cAAP,qBAAmBjO,OAAnB,EAA4B;EAC1B,WAAO2E,IAAI,CAACG,OAAL,CAAa9E,OAAb,EAAsBoM,UAAtB,CAAP;EACD;;;;0BAlOoB;EACnB,aAAOD,SAAP;EACD;;;0BAEoB;EACnB,aAAOoF,SAAP;EACD;;;;;EA+NH;;;;;;;EAMAzJ,YAAY,CAAC8B,EAAb,CAAgBnJ,MAAhB,EAAwBqS,qBAAxB,EAA6C,YAAM;EACjD7H,EAAAA,cAAc,CAACjG,IAAf,CAAoBkpB,iBAApB,EACG7rB,OADH,CACW,UAAAwuB,GAAG;EAAA,WAAI,IAAIlC,SAAJ,CAAckC,GAAd,EAAmB7gB,WAAW,CAACG,iBAAZ,CAA8B0gB,GAA9B,CAAnB,CAAJ;EAAA,GADd;EAED,CAHD;EAKA,IAAMxqB,GAAC,GAAGvC,SAAS,EAAnB;EAEA;;;;;;EAKA;;EACA,IAAIuC,GAAJ,EAAO;EACL,MAAM6H,oBAAkB,GAAG7H,GAAC,CAACsB,EAAF,CAAKuE,MAAL,CAA3B;EACA7F,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,IAAayiB,SAAS,CAAC9gB,eAAvB;EACAxH,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,EAAWiC,WAAX,GAAyBwgB,SAAzB;;EACAtoB,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,EAAWkC,UAAX,GAAwB,YAAM;EAC5B/H,IAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,IAAagC,oBAAb;EACA,WAAOygB,SAAS,CAAC9gB,eAAjB;EACD,GAHD;EAID;;ECtUD;;;;;;EAMA,IAAM3B,MAAI,GAAG,KAAb;EACA,IAAMC,SAAO,GAAG,OAAhB;EACA,IAAMC,UAAQ,GAAG,QAAjB;EACA,IAAMC,WAAS,SAAOD,UAAtB;EACA,IAAME,cAAY,GAAG,WAArB;EAEA,IAAM2M,YAAU,YAAU5M,WAA1B;EACA,IAAM6M,cAAY,cAAY7M,WAA9B;EACA,IAAM0M,YAAU,YAAU1M,WAA1B;EACA,IAAM2M,aAAW,aAAW3M,WAA5B;EACA,IAAMK,sBAAoB,aAAWL,WAAX,GAAuBC,cAAjD;EAEA,IAAMwkB,wBAAwB,GAAG,eAAjC;EACA,IAAMziB,mBAAiB,GAAG,QAA1B;EACA,IAAME,qBAAmB,GAAG,UAA5B;EACA,IAAMqS,iBAAe,GAAG,MAAxB;EACA,IAAMzH,iBAAe,GAAG,MAAxB;EAEA,IAAMoV,mBAAiB,GAAG,WAA1B;EACA,IAAMJ,yBAAuB,GAAG,mBAAhC;EACA,IAAMvf,iBAAe,GAAG,SAAxB;EACA,IAAMmiB,kBAAkB,GAAG,uBAA3B;EACA,IAAMriB,sBAAoB,GAAG,iEAA7B;EACA,IAAM8f,0BAAwB,GAAG,kBAAjC;EACA,IAAMwC,8BAA8B,GAAG,iCAAvC;EAEA;;;;;;MAMMC;EACJ,eAAYjxB,OAAZ,EAAqB;EACnB,SAAK+M,QAAL,GAAgB/M,OAAhB;EAEA2E,IAAAA,IAAI,CAACC,OAAL,CAAa,KAAKmI,QAAlB,EAA4BX,UAA5B,EAAsC,IAAtC;EACD;;;;;EAQD;WAEAkO,OAAA,gBAAO;EAAA;;EACL,QAAK,KAAKvN,QAAL,CAAc/J,UAAd,IACH,KAAK+J,QAAL,CAAc/J,UAAd,CAAyB3B,QAAzB,KAAsCoK,IAAI,CAACC,YADxC,IAEH,KAAKqB,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCW,mBAAjC,CAFE,IAGF,KAAKtB,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCa,qBAAjC,CAHF,EAGyD;EACvD;EACD;;EAED,QAAIzC,QAAJ;EACA,QAAM3D,MAAM,GAAG5H,sBAAsB,CAAC,KAAKwM,QAAN,CAArC;EACA,QAAMmkB,WAAW,GAAGjmB,cAAc,CAACW,OAAf,CAAuB,KAAKmB,QAA5B,EAAsCohB,yBAAtC,CAApB;;EAEA,QAAI+C,WAAJ,EAAiB;EACf,UAAMC,YAAY,GAAGD,WAAW,CAACpM,QAAZ,KAAyB,IAAzB,IAAiCoM,WAAW,CAACpM,QAAZ,KAAyB,IAA1D,GAAiEiM,kBAAjE,GAAsFniB,iBAA3G;EACA9C,MAAAA,QAAQ,GAAGb,cAAc,CAACjG,IAAf,CAAoBmsB,YAApB,EAAkCD,WAAlC,CAAX;EACAplB,MAAAA,QAAQ,GAAGA,QAAQ,CAACA,QAAQ,CAACzD,MAAT,GAAkB,CAAnB,CAAnB;EACD;;EAED,QAAIoW,SAAS,GAAG,IAAhB;;EAEA,QAAI3S,QAAJ,EAAc;EACZ2S,MAAAA,SAAS,GAAG3W,YAAY,CAACsC,OAAb,CAAqB0B,QAArB,EAA+BmN,YAA/B,EAA2C;EACrD3B,QAAAA,aAAa,EAAE,KAAKvK;EADiC,OAA3C,CAAZ;EAGD;;EAED,QAAMsR,SAAS,GAAGvW,YAAY,CAACsC,OAAb,CAAqB,KAAK2C,QAA1B,EAAoCgM,YAApC,EAAgD;EAChEzB,MAAAA,aAAa,EAAExL;EADiD,KAAhD,CAAlB;;EAIA,QAAIuS,SAAS,CAAC1Y,gBAAV,IACD8Y,SAAS,KAAK,IAAd,IAAsBA,SAAS,CAAC9Y,gBADnC,EACsD;EACpD;EACD;;EAED,SAAKwqB,SAAL,CACE,KAAKpjB,QADP,EAEEmkB,WAFF;;EAKA,QAAMjW,QAAQ,GAAG,SAAXA,QAAW,GAAM;EACrBnT,MAAAA,YAAY,CAACsC,OAAb,CAAqB0B,QAArB,EAA+BoN,cAA/B,EAA6C;EAC3C5B,QAAAA,aAAa,EAAE,KAAI,CAACvK;EADuB,OAA7C;EAGAjF,MAAAA,YAAY,CAACsC,OAAb,CAAqB,KAAI,CAAC2C,QAA1B,EAAoCiM,aAApC,EAAiD;EAC/C1B,QAAAA,aAAa,EAAExL;EADgC,OAAjD;EAGD,KAPD;;EASA,QAAI3D,MAAJ,EAAY;EACV,WAAKgoB,SAAL,CAAehoB,MAAf,EAAuBA,MAAM,CAACnF,UAA9B,EAA0CiY,QAA1C;EACD,KAFD,MAEO;EACLA,MAAAA,QAAQ;EACT;EACF;;WAED3N,UAAA,mBAAU;EACR3I,IAAAA,IAAI,CAACI,UAAL,CAAgB,KAAKgI,QAArB,EAA+BX,UAA/B;EACA,SAAKW,QAAL,GAAgB,IAAhB;EACD;;;WAIDojB,YAAA,mBAAUnwB,OAAV,EAAmBya,SAAnB,EAA8BoI,QAA9B,EAAwC;EAAA;;EACtC,QAAMuO,cAAc,GAAG3W,SAAS,KAAKA,SAAS,CAACqK,QAAV,KAAuB,IAAvB,IAA+BrK,SAAS,CAACqK,QAAV,KAAuB,IAA3D,CAAT,GACrB7Z,cAAc,CAACjG,IAAf,CAAoB+rB,kBAApB,EAAwCtW,SAAxC,CADqB,GAErBxP,cAAc,CAACG,QAAf,CAAwBqP,SAAxB,EAAmC7L,iBAAnC,CAFF;EAIA,QAAMyiB,MAAM,GAAGD,cAAc,CAAC,CAAD,CAA7B;EACA,QAAM/V,eAAe,GAAGwH,QAAQ,IAC7BwO,MAAM,IAAIA,MAAM,CAAC7jB,SAAP,CAAiBE,QAAjB,CAA0BkT,iBAA1B,CADb;;EAGA,QAAM3F,QAAQ,GAAG,SAAXA,QAAW;EAAA,aAAM,MAAI,CAACqW,mBAAL,CACrBtxB,OADqB,EAErBqxB,MAFqB,EAGrBxO,QAHqB,CAAN;EAAA,KAAjB;;EAMA,QAAIwO,MAAM,IAAIhW,eAAd,EAA+B;EAC7B,UAAM1a,kBAAkB,GAAGH,gCAAgC,CAAC6wB,MAAD,CAA3D;EACAA,MAAAA,MAAM,CAAC7jB,SAAP,CAAiBC,MAAjB,CAAwB0L,iBAAxB;EAEArR,MAAAA,YAAY,CAAC+B,GAAb,CAAiBwnB,MAAjB,EAAyBpyB,cAAzB,EAAyCgc,QAAzC;EACA3Z,MAAAA,oBAAoB,CAAC+vB,MAAD,EAAS1wB,kBAAT,CAApB;EACD,KAND,MAMO;EACLsa,MAAAA,QAAQ;EACT;EACF;;WAEDqW,sBAAA,6BAAoBtxB,OAApB,EAA6BqxB,MAA7B,EAAqCxO,QAArC,EAA+C;EAC7C,QAAIwO,MAAJ,EAAY;EACVA,MAAAA,MAAM,CAAC7jB,SAAP,CAAiBC,MAAjB,CAAwBY,mBAAxB;EAEA,UAAMkjB,aAAa,GAAGtmB,cAAc,CAAC7F,OAAf,CAAuB4rB,8BAAvB,EAAuDK,MAAM,CAACruB,UAA9D,CAAtB;;EAEA,UAAIuuB,aAAJ,EAAmB;EACjBA,QAAAA,aAAa,CAAC/jB,SAAd,CAAwBC,MAAxB,CAA+BY,mBAA/B;EACD;;EAED,UAAIgjB,MAAM,CAACnxB,YAAP,CAAoB,MAApB,MAAgC,KAApC,EAA2C;EACzCmxB,QAAAA,MAAM,CAAC7hB,YAAP,CAAoB,eAApB,EAAqC,KAArC;EACD;EACF;;EAEDxP,IAAAA,OAAO,CAACwN,SAAR,CAAkBkC,GAAlB,CAAsBrB,mBAAtB;;EACA,QAAIrO,OAAO,CAACE,YAAR,CAAqB,MAArB,MAAiC,KAArC,EAA4C;EAC1CF,MAAAA,OAAO,CAACwP,YAAR,CAAqB,eAArB,EAAsC,IAAtC;EACD;;EAED5L,IAAAA,MAAM,CAAC5D,OAAD,CAAN;;EAEA,QAAIA,OAAO,CAACwN,SAAR,CAAkBE,QAAlB,CAA2BkT,iBAA3B,CAAJ,EAAiD;EAC/C5gB,MAAAA,OAAO,CAACwN,SAAR,CAAkBkC,GAAlB,CAAsByJ,iBAAtB;EACD;;EAED,QAAInZ,OAAO,CAACgD,UAAR,IAAsBhD,OAAO,CAACgD,UAAR,CAAmBwK,SAAnB,CAA6BE,QAA7B,CAAsCojB,wBAAtC,CAA1B,EAA2F;EACzF,UAAMU,eAAe,GAAGvmB,cAAc,CAACW,OAAf,CAAuB5L,OAAvB,EAAgCuuB,mBAAhC,CAAxB;;EAEA,UAAIiD,eAAJ,EAAqB;EACnBvmB,QAAAA,cAAc,CAACjG,IAAf,CAAoBwpB,0BAApB,EACGnsB,OADH,CACW,UAAAovB,QAAQ;EAAA,iBAAIA,QAAQ,CAACjkB,SAAT,CAAmBkC,GAAnB,CAAuBrB,mBAAvB,CAAJ;EAAA,SADnB;EAED;;EAEDrO,MAAAA,OAAO,CAACwP,YAAR,CAAqB,eAArB,EAAsC,IAAtC;EACD;;EAED,QAAIqT,QAAJ,EAAc;EACZA,MAAAA,QAAQ;EACT;EACF;;;QAIMhV,kBAAP,yBAAuB5L,MAAvB,EAA+B;EAC7B,WAAO,KAAK6L,IAAL,CAAU,YAAY;EAC3B,UAAMvJ,IAAI,GAAGI,IAAI,CAACG,OAAL,CAAa,IAAb,EAAmBsH,UAAnB,KAAgC,IAAI6kB,GAAJ,CAAQ,IAAR,CAA7C;;EAEA,UAAI,OAAOhvB,MAAP,KAAkB,QAAtB,EAAgC;EAC9B,YAAI,OAAOsC,IAAI,CAACtC,MAAD,CAAX,KAAwB,WAA5B,EAAyC;EACvC,gBAAM,IAAIyW,SAAJ,wBAAkCzW,MAAlC,QAAN;EACD;;EAEDsC,QAAAA,IAAI,CAACtC,MAAD,CAAJ;EACD;EACF,KAVM,CAAP;EAWD;;QAEMgM,cAAP,qBAAmBjO,OAAnB,EAA4B;EAC1B,WAAO2E,IAAI,CAACG,OAAL,CAAa9E,OAAb,EAAsBoM,UAAtB,CAAP;EACD;;;;0BA3JoB;EACnB,aAAOD,SAAP;EACD;;;;;EA4JH;;;;;;;EAMArE,YAAY,CAAC8B,EAAb,CAAgB/J,QAAhB,EAA0B6M,sBAA1B,EAAgDgC,sBAAhD,EAAsE,UAAUtH,KAAV,EAAiB;EACrFA,EAAAA,KAAK,CAAC1B,cAAN;EAEA,MAAMnB,IAAI,GAAGI,IAAI,CAACG,OAAL,CAAa,IAAb,EAAmBsH,UAAnB,KAAgC,IAAI6kB,GAAJ,CAAQ,IAAR,CAA7C;EACA1sB,EAAAA,IAAI,CAAC+V,IAAL;EACD,CALD;EAOA,IAAMjU,GAAC,GAAGvC,SAAS,EAAnB;EAEA;;;;;;;EAMA;;EACA,IAAIuC,GAAJ,EAAO;EACL,MAAM6H,oBAAkB,GAAG7H,GAAC,CAACsB,EAAF,CAAKuE,MAAL,CAA3B;EACA7F,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,IAAa+kB,GAAG,CAACpjB,eAAjB;EACAxH,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,EAAWiC,WAAX,GAAyB8iB,GAAzB;;EACA5qB,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,EAAWkC,UAAX,GAAwB,YAAM;EAC5B/H,IAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,IAAagC,oBAAb;EACA,WAAO+iB,GAAG,CAACpjB,eAAX;EACD,GAHD;EAID;;EC3OD;;;;;;EAMA,IAAM3B,MAAI,GAAG,OAAb;EACA,IAAMC,SAAO,GAAG,OAAhB;EACA,IAAMC,UAAQ,GAAG,UAAjB;EACA,IAAMC,WAAS,SAAOD,UAAtB;EAEA,IAAMgU,qBAAmB,qBAAmB/T,WAA5C;EACA,IAAM4M,YAAU,YAAU5M,WAA1B;EACA,IAAM6M,cAAY,cAAY7M,WAA9B;EACA,IAAM0M,YAAU,YAAU1M,WAA1B;EACA,IAAM2M,aAAW,aAAW3M,WAA5B;EAEA,IAAMuU,iBAAe,GAAG,MAAxB;EACA,IAAM8Q,eAAe,GAAG,MAAxB;EACA,IAAMvY,iBAAe,GAAG,MAAxB;EACA,IAAMwY,kBAAkB,GAAG,SAA3B;EAEA,IAAM7f,aAAW,GAAG;EAClBmW,EAAAA,SAAS,EAAE,SADO;EAElB2J,EAAAA,QAAQ,EAAE,SAFQ;EAGlBxJ,EAAAA,KAAK,EAAE;EAHW,CAApB;EAMA,IAAM7W,SAAO,GAAG;EACd0W,EAAAA,SAAS,EAAE,IADG;EAEd2J,EAAAA,QAAQ,EAAE,IAFI;EAGdxJ,EAAAA,KAAK,EAAE;EAHO,CAAhB;EAMA,IAAMpH,uBAAqB,GAAG,wBAA9B;EAEA;;;;;;MAMM6Q;EACJ,iBAAY7xB,OAAZ,EAAqBiC,MAArB,EAA6B;EAC3B,SAAK8K,QAAL,GAAgB/M,OAAhB;EACA,SAAKyU,OAAL,GAAe,KAAKC,UAAL,CAAgBzS,MAAhB,CAAf;EACA,SAAKioB,QAAL,GAAgB,IAAhB;;EACA,SAAKI,aAAL;;EACA3lB,IAAAA,IAAI,CAACC,OAAL,CAAa5E,OAAb,EAAsBoM,UAAtB,EAAgC,IAAhC;EACD;;;;;EAgBD;WAEAkO,OAAA,gBAAO;EAAA;;EACL,QAAM+D,SAAS,GAAGvW,YAAY,CAACsC,OAAb,CAAqB,KAAK2C,QAA1B,EAAoCgM,YAApC,CAAlB;;EAEA,QAAIsF,SAAS,CAAC1Y,gBAAd,EAAgC;EAC9B;EACD;;EAED,QAAI,KAAK8O,OAAL,CAAawT,SAAjB,EAA4B;EAC1B,WAAKlb,QAAL,CAAcS,SAAd,CAAwBkC,GAAxB,CAA4BkR,iBAA5B;EACD;;EAED,QAAM3F,QAAQ,GAAG,SAAXA,QAAW,GAAM;EACrB,MAAA,KAAI,CAAClO,QAAL,CAAcS,SAAd,CAAwBC,MAAxB,CAA+BkkB,kBAA/B;;EACA,MAAA,KAAI,CAAC5kB,QAAL,CAAcS,SAAd,CAAwBkC,GAAxB,CAA4ByJ,iBAA5B;;EAEArR,MAAAA,YAAY,CAACsC,OAAb,CAAqB,KAAI,CAAC2C,QAA1B,EAAoCiM,aAApC;;EAEA,UAAI,KAAI,CAACvE,OAAL,CAAamd,QAAjB,EAA2B;EACzB,QAAA,KAAI,CAAC1H,QAAL,GAAgBpoB,UAAU,CAAC,YAAM;EAC/B,UAAA,KAAI,CAACuY,IAAL;EACD,SAFyB,EAEvB,KAAI,CAAC5F,OAAL,CAAa2T,KAFU,CAA1B;EAGD;EACF,KAXD;;EAaA,SAAKrb,QAAL,CAAcS,SAAd,CAAwBC,MAAxB,CAA+BikB,eAA/B;;EACA9tB,IAAAA,MAAM,CAAC,KAAKmJ,QAAN,CAAN;;EACA,SAAKA,QAAL,CAAcS,SAAd,CAAwBkC,GAAxB,CAA4BiiB,kBAA5B;;EACA,QAAI,KAAKld,OAAL,CAAawT,SAAjB,EAA4B;EAC1B,UAAMtnB,kBAAkB,GAAGH,gCAAgC,CAAC,KAAKuM,QAAN,CAA3D;EAEAjF,MAAAA,YAAY,CAAC+B,GAAb,CAAiB,KAAKkD,QAAtB,EAAgC9N,cAAhC,EAAgDgc,QAAhD;EACA3Z,MAAAA,oBAAoB,CAAC,KAAKyL,QAAN,EAAgBpM,kBAAhB,CAApB;EACD,KALD,MAKO;EACLsa,MAAAA,QAAQ;EACT;EACF;;WAEDZ,OAAA,gBAAO;EAAA;;EACL,QAAI,CAAC,KAAKtN,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCyL,iBAAjC,CAAL,EAAwD;EACtD;EACD;;EAED,QAAMsF,SAAS,GAAG3W,YAAY,CAACsC,OAAb,CAAqB,KAAK2C,QAA1B,EAAoCkM,YAApC,CAAlB;;EAEA,QAAIwF,SAAS,CAAC9Y,gBAAd,EAAgC;EAC9B;EACD;;EAED,QAAMsV,QAAQ,GAAG,SAAXA,QAAW,GAAM;EACrB,MAAA,MAAI,CAAClO,QAAL,CAAcS,SAAd,CAAwBkC,GAAxB,CAA4BgiB,eAA5B;;EACA5pB,MAAAA,YAAY,CAACsC,OAAb,CAAqB,MAAI,CAAC2C,QAA1B,EAAoCmM,cAApC;EACD,KAHD;;EAKA,SAAKnM,QAAL,CAAcS,SAAd,CAAwBC,MAAxB,CAA+B0L,iBAA/B;;EACA,QAAI,KAAK1E,OAAL,CAAawT,SAAjB,EAA4B;EAC1B,UAAMtnB,kBAAkB,GAAGH,gCAAgC,CAAC,KAAKuM,QAAN,CAA3D;EAEAjF,MAAAA,YAAY,CAAC+B,GAAb,CAAiB,KAAKkD,QAAtB,EAAgC9N,cAAhC,EAAgDgc,QAAhD;EACA3Z,MAAAA,oBAAoB,CAAC,KAAKyL,QAAN,EAAgBpM,kBAAhB,CAApB;EACD,KALD,MAKO;EACLsa,MAAAA,QAAQ;EACT;EACF;;WAED3N,UAAA,mBAAU;EACRqJ,IAAAA,YAAY,CAAC,KAAKuT,QAAN,CAAZ;EACA,SAAKA,QAAL,GAAgB,IAAhB;;EAEA,QAAI,KAAKnd,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCyL,iBAAjC,CAAJ,EAAuD;EACrD,WAAKpM,QAAL,CAAcS,SAAd,CAAwBC,MAAxB,CAA+B0L,iBAA/B;EACD;;EAEDrR,IAAAA,YAAY,CAACC,GAAb,CAAiB,KAAKgF,QAAtB,EAAgCqT,qBAAhC;EACAzb,IAAAA,IAAI,CAACI,UAAL,CAAgB,KAAKgI,QAArB,EAA+BX,UAA/B;EAEA,SAAKW,QAAL,GAAgB,IAAhB;EACA,SAAK0H,OAAL,GAAe,IAAf;EACD;;;WAIDC,aAAA,oBAAWzS,MAAX,EAAmB;EACjBA,IAAAA,MAAM,sBACDsP,SADC,MAEDvB,WAAW,CAACG,iBAAZ,CAA8B,KAAKpD,QAAnC,CAFC,MAGD,OAAO9K,MAAP,KAAkB,QAAlB,IAA8BA,MAA9B,GAAuCA,MAAvC,GAAgD,EAH/C,CAAN;EAMAF,IAAAA,eAAe,CACbmK,MADa,EAEbjK,MAFa,EAGb,KAAK6c,WAAL,CAAiBhN,WAHJ,CAAf;EAMA,WAAO7P,MAAP;EACD;;WAEDqoB,gBAAA,yBAAgB;EAAA;;EACdxiB,IAAAA,YAAY,CAAC8B,EAAb,CACE,KAAKmD,QADP,EAEEqT,qBAFF,EAGEY,uBAHF,EAIE;EAAA,aAAM,MAAI,CAAC3G,IAAL,EAAN;EAAA,KAJF;EAMD;;;UAIMxM,kBAAP,yBAAuB5L,MAAvB,EAA+B;EAC7B,WAAO,KAAK6L,IAAL,CAAU,YAAY;EAC3B,UAAIvJ,IAAI,GAAGI,IAAI,CAACG,OAAL,CAAa,IAAb,EAAmBsH,UAAnB,CAAX;;EACA,UAAMqI,OAAO,GAAG,OAAOxS,MAAP,KAAkB,QAAlB,IAA8BA,MAA9C;;EAEA,UAAI,CAACsC,IAAL,EAAW;EACTA,QAAAA,IAAI,GAAG,IAAIstB,KAAJ,CAAU,IAAV,EAAgBpd,OAAhB,CAAP;EACD;;EAED,UAAI,OAAOxS,MAAP,KAAkB,QAAtB,EAAgC;EAC9B,YAAI,OAAOsC,IAAI,CAACtC,MAAD,CAAX,KAAwB,WAA5B,EAAyC;EACvC,gBAAM,IAAIyW,SAAJ,wBAAkCzW,MAAlC,QAAN;EACD;;EAEDsC,QAAAA,IAAI,CAACtC,MAAD,CAAJ,CAAa,IAAb;EACD;EACF,KAfM,CAAP;EAgBD;;UAEMgM,cAAP,qBAAmBjO,OAAnB,EAA4B;EAC1B,WAAO2E,IAAI,CAACG,OAAL,CAAa9E,OAAb,EAAsBoM,UAAtB,CAAP;EACD;;;;0BA/IoB;EACnB,aAAOD,SAAP;EACD;;;0BAEwB;EACvB,aAAO2F,aAAP;EACD;;;0BAEoB;EACnB,aAAOP,SAAP;EACD;;;;;;EAwIH,IAAMlL,GAAC,GAAGvC,SAAS,EAAnB;EAEA;;;;;;;EAMA;;EACA,IAAIuC,GAAJ,EAAO;EACL,MAAM6H,oBAAkB,GAAG7H,GAAC,CAACsB,EAAF,CAAKuE,MAAL,CAA3B;EACA7F,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,IAAa2lB,KAAK,CAAChkB,eAAnB;EACAxH,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,EAAWiC,WAAX,GAAyB0jB,KAAzB;;EACAxrB,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,EAAWkC,UAAX,GAAwB,YAAM;EAC5B/H,IAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,IAAagC,oBAAb;EACA,WAAO2jB,KAAK,CAAChkB,eAAb;EACD,GAHD;EAID;;EC3OD;;;;;;AAmBA,kBAAe;EACbf,EAAAA,KAAK,EAALA,KADa;EAEbkC,EAAAA,MAAM,EAANA,MAFa;EAGbgF,EAAAA,QAAQ,EAARA,QAHa;EAIb0F,EAAAA,QAAQ,EAARA,QAJa;EAKbiE,EAAAA,QAAQ,EAARA,QALa;EAMbwD,EAAAA,KAAK,EAALA,KANa;EAObyM,EAAAA,OAAO,EAAPA,OAPa;EAQbe,EAAAA,SAAS,EAATA,SARa;EASbsC,EAAAA,GAAG,EAAHA,GATa;EAUbY,EAAAA,KAAK,EAALA,KAVa;EAWb7H,EAAAA,OAAO,EAAPA;EAXa,CAAf;;;;;;;;"} \ No newline at end of file
diff --git a/dist/js/bootstrap.bundle.min.js b/dist/js/bootstrap.bundle.min.js
index 42b4f7bd83..3a0b69746a 100644
--- a/dist/js/bootstrap.bundle.min.js
+++ b/dist/js/bootstrap.bundle.min.js
@@ -1,7 +1,7 @@
/*!
* Bootstrap v4.3.1 (https://getbootstrap.com/)
- * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+ * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
-!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).bootstrap=e()}(this,(function(){"use strict";function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function e(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}function n(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function i(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function o(t){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?i(o,!0).forEach((function(e){n(t,e,o[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):i(o).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(o,e))}))}return t}var r,s,a,l="transitionend",c=function(t){do{t+=~~(1e6*Math.random())}while(document.getElementById(t));return t},f=function(t){var e=t.getAttribute("data-target");if(!e||"#"===e){var n=t.getAttribute("href");e=n&&"#"!==n?n.trim():null}return e},u=function(t){var e=f(t);return e&&document.querySelector(e)?e:null},h=function(t){var e=f(t);return e?document.querySelector(e):null},d=function(t){if(!t)return 0;var e=window.getComputedStyle(t),n=e.transitionDuration,i=e.transitionDelay,o=parseFloat(n),r=parseFloat(i);return o||r?(n=n.split(",")[0],i=i.split(",")[0],1e3*(parseFloat(n)+parseFloat(i))):0},p=function(t){var e=document.createEvent("HTMLEvents");e.initEvent(l,!0,!0),t.dispatchEvent(e)},g=function(t){return(t[0]||t).nodeType},m=function(t,e){var n=!1,i=e+5;t.addEventListener(l,(function e(){n=!0,t.removeEventListener(l,e)})),setTimeout((function(){n||p(t)}),i)},_=function(t,e,n){Object.keys(n).forEach((function(i){var o,r=n[i],s=e[i],a=s&&g(s)?"element":(o=s,{}.toString.call(o).match(/\s([a-z]+)/i)[1].toLowerCase());if(!new RegExp(r).test(a))throw new Error(t.toUpperCase()+': Option "'+i+'" provided type "'+a+'" but expected type "'+r+'".')}))},v=function(t){return t?[].slice.call(t):[]},b=function(t){if(!t)return!1;if(t.style&&t.parentNode&&t.parentNode.style){var e=getComputedStyle(t),n=getComputedStyle(t.parentNode);return"none"!==e.display&&"none"!==n.display&&"hidden"!==e.visibility}return!1},y=function(){return function(){}},E=function(t){return t.offsetHeight},w=function(){var t=window.jQuery;return t&&!document.body.hasAttribute("data-no-jquery")?t:null},D=(r={},s=1,{set:function(t,e,n){"undefined"==typeof t.key&&(t.key={key:e,id:s},s++),r[t.key.id]=n},get:function(t,e){if(!t||"undefined"==typeof t.key)return null;var n=t.key;return n.key===e?r[n.id]:null},delete:function(t,e){if("undefined"!=typeof t.key){var n=t.key;n.key===e&&(delete r[n.id],delete t.key)}}}),T={setData:function(t,e,n){D.set(t,e,n)},getData:function(t,e){return D.get(t,e)},removeData:function(t,e){D.delete(t,e)}},I=Element.prototype,A=I.matches,O=I.closest,L=Element.prototype.querySelectorAll,S=Element.prototype.querySelector,C=function(t,e){return new CustomEvent(t,e)};if("function"!=typeof window.CustomEvent&&(C=function(t,e){e=e||{bubbles:!1,cancelable:!1,detail:null};var n=document.createEvent("CustomEvent");return n.initCustomEvent(t,e.bubbles,e.cancelable,e.detail),n}),!((a=document.createEvent("CustomEvent")).initEvent("Bootstrap",!0,!0),a.preventDefault(),a.defaultPrevented)){var N=Event.prototype.preventDefault;Event.prototype.preventDefault=function(){this.cancelable&&(N.call(this),Object.defineProperty(this,"defaultPrevented",{get:function(){return!0},configurable:!0}))}}var k=function(){var t=C("Bootstrap",{cancelable:!0}),e=document.createElement("div");return e.addEventListener("Bootstrap",(function(){return null})),t.preventDefault(),e.dispatchEvent(t),t.defaultPrevented}();A||(A=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector),O||(O=function(t){var e=this;do{if(A.call(e,t))return e;e=e.parentElement||e.parentNode}while(null!==e&&1===e.nodeType);return null});var P=/:scope\b/;(function(){var t=document.createElement("div");try{t.querySelectorAll(":scope *")}catch(t){return!1}return!0})()||(L=function(t){if(!P.test(t))return this.querySelectorAll(t);var e=Boolean(this.id);e||(this.id=c("scope"));var n=null;try{t=t.replace(P,"#"+this.id),n=this.querySelectorAll(t)}finally{e||this.removeAttribute("id")}return n},S=function(t){if(!P.test(t))return this.querySelector(t);var e=L.call(this,t);return"undefined"!=typeof e[0]?e[0]:null});var x=w(),M=/[^.]*(?=\..*)\.|.*/,H=/\..*/,j=/^key/,R=/::\d+$/,W={},U=1,B={mouseenter:"mouseover",mouseleave:"mouseout"},F=["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"];function K(t,e){return e&&e+"::"+U++||t.uidEvent||U++}function V(t){var e=K(t);return t.uidEvent=e,W[e]=W[e]||{},W[e]}function Y(t,e){null===t.which&&j.test(t.type)&&(t.which=null===t.charCode?t.keyCode:t.charCode),t.delegateTarget=e}function Q(t,e,n){void 0===n&&(n=null);for(var i=Object.keys(t),o=0,r=i.length;o<r;o++){var s=t[i[o]];if(s.originalHandler===e&&s.delegationSelector===n)return s}return null}function G(t,e,n){var i="string"==typeof e,o=i?n:e,r=t.replace(H,""),s=B[r];return s&&(r=s),F.indexOf(r)>-1||(r=t),[i,o,r]}function q(t,e,n,i,o){if("string"==typeof e&&t){n||(n=i,i=null);var r=G(e,n,i),s=r[0],a=r[1],l=r[2],c=V(t),f=c[l]||(c[l]={}),u=Q(f,a,s?n:null);if(u)u.oneOff=u.oneOff&&o;else{var h=K(a,e.replace(M,"")),d=s?function(t,e,n){return function i(o){for(var r=t.querySelectorAll(e),s=o.target;s&&s!==this;s=s.parentNode)for(var a=r.length;a--;)if(r[a]===s)return Y(o,s),i.oneOff&&z.off(t,o.type,n),n.apply(s,[o]);return null}}(t,n,i):function(t,e){return function n(i){return Y(i,t),n.oneOff&&z.off(t,i.type,e),e.apply(t,[i])}}(t,n);d.delegationSelector=s?n:null,d.originalHandler=a,d.oneOff=o,d.uidEvent=h,f[h]=d,t.addEventListener(l,d,s)}}}function X(t,e,n,i,o){var r=Q(e[n],i,o);r&&(t.removeEventListener(n,r,Boolean(o)),delete e[n][r.uidEvent])}var z={on:function(t,e,n,i){q(t,e,n,i,!1)},one:function(t,e,n,i){q(t,e,n,i,!0)},off:function(t,e,n,i){if("string"==typeof e&&t){var o=G(e,n,i),r=o[0],s=o[1],a=o[2],l=a!==e,c=V(t),f="."===e.charAt(0);if("undefined"==typeof s){f&&Object.keys(c).forEach((function(n){!function(t,e,n,i){var o=e[n]||{};Object.keys(o).forEach((function(r){if(r.indexOf(i)>-1){var s=o[r];X(t,e,n,s.originalHandler,s.delegationSelector)}}))}(t,c,n,e.slice(1))}));var u=c[a]||{};Object.keys(u).forEach((function(n){var i=n.replace(R,"");if(!l||e.indexOf(i)>-1){var o=u[n];X(t,c,a,o.originalHandler,o.delegationSelector)}}))}else{if(!c||!c[a])return;X(t,c,a,s,r?n:null)}}},trigger:function(t,e,n){if("string"!=typeof e||!t)return null;var i,o=e.replace(H,""),r=e!==o,s=F.indexOf(o)>-1,a=!0,l=!0,c=!1,f=null;return r&&x&&(i=x.Event(e,n),x(t).trigger(i),a=!i.isPropagationStopped(),l=!i.isImmediatePropagationStopped(),c=i.isDefaultPrevented()),s?(f=document.createEvent("HTMLEvents")).initEvent(o,a,!0):f=C(e,{bubbles:a,cancelable:!0}),"undefined"!=typeof n&&Object.keys(n).forEach((function(t){Object.defineProperty(f,t,{get:function(){return n[t]}})})),c&&(f.preventDefault(),k||Object.defineProperty(f,"defaultPrevented",{get:function(){return!0}})),l&&t.dispatchEvent(f),f.defaultPrevented&&"undefined"!=typeof i&&i.preventDefault(),f}},Z={matches:function(t,e){return A.call(t,e)},find:function(t,e){return void 0===e&&(e=document.documentElement),L.call(e,t)},findOne:function(t,e){return void 0===e&&(e=document.documentElement),S.call(e,t)},children:function(t,e){var n=this,i=v(t.children);return i.filter((function(t){return n.matches(t,e)}))},parents:function(t,e){for(var n=[],i=t.parentNode;i&&i.nodeType===Node.ELEMENT_NODE&&3!==i.nodeType;)this.matches(i,e)&&n.push(i),i=i.parentNode;return n},closest:function(t,e){return O.call(t,e)},prev:function(t,e){for(var n=[],i=t.previousSibling;i&&i.nodeType===Node.ELEMENT_NODE&&3!==i.nodeType;)this.matches(i,e)&&n.push(i),i=i.previousSibling;return n}},$="bs.alert",J="."+$,tt={CLOSE:"close"+J,CLOSED:"closed"+J,CLICK_DATA_API:"click"+J+".data-api"},et="alert",nt="fade",it="show",ot=function(){function t(t){this._element=t,this._element&&T.setData(t,$,this)}var n=t.prototype;return n.close=function(t){var e=this._element;t&&(e=this._getRootElement(t));var n=this._triggerCloseEvent(e);null===n||n.defaultPrevented||this._removeElement(e)},n.dispose=function(){T.removeData(this._element,$),this._element=null},n._getRootElement=function(t){var e=h(t);return e||(e=Z.closest(t,"."+et)),e},n._triggerCloseEvent=function(t){return z.trigger(t,tt.CLOSE)},n._removeElement=function(t){var e=this;if(t.classList.remove(it),t.classList.contains(nt)){var n=d(t);z.one(t,l,(function(){return e._destroyElement(t)})),m(t,n)}else this._destroyElement(t)},n._destroyElement=function(t){t.parentNode&&t.parentNode.removeChild(t),z.trigger(t,tt.CLOSED)},t.jQueryInterface=function(e){return this.each((function(){var n=T.getData(this,$);n||(n=new t(this)),"close"===e&&n[e](this)}))},t.handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},t.getInstance=function(t){return T.getData(t,$)},e(t,null,[{key:"VERSION",get:function(){return"4.3.1"}}]),t}();z.on(document,tt.CLICK_DATA_API,'[data-dismiss="alert"]',ot.handleDismiss(new ot));var rt=w();if(rt){var st=rt.fn.alert;rt.fn.alert=ot.jQueryInterface,rt.fn.alert.Constructor=ot,rt.fn.alert.noConflict=function(){return rt.fn.alert=st,ot.jQueryInterface}}var at="bs.button",lt="."+at,ct="active",ft="btn",ut="focus",ht='[data-toggle^="button"]',dt='[data-toggle="buttons"]',pt='input:not([type="hidden"])',gt=".active",mt=".btn",_t={CLICK_DATA_API:"click"+lt+".data-api",FOCUS_DATA_API:"focus"+lt+".data-api",BLUR_DATA_API:"blur"+lt+".data-api"},vt=function(){function t(t){this._element=t,T.setData(t,at,this)}var n=t.prototype;return n.toggle=function(){var t=!0,e=!0,n=Z.closest(this._element,dt);if(n){var i=Z.findOne(pt,this._element);if(i&&"radio"===i.type){if(i.checked&&this._element.classList.contains(ct))t=!1;else{var o=Z.findOne(gt,n);o&&o.classList.remove(ct)}if(t){if(i.hasAttribute("disabled")||n.hasAttribute("disabled")||i.classList.contains("disabled")||n.classList.contains("disabled"))return;i.checked=!this._element.classList.contains(ct),z.trigger(i,"change")}i.focus(),e=!1}}e&&this._element.setAttribute("aria-pressed",!this._element.classList.contains(ct)),t&&this._element.classList.toggle(ct)},n.dispose=function(){T.removeData(this._element,at),this._element=null},t.jQueryInterface=function(e){return this.each((function(){var n=T.getData(this,at);n||(n=new t(this)),"toggle"===e&&n[e]()}))},t.getInstance=function(t){return T.getData(t,at)},e(t,null,[{key:"VERSION",get:function(){return"4.3.1"}}]),t}();z.on(document,_t.CLICK_DATA_API,ht,(function(t){t.preventDefault();var e=t.target;e.classList.contains(ft)||(e=Z.closest(e,mt));var n=T.getData(e,at);n||(n=new vt(e)),n.toggle()})),z.on(document,_t.FOCUS_DATA_API,ht,(function(t){var e=Z.closest(t.target,mt);e&&e.classList.add(ut)})),z.on(document,_t.BLUR_DATA_API,ht,(function(t){var e=Z.closest(t.target,mt);e&&e.classList.remove(ut)}));var bt=w();if(bt){var yt=bt.fn.button;bt.fn.button=vt.jQueryInterface,bt.fn.button.Constructor=vt,bt.fn.button.noConflict=function(){return bt.fn.button=yt,vt.jQueryInterface}}function Et(t){return"true"===t||"false"!==t&&(t===Number(t).toString()?Number(t):""===t||"null"===t?null:t)}function wt(t){return t.replace(/[A-Z]/g,(function(t){return"-"+t.toLowerCase()}))}var Dt={setDataAttribute:function(t,e,n){t.setAttribute("data-"+wt(e),n)},removeDataAttribute:function(t,e){t.removeAttribute("data-"+wt(e))},getDataAttributes:function(t){if(!t)return{};var e=o({},t.dataset);return Object.keys(e).forEach((function(t){e[t]=Et(e[t])})),e},getDataAttribute:function(t,e){return Et(t.getAttribute("data-"+wt(e)))},offset:function(t){var e=t.getBoundingClientRect();return{top:e.top+document.body.scrollTop,left:e.left+document.body.scrollLeft}},position:function(t){return{top:t.offsetTop,left:t.offsetLeft}},toggleClass:function(t,e){t&&(t.classList.contains(e)?t.classList.remove(e):t.classList.add(e))}},Tt="carousel",It="bs.carousel",At="."+It,Ot={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},Lt={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},St="next",Ct="prev",Nt="left",kt="right",Pt={SLIDE:"slide"+At,SLID:"slid"+At,KEYDOWN:"keydown"+At,MOUSEENTER:"mouseenter"+At,MOUSELEAVE:"mouseleave"+At,TOUCHSTART:"touchstart"+At,TOUCHMOVE:"touchmove"+At,TOUCHEND:"touchend"+At,POINTERDOWN:"pointerdown"+At,POINTERUP:"pointerup"+At,DRAG_START:"dragstart"+At,LOAD_DATA_API:"load"+At+".data-api",CLICK_DATA_API:"click"+At+".data-api"},xt="carousel",Mt="active",Ht="slide",jt="carousel-item-right",Rt="carousel-item-left",Wt="carousel-item-next",Ut="carousel-item-prev",Bt="pointer-event",Ft={ACTIVE:".active",ACTIVE_ITEM:".active.carousel-item",ITEM:".carousel-item",ITEM_IMG:".carousel-item img",NEXT_PREV:".carousel-item-next, .carousel-item-prev",INDICATORS:".carousel-indicators",DATA_SLIDE:"[data-slide], [data-slide-to]",DATA_RIDE:'[data-ride="carousel"]'},Kt={TOUCH:"touch",PEN:"pen"},Vt=function(){function t(t,e){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(e),this._element=t,this._indicatorsElement=Z.findOne(Ft.INDICATORS,this._element),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent||window.MSPointerEvent),this._addEventListeners(),T.setData(t,It,this)}var n=t.prototype;return n.next=function(){this._isSliding||this._slide(St)},n.nextWhenVisible=function(){!document.hidden&&b(this._element)&&this.next()},n.prev=function(){this._isSliding||this._slide(Ct)},n.pause=function(t){t||(this._isPaused=!0),Z.findOne(Ft.NEXT_PREV,this._element)&&(p(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},n.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config&&this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},n.to=function(t){var e=this;this._activeElement=Z.findOne(Ft.ACTIVE_ITEM,this._element);var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)z.one(this._element,Pt.SLID,(function(){return e.to(t)}));else{if(n===t)return this.pause(),void this.cycle();var i=t>n?St:Ct;this._slide(i,this._items[t])}},n.dispose=function(){z.off(this._element,At),T.removeData(this._element,It),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},n._getConfig=function(t){return t=o({},Ot,{},t),_(Tt,t,Lt),t},n._handleSwipe=function(){var t=Math.abs(this.touchDeltaX);if(!(t<=40)){var e=t/this.touchDeltaX;this.touchDeltaX=0,e>0&&this.prev(),e<0&&this.next()}},n._addEventListeners=function(){var t=this;this._config.keyboard&&z.on(this._element,Pt.KEYDOWN,(function(e){return t._keydown(e)})),"hover"===this._config.pause&&(z.on(this._element,Pt.MOUSEENTER,(function(e){return t.pause(e)})),z.on(this._element,Pt.MOUSELEAVE,(function(e){return t.cycle(e)}))),this._config.touch&&this._touchSupported&&this._addTouchEventListeners()},n._addTouchEventListeners=function(){var t=this,e=function(e){t._pointerEvent&&Kt[e.pointerType.toUpperCase()]?t.touchStartX=e.clientX:t._pointerEvent||(t.touchStartX=e.touches[0].clientX)},n=function(e){t._pointerEvent&&Kt[e.pointerType.toUpperCase()]&&(t.touchDeltaX=e.clientX-t.touchStartX),t._handleSwipe(),"hover"===t._config.pause&&(t.pause(),t.touchTimeout&&clearTimeout(t.touchTimeout),t.touchTimeout=setTimeout((function(e){return t.cycle(e)}),500+t._config.interval))};v(Z.find(Ft.ITEM_IMG,this._element)).forEach((function(t){z.on(t,Pt.DRAG_START,(function(t){return t.preventDefault()}))})),this._pointerEvent?(z.on(this._element,Pt.POINTERDOWN,(function(t){return e(t)})),z.on(this._element,Pt.POINTERUP,(function(t){return n(t)})),this._element.classList.add(Bt)):(z.on(this._element,Pt.TOUCHSTART,(function(t){return e(t)})),z.on(this._element,Pt.TOUCHMOVE,(function(e){return function(e){e.touches&&e.touches.length>1?t.touchDeltaX=0:t.touchDeltaX=e.touches[0].clientX-t.touchStartX}(e)})),z.on(this._element,Pt.TOUCHEND,(function(t){return n(t)})))},n._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next()}},n._getItemIndex=function(t){return this._items=t&&t.parentNode?v(Z.find(Ft.ITEM,t.parentNode)):[],this._items.indexOf(t)},n._getItemByDirection=function(t,e){var n=t===St,i=t===Ct,o=this._getItemIndex(e),r=this._items.length-1;if((i&&0===o||n&&o===r)&&!this._config.wrap)return e;var s=(o+(t===Ct?-1:1))%this._items.length;return-1===s?this._items[this._items.length-1]:this._items[s]},n._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),i=this._getItemIndex(Z.findOne(Ft.ACTIVE_ITEM,this._element));return z.trigger(this._element,Pt.SLIDE,{relatedTarget:t,direction:e,from:i,to:n})},n._setActiveIndicatorElement=function(t){if(this._indicatorsElement){for(var e=Z.find(Ft.ACTIVE,this._indicatorsElement),n=0;n<e.length;n++)e[n].classList.remove(Mt);var i=this._indicatorsElement.children[this._getItemIndex(t)];i&&i.classList.add(Mt)}},n._slide=function(t,e){var n,i,o,r=this,s=Z.findOne(Ft.ACTIVE_ITEM,this._element),a=this._getItemIndex(s),c=e||s&&this._getItemByDirection(t,s),f=this._getItemIndex(c),u=Boolean(this._interval);if(t===St?(n=Rt,i=Wt,o=Nt):(n=jt,i=Ut,o=kt),c&&c.classList.contains(Mt))this._isSliding=!1;else if(!this._triggerSlideEvent(c,o).defaultPrevented&&s&&c){if(this._isSliding=!0,u&&this.pause(),this._setActiveIndicatorElement(c),this._element.classList.contains(Ht)){c.classList.add(i),E(c),s.classList.add(n),c.classList.add(n);var h=parseInt(c.getAttribute("data-interval"),10);h?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=h):this._config.interval=this._config.defaultInterval||this._config.interval;var p=d(s);z.one(s,l,(function(){c.classList.remove(n),c.classList.remove(i),c.classList.add(Mt),s.classList.remove(Mt),s.classList.remove(i),s.classList.remove(n),r._isSliding=!1,setTimeout((function(){z.trigger(r._element,Pt.SLID,{relatedTarget:c,direction:o,from:a,to:f})}),0)})),m(s,p)}else s.classList.remove(Mt),c.classList.add(Mt),this._isSliding=!1,z.trigger(this._element,Pt.SLID,{relatedTarget:c,direction:o,from:a,to:f});u&&this.cycle()}},t.carouselInterface=function(e,n){var i=T.getData(e,It),r=o({},Ot,{},Dt.getDataAttributes(e));"object"==typeof n&&(r=o({},r,{},n));var s="string"==typeof n?n:r.slide;if(i||(i=new t(e,r)),"number"==typeof n)i.to(n);else if("string"==typeof s){if("undefined"==typeof i[s])throw new TypeError('No method named "'+s+'"');i[s]()}else r.interval&&r.ride&&(i.pause(),i.cycle())},t.jQueryInterface=function(e){return this.each((function(){t.carouselInterface(this,e)}))},t.dataApiClickHandler=function(e){var n=h(this);if(n&&n.classList.contains(xt)){var i=o({},Dt.getDataAttributes(n),{},Dt.getDataAttributes(this)),r=this.getAttribute("data-slide-to");r&&(i.interval=!1),t.carouselInterface(n,i),r&&T.getData(n,It).to(r),e.preventDefault()}},t.getInstance=function(t){return T.getData(t,It)},e(t,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Ot}}]),t}();z.on(document,Pt.CLICK_DATA_API,Ft.DATA_SLIDE,Vt.dataApiClickHandler),z.on(window,Pt.LOAD_DATA_API,(function(){for(var t=v(Z.find(Ft.DATA_RIDE)),e=0,n=t.length;e<n;e++)Vt.carouselInterface(t[e],T.getData(t[e],It))}));var Yt=w();if(Yt){var Qt=Yt.fn[Tt];Yt.fn[Tt]=Vt.jQueryInterface,Yt.fn[Tt].Constructor=Vt,Yt.fn[Tt].noConflict=function(){return Yt.fn[Tt]=Qt,Vt.jQueryInterface}}var Gt="collapse",qt="bs.collapse",Xt="."+qt,zt={toggle:!0,parent:""},Zt={toggle:"boolean",parent:"(string|element)"},$t={SHOW:"show"+Xt,SHOWN:"shown"+Xt,HIDE:"hide"+Xt,HIDDEN:"hidden"+Xt,CLICK_DATA_API:"click"+Xt+".data-api"},Jt="show",te="collapse",ee="collapsing",ne="collapsed",ie="width",oe="height",re={ACTIVES:".show, .collapsing",DATA_TOGGLE:'[data-toggle="collapse"]'},se=function(){function t(t,e){this._isTransitioning=!1,this._element=t,this._config=this._getConfig(e),this._triggerArray=v(Z.find('[data-toggle="collapse"][href="#'+t.id+'"],[data-toggle="collapse"][data-target="#'+t.id+'"]'));for(var n=v(Z.find(re.DATA_TOGGLE)),i=0,o=n.length;i<o;i++){var r=n[i],s=u(r),a=v(Z.find(s)).filter((function(e){return e===t}));null!==s&&a.length&&(this._selector=s,this._triggerArray.push(r))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle(),T.setData(t,qt,this)}var n=t.prototype;return n.toggle=function(){this._element.classList.contains(Jt)?this.hide():this.show()},n.show=function(){var e=this;if(!this._isTransitioning&&!this._element.classList.contains(Jt)){var n,i;this._parent&&0===(n=v(Z.find(re.ACTIVES,this._parent)).filter((function(t){return"string"==typeof e._config.parent?t.getAttribute("data-parent")===e._config.parent:t.classList.contains(te)}))).length&&(n=null);var o=Z.findOne(this._selector);if(n){var r=n.filter((function(t){return o!==t}));if((i=r[0]?T.getData(r[0],qt):null)&&i._isTransitioning)return}if(!z.trigger(this._element,$t.SHOW).defaultPrevented){n&&n.forEach((function(e){o!==e&&t.collapseInterface(e,"hide"),i||T.setData(e,qt,null)}));var s=this._getDimension();this._element.classList.remove(te),this._element.classList.add(ee),this._element.style[s]=0,this._triggerArray.length&&this._triggerArray.forEach((function(t){t.classList.remove(ne),t.setAttribute("aria-expanded",!0)})),this.setTransitioning(!0);var a="scroll"+(s[0].toUpperCase()+s.slice(1)),c=d(this._element);z.one(this._element,l,(function(){e._element.classList.remove(ee),e._element.classList.add(te),e._element.classList.add(Jt),e._element.style[s]="",e.setTransitioning(!1),z.trigger(e._element,$t.SHOWN)})),m(this._element,c),this._element.style[s]=this._element[a]+"px"}}},n.hide=function(){var t=this;if(!this._isTransitioning&&this._element.classList.contains(Jt)&&!z.trigger(this._element,$t.HIDE).defaultPrevented){var e=this._getDimension();this._element.style[e]=this._element.getBoundingClientRect()[e]+"px",E(this._element),this._element.classList.add(ee),this._element.classList.remove(te),this._element.classList.remove(Jt);var n=this._triggerArray.length;if(n>0)for(var i=0;i<n;i++){var o=this._triggerArray[i],r=h(o);r&&!r.classList.contains(Jt)&&(o.classList.add(ne),o.setAttribute("aria-expanded",!1))}this.setTransitioning(!0);this._element.style[e]="";var s=d(this._element);z.one(this._element,l,(function(){t.setTransitioning(!1),t._element.classList.remove(ee),t._element.classList.add(te),z.trigger(t._element,$t.HIDDEN)})),m(this._element,s)}},n.setTransitioning=function(t){this._isTransitioning=t},n.dispose=function(){T.removeData(this._element,qt),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},n._getConfig=function(t){return(t=o({},zt,{},t)).toggle=Boolean(t.toggle),_(Gt,t,Zt),t},n._getDimension=function(){return this._element.classList.contains(ie)?ie:oe},n._getParent=function(){var t=this,e=this._config.parent;g(e)?"undefined"==typeof e.jquery&&"undefined"==typeof e[0]||(e=e[0]):e=Z.findOne(e);var n='[data-toggle="collapse"][data-parent="'+e+'"]';return v(Z.find(n,e)).forEach((function(e){var n=h(e);t._addAriaAndCollapsedClass(n,[e])})),e},n._addAriaAndCollapsedClass=function(t,e){if(t){var n=t.classList.contains(Jt);e.length&&e.forEach((function(t){n?t.classList.remove(ne):t.classList.add(ne),t.setAttribute("aria-expanded",n)}))}},t.collapseInterface=function(e,n){var i=T.getData(e,qt),r=o({},zt,{},Dt.getDataAttributes(e),{},"object"==typeof n&&n?n:{});if(!i&&r.toggle&&/show|hide/.test(n)&&(r.toggle=!1),i||(i=new t(e,r)),"string"==typeof n){if("undefined"==typeof i[n])throw new TypeError('No method named "'+n+'"');i[n]()}},t.jQueryInterface=function(e){return this.each((function(){t.collapseInterface(this,e)}))},t.getInstance=function(t){return T.getData(t,qt)},e(t,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return zt}}]),t}();z.on(document,$t.CLICK_DATA_API,re.DATA_TOGGLE,(function(t){"A"===t.target.tagName&&t.preventDefault();var e=Dt.getDataAttributes(this),n=u(this);v(Z.find(n)).forEach((function(t){var n,i=T.getData(t,qt);i?(null===i._parent&&"string"==typeof e.parent&&(i._config.parent=e.parent,i._parent=i._getParent()),n="toggle"):n=e,se.collapseInterface(t,n)}))}));var ae=w();if(ae){var le=ae.fn[Gt];ae.fn[Gt]=se.jQueryInterface,ae.fn[Gt].Constructor=se,ae.fn[Gt].noConflict=function(){return ae.fn[Gt]=le,se.jQueryInterface}}var ce="undefined"!=typeof window&&"undefined"!=typeof document&&"undefined"!=typeof navigator,fe=function(){for(var t=["Edge","Trident","Firefox"],e=0;e<t.length;e+=1)if(ce&&navigator.userAgent.indexOf(t[e])>=0)return 1;return 0}();var ue=ce&&window.Promise?function(t){var e=!1;return function(){e||(e=!0,window.Promise.resolve().then((function(){e=!1,t()})))}}:function(t){var e=!1;return function(){e||(e=!0,setTimeout((function(){e=!1,t()}),fe))}};function he(t){return t&&"[object Function]"==={}.toString.call(t)}function de(t,e){if(1!==t.nodeType)return[];var n=t.ownerDocument.defaultView.getComputedStyle(t,null);return e?n[e]:n}function pe(t){return"HTML"===t.nodeName?t:t.parentNode||t.host}function ge(t){if(!t)return document.body;switch(t.nodeName){case"HTML":case"BODY":return t.ownerDocument.body;case"#document":return t.body}var e=de(t),n=e.overflow,i=e.overflowX,o=e.overflowY;return/(auto|scroll|overlay)/.test(n+o+i)?t:ge(pe(t))}function me(t){return t&&t.referenceNode?t.referenceNode:t}var _e=ce&&!(!window.MSInputMethodContext||!document.documentMode),ve=ce&&/MSIE 10/.test(navigator.userAgent);function be(t){return 11===t?_e:10===t?ve:_e||ve}function ye(t){if(!t)return document.documentElement;for(var e=be(10)?document.body:null,n=t.offsetParent||null;n===e&&t.nextElementSibling;)n=(t=t.nextElementSibling).offsetParent;var i=n&&n.nodeName;return i&&"BODY"!==i&&"HTML"!==i?-1!==["TH","TD","TABLE"].indexOf(n.nodeName)&&"static"===de(n,"position")?ye(n):n:t?t.ownerDocument.documentElement:document.documentElement}function Ee(t){return null!==t.parentNode?Ee(t.parentNode):t}function we(t,e){if(!(t&&t.nodeType&&e&&e.nodeType))return document.documentElement;var n=t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING,i=n?t:e,o=n?e:t,r=document.createRange();r.setStart(i,0),r.setEnd(o,0);var s,a,l=r.commonAncestorContainer;if(t!==l&&e!==l||i.contains(o))return"BODY"===(a=(s=l).nodeName)||"HTML"!==a&&ye(s.firstElementChild)!==s?ye(l):l;var c=Ee(t);return c.host?we(c.host,e):we(t,Ee(e).host)}function De(t){var e="top"===(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top")?"scrollTop":"scrollLeft",n=t.nodeName;if("BODY"===n||"HTML"===n){var i=t.ownerDocument.documentElement;return(t.ownerDocument.scrollingElement||i)[e]}return t[e]}function Te(t,e){var n="x"===e?"Left":"Top",i="Left"===n?"Right":"Bottom";return parseFloat(t["border"+n+"Width"],10)+parseFloat(t["border"+i+"Width"],10)}function Ie(t,e,n,i){return Math.max(e["offset"+t],e["scroll"+t],n["client"+t],n["offset"+t],n["scroll"+t],be(10)?parseInt(n["offset"+t])+parseInt(i["margin"+("Height"===t?"Top":"Left")])+parseInt(i["margin"+("Height"===t?"Bottom":"Right")]):0)}function Ae(t){var e=t.body,n=t.documentElement,i=be(10)&&getComputedStyle(n);return{height:Ie("Height",e,n,i),width:Ie("Width",e,n,i)}}var Oe=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},Le=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),Se=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t},Ce=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t};function Ne(t){return Ce({},t,{right:t.left+t.width,bottom:t.top+t.height})}function ke(t){var e={};try{if(be(10)){e=t.getBoundingClientRect();var n=De(t,"top"),i=De(t,"left");e.top+=n,e.left+=i,e.bottom+=n,e.right+=i}else e=t.getBoundingClientRect()}catch(t){}var o={left:e.left,top:e.top,width:e.right-e.left,height:e.bottom-e.top},r="HTML"===t.nodeName?Ae(t.ownerDocument):{},s=r.width||t.clientWidth||o.width,a=r.height||t.clientHeight||o.height,l=t.offsetWidth-s,c=t.offsetHeight-a;if(l||c){var f=de(t);l-=Te(f,"x"),c-=Te(f,"y"),o.width-=l,o.height-=c}return Ne(o)}function Pe(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=be(10),o="HTML"===e.nodeName,r=ke(t),s=ke(e),a=ge(t),l=de(e),c=parseFloat(l.borderTopWidth,10),f=parseFloat(l.borderLeftWidth,10);n&&o&&(s.top=Math.max(s.top,0),s.left=Math.max(s.left,0));var u=Ne({top:r.top-s.top-c,left:r.left-s.left-f,width:r.width,height:r.height});if(u.marginTop=0,u.marginLeft=0,!i&&o){var h=parseFloat(l.marginTop,10),d=parseFloat(l.marginLeft,10);u.top-=c-h,u.bottom-=c-h,u.left-=f-d,u.right-=f-d,u.marginTop=h,u.marginLeft=d}return(i&&!n?e.contains(a):e===a&&"BODY"!==a.nodeName)&&(u=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=De(e,"top"),o=De(e,"left"),r=n?-1:1;return t.top+=i*r,t.bottom+=i*r,t.left+=o*r,t.right+=o*r,t}(u,e)),u}function xe(t){if(!t||!t.parentElement||be())return document.documentElement;for(var e=t.parentElement;e&&"none"===de(e,"transform");)e=e.parentElement;return e||document.documentElement}function Me(t,e,n,i){var o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],r={top:0,left:0},s=o?xe(t):we(t,me(e));if("viewport"===i)r=function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=t.ownerDocument.documentElement,i=Pe(t,n),o=Math.max(n.clientWidth,window.innerWidth||0),r=Math.max(n.clientHeight,window.innerHeight||0),s=e?0:De(n),a=e?0:De(n,"left");return Ne({top:s-i.top+i.marginTop,left:a-i.left+i.marginLeft,width:o,height:r})}(s,o);else{var a=void 0;"scrollParent"===i?"BODY"===(a=ge(pe(e))).nodeName&&(a=t.ownerDocument.documentElement):a="window"===i?t.ownerDocument.documentElement:i;var l=Pe(a,s,o);if("HTML"!==a.nodeName||function t(e){var n=e.nodeName;if("BODY"===n||"HTML"===n)return!1;if("fixed"===de(e,"position"))return!0;var i=pe(e);return!!i&&t(i)}(s))r=l;else{var c=Ae(t.ownerDocument),f=c.height,u=c.width;r.top+=l.top-l.marginTop,r.bottom=f+l.top,r.left+=l.left-l.marginLeft,r.right=u+l.left}}var h="number"==typeof(n=n||0);return r.left+=h?n:n.left||0,r.top+=h?n:n.top||0,r.right-=h?n:n.right||0,r.bottom-=h?n:n.bottom||0,r}function He(t,e,n,i,o){var r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===t.indexOf("auto"))return t;var s=Me(n,i,r,o),a={top:{width:s.width,height:e.top-s.top},right:{width:s.right-e.right,height:s.height},bottom:{width:s.width,height:s.bottom-e.bottom},left:{width:e.left-s.left,height:s.height}},l=Object.keys(a).map((function(t){return Ce({key:t},a[t],{area:(e=a[t],e.width*e.height)});var e})).sort((function(t,e){return e.area-t.area})),c=l.filter((function(t){var e=t.width,i=t.height;return e>=n.clientWidth&&i>=n.clientHeight})),f=c.length>0?c[0].key:l[0].key,u=t.split("-")[1];return f+(u?"-"+u:"")}function je(t,e,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;return Pe(n,i?xe(e):we(e,me(n)),i)}function Re(t){var e=t.ownerDocument.defaultView.getComputedStyle(t),n=parseFloat(e.marginTop||0)+parseFloat(e.marginBottom||0),i=parseFloat(e.marginLeft||0)+parseFloat(e.marginRight||0);return{width:t.offsetWidth+i,height:t.offsetHeight+n}}function We(t){var e={left:"right",right:"left",bottom:"top",top:"bottom"};return t.replace(/left|right|bottom|top/g,(function(t){return e[t]}))}function Ue(t,e,n){n=n.split("-")[0];var i=Re(t),o={width:i.width,height:i.height},r=-1!==["right","left"].indexOf(n),s=r?"top":"left",a=r?"left":"top",l=r?"height":"width",c=r?"width":"height";return o[s]=e[s]+e[l]/2-i[l]/2,o[a]=n===a?e[a]-i[c]:e[We(a)],o}function Be(t,e){return Array.prototype.find?t.find(e):t.filter(e)[0]}function Fe(t,e,n){return(void 0===n?t:t.slice(0,function(t,e,n){if(Array.prototype.findIndex)return t.findIndex((function(t){return t[e]===n}));var i=Be(t,(function(t){return t[e]===n}));return t.indexOf(i)}(t,"name",n))).forEach((function(t){t.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var n=t.function||t.fn;t.enabled&&he(n)&&(e.offsets.popper=Ne(e.offsets.popper),e.offsets.reference=Ne(e.offsets.reference),e=n(e,t))})),e}function Ke(){if(!this.state.isDestroyed){var t={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};t.offsets.reference=je(this.state,this.popper,this.reference,this.options.positionFixed),t.placement=He(this.options.placement,t.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),t.originalPlacement=t.placement,t.positionFixed=this.options.positionFixed,t.offsets.popper=Ue(this.popper,t.offsets.reference,t.placement),t.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",t=Fe(this.modifiers,t),this.state.isCreated?this.options.onUpdate(t):(this.state.isCreated=!0,this.options.onCreate(t))}}function Ve(t,e){return t.some((function(t){var n=t.name;return t.enabled&&n===e}))}function Ye(t){for(var e=[!1,"ms","Webkit","Moz","O"],n=t.charAt(0).toUpperCase()+t.slice(1),i=0;i<e.length;i++){var o=e[i],r=o?""+o+n:t;if("undefined"!=typeof document.body.style[r])return r}return null}function Qe(){return this.state.isDestroyed=!0,Ve(this.modifiers,"applyStyle")&&(this.popper.removeAttribute("x-placement"),this.popper.style.position="",this.popper.style.top="",this.popper.style.left="",this.popper.style.right="",this.popper.style.bottom="",this.popper.style.willChange="",this.popper.style[Ye("transform")]=""),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}function Ge(t){var e=t.ownerDocument;return e?e.defaultView:window}function qe(t,e,n,i){n.updateBound=i,Ge(t).addEventListener("resize",n.updateBound,{passive:!0});var o=ge(t);return function t(e,n,i,o){var r="BODY"===e.nodeName,s=r?e.ownerDocument.defaultView:e;s.addEventListener(n,i,{passive:!0}),r||t(ge(s.parentNode),n,i,o),o.push(s)}(o,"scroll",n.updateBound,n.scrollParents),n.scrollElement=o,n.eventsEnabled=!0,n}function Xe(){this.state.eventsEnabled||(this.state=qe(this.reference,this.options,this.state,this.scheduleUpdate))}function ze(){var t,e;this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=(t=this.reference,e=this.state,Ge(t).removeEventListener("resize",e.updateBound),e.scrollParents.forEach((function(t){t.removeEventListener("scroll",e.updateBound)})),e.updateBound=null,e.scrollParents=[],e.scrollElement=null,e.eventsEnabled=!1,e))}function Ze(t){return""!==t&&!isNaN(parseFloat(t))&&isFinite(t)}function $e(t,e){Object.keys(e).forEach((function(n){var i="";-1!==["width","height","top","right","bottom","left"].indexOf(n)&&Ze(e[n])&&(i="px"),t.style[n]=e[n]+i}))}var Je=ce&&/Firefox/i.test(navigator.userAgent);function tn(t,e,n){var i=Be(t,(function(t){return t.name===e})),o=!!i&&t.some((function(t){return t.name===n&&t.enabled&&t.order<i.order}));if(!o){var r="`"+e+"`",s="`"+n+"`";console.warn(s+" modifier is required by "+r+" modifier in order to work, be sure to include it before "+r+"!")}return o}var en=["auto-start","auto","auto-end","top-start","top","top-end","right-start","right","right-end","bottom-end","bottom","bottom-start","left-end","left","left-start"],nn=en.slice(3);function on(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=nn.indexOf(t),i=nn.slice(n+1).concat(nn.slice(0,n));return e?i.reverse():i}var rn={FLIP:"flip",CLOCKWISE:"clockwise",COUNTERCLOCKWISE:"counterclockwise"};function sn(t,e,n,i){var o=[0,0],r=-1!==["right","left"].indexOf(i),s=t.split(/(\+|\-)/).map((function(t){return t.trim()})),a=s.indexOf(Be(s,(function(t){return-1!==t.search(/,|\s/)})));s[a]&&-1===s[a].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var l=/\s*,\s*|\s+/,c=-1!==a?[s.slice(0,a).concat([s[a].split(l)[0]]),[s[a].split(l)[1]].concat(s.slice(a+1))]:[s];return(c=c.map((function(t,i){var o=(1===i?!r:r)?"height":"width",s=!1;return t.reduce((function(t,e){return""===t[t.length-1]&&-1!==["+","-"].indexOf(e)?(t[t.length-1]=e,s=!0,t):s?(t[t.length-1]+=e,s=!1,t):t.concat(e)}),[]).map((function(t){return function(t,e,n,i){var o=t.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),r=+o[1],s=o[2];if(!r)return t;if(0===s.indexOf("%")){var a=void 0;switch(s){case"%p":a=n;break;case"%":case"%r":default:a=i}return Ne(a)[e]/100*r}if("vh"===s||"vw"===s){return("vh"===s?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*r}return r}(t,o,e,n)}))}))).forEach((function(t,e){t.forEach((function(n,i){Ze(n)&&(o[e]+=n*("-"===t[i-1]?-1:1))}))})),o}var an={placement:"bottom",positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(t){var e=t.placement,n=e.split("-")[0],i=e.split("-")[1];if(i){var o=t.offsets,r=o.reference,s=o.popper,a=-1!==["bottom","top"].indexOf(n),l=a?"left":"top",c=a?"width":"height",f={start:Se({},l,r[l]),end:Se({},l,r[l]+r[c]-s[c])};t.offsets.popper=Ce({},s,f[i])}return t}},offset:{order:200,enabled:!0,fn:function(t,e){var n=e.offset,i=t.placement,o=t.offsets,r=o.popper,s=o.reference,a=i.split("-")[0],l=void 0;return l=Ze(+n)?[+n,0]:sn(n,r,s,a),"left"===a?(r.top+=l[0],r.left-=l[1]):"right"===a?(r.top+=l[0],r.left+=l[1]):"top"===a?(r.left+=l[0],r.top-=l[1]):"bottom"===a&&(r.left+=l[0],r.top+=l[1]),t.popper=r,t},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(t,e){var n=e.boundariesElement||ye(t.instance.popper);t.instance.reference===n&&(n=ye(n));var i=Ye("transform"),o=t.instance.popper.style,r=o.top,s=o.left,a=o[i];o.top="",o.left="",o[i]="";var l=Me(t.instance.popper,t.instance.reference,e.padding,n,t.positionFixed);o.top=r,o.left=s,o[i]=a,e.boundaries=l;var c=e.priority,f=t.offsets.popper,u={primary:function(t){var n=f[t];return f[t]<l[t]&&!e.escapeWithReference&&(n=Math.max(f[t],l[t])),Se({},t,n)},secondary:function(t){var n="right"===t?"left":"top",i=f[n];return f[t]>l[t]&&!e.escapeWithReference&&(i=Math.min(f[n],l[t]-("right"===t?f.width:f.height))),Se({},n,i)}};return c.forEach((function(t){var e=-1!==["left","top"].indexOf(t)?"primary":"secondary";f=Ce({},f,u[e](t))})),t.offsets.popper=f,t},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(t){var e=t.offsets,n=e.popper,i=e.reference,o=t.placement.split("-")[0],r=Math.floor,s=-1!==["top","bottom"].indexOf(o),a=s?"right":"bottom",l=s?"left":"top",c=s?"width":"height";return n[a]<r(i[l])&&(t.offsets.popper[l]=r(i[l])-n[c]),n[l]>r(i[a])&&(t.offsets.popper[l]=r(i[a])),t}},arrow:{order:500,enabled:!0,fn:function(t,e){var n;if(!tn(t.instance.modifiers,"arrow","keepTogether"))return t;var i=e.element;if("string"==typeof i){if(!(i=t.instance.popper.querySelector(i)))return t}else if(!t.instance.popper.contains(i))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),t;var o=t.placement.split("-")[0],r=t.offsets,s=r.popper,a=r.reference,l=-1!==["left","right"].indexOf(o),c=l?"height":"width",f=l?"Top":"Left",u=f.toLowerCase(),h=l?"left":"top",d=l?"bottom":"right",p=Re(i)[c];a[d]-p<s[u]&&(t.offsets.popper[u]-=s[u]-(a[d]-p)),a[u]+p>s[d]&&(t.offsets.popper[u]+=a[u]+p-s[d]),t.offsets.popper=Ne(t.offsets.popper);var g=a[u]+a[c]/2-p/2,m=de(t.instance.popper),_=parseFloat(m["margin"+f],10),v=parseFloat(m["border"+f+"Width"],10),b=g-t.offsets.popper[u]-_-v;return b=Math.max(Math.min(s[c]-p,b),0),t.arrowElement=i,t.offsets.arrow=(Se(n={},u,Math.round(b)),Se(n,h,""),n),t},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(t,e){if(Ve(t.instance.modifiers,"inner"))return t;if(t.flipped&&t.placement===t.originalPlacement)return t;var n=Me(t.instance.popper,t.instance.reference,e.padding,e.boundariesElement,t.positionFixed),i=t.placement.split("-")[0],o=We(i),r=t.placement.split("-")[1]||"",s=[];switch(e.behavior){case rn.FLIP:s=[i,o];break;case rn.CLOCKWISE:s=on(i);break;case rn.COUNTERCLOCKWISE:s=on(i,!0);break;default:s=e.behavior}return s.forEach((function(a,l){if(i!==a||s.length===l+1)return t;i=t.placement.split("-")[0],o=We(i);var c=t.offsets.popper,f=t.offsets.reference,u=Math.floor,h="left"===i&&u(c.right)>u(f.left)||"right"===i&&u(c.left)<u(f.right)||"top"===i&&u(c.bottom)>u(f.top)||"bottom"===i&&u(c.top)<u(f.bottom),d=u(c.left)<u(n.left),p=u(c.right)>u(n.right),g=u(c.top)<u(n.top),m=u(c.bottom)>u(n.bottom),_="left"===i&&d||"right"===i&&p||"top"===i&&g||"bottom"===i&&m,v=-1!==["top","bottom"].indexOf(i),b=!!e.flipVariations&&(v&&"start"===r&&d||v&&"end"===r&&p||!v&&"start"===r&&g||!v&&"end"===r&&m),y=!!e.flipVariationsByContent&&(v&&"start"===r&&p||v&&"end"===r&&d||!v&&"start"===r&&m||!v&&"end"===r&&g),E=b||y;(h||_||E)&&(t.flipped=!0,(h||_)&&(i=s[l+1]),E&&(r=function(t){return"end"===t?"start":"start"===t?"end":t}(r)),t.placement=i+(r?"-"+r:""),t.offsets.popper=Ce({},t.offsets.popper,Ue(t.instance.popper,t.offsets.reference,t.placement)),t=Fe(t.instance.modifiers,t,"flip"))})),t},behavior:"flip",padding:5,boundariesElement:"viewport",flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(t){var e=t.placement,n=e.split("-")[0],i=t.offsets,o=i.popper,r=i.reference,s=-1!==["left","right"].indexOf(n),a=-1===["top","left"].indexOf(n);return o[s?"left":"top"]=r[n]-(a?o[s?"width":"height"]:0),t.placement=We(e),t.offsets.popper=Ne(o),t}},hide:{order:800,enabled:!0,fn:function(t){if(!tn(t.instance.modifiers,"hide","preventOverflow"))return t;var e=t.offsets.reference,n=Be(t.instance.modifiers,(function(t){return"preventOverflow"===t.name})).boundaries;if(e.bottom<n.top||e.left>n.right||e.top>n.bottom||e.right<n.left){if(!0===t.hide)return t;t.hide=!0,t.attributes["x-out-of-boundaries"]=""}else{if(!1===t.hide)return t;t.hide=!1,t.attributes["x-out-of-boundaries"]=!1}return t}},computeStyle:{order:850,enabled:!0,fn:function(t,e){var n=e.x,i=e.y,o=t.offsets.popper,r=Be(t.instance.modifiers,(function(t){return"applyStyle"===t.name})).gpuAcceleration;void 0!==r&&console.warn("WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!");var s=void 0!==r?r:e.gpuAcceleration,a=ye(t.instance.popper),l=ke(a),c={position:o.position},f=function(t,e){var n=t.offsets,i=n.popper,o=n.reference,r=Math.round,s=Math.floor,a=function(t){return t},l=r(o.width),c=r(i.width),f=-1!==["left","right"].indexOf(t.placement),u=-1!==t.placement.indexOf("-"),h=e?f||u||l%2==c%2?r:s:a,d=e?r:a;return{left:h(l%2==1&&c%2==1&&!u&&e?i.left-1:i.left),top:d(i.top),bottom:d(i.bottom),right:h(i.right)}}(t,window.devicePixelRatio<2||!Je),u="bottom"===n?"top":"bottom",h="right"===i?"left":"right",d=Ye("transform"),p=void 0,g=void 0;if(g="bottom"===u?"HTML"===a.nodeName?-a.clientHeight+f.bottom:-l.height+f.bottom:f.top,p="right"===h?"HTML"===a.nodeName?-a.clientWidth+f.right:-l.width+f.right:f.left,s&&d)c[d]="translate3d("+p+"px, "+g+"px, 0)",c[u]=0,c[h]=0,c.willChange="transform";else{var m="bottom"===u?-1:1,_="right"===h?-1:1;c[u]=g*m,c[h]=p*_,c.willChange=u+", "+h}var v={"x-placement":t.placement};return t.attributes=Ce({},v,t.attributes),t.styles=Ce({},c,t.styles),t.arrowStyles=Ce({},t.offsets.arrow,t.arrowStyles),t},gpuAcceleration:!0,x:"bottom",y:"right"},applyStyle:{order:900,enabled:!0,fn:function(t){var e,n;return $e(t.instance.popper,t.styles),e=t.instance.popper,n=t.attributes,Object.keys(n).forEach((function(t){!1!==n[t]?e.setAttribute(t,n[t]):e.removeAttribute(t)})),t.arrowElement&&Object.keys(t.arrowStyles).length&&$e(t.arrowElement,t.arrowStyles),t},onLoad:function(t,e,n,i,o){var r=je(o,e,t,n.positionFixed),s=He(n.placement,r,e,t,n.modifiers.flip.boundariesElement,n.modifiers.flip.padding);return e.setAttribute("x-placement",s),$e(e,{position:n.positionFixed?"fixed":"absolute"}),n},gpuAcceleration:void 0}}},ln=function(){function t(e,n){var i=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Oe(this,t),this.scheduleUpdate=function(){return requestAnimationFrame(i.update)},this.update=ue(this.update.bind(this)),this.options=Ce({},t.Defaults,o),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=e&&e.jquery?e[0]:e,this.popper=n&&n.jquery?n[0]:n,this.options.modifiers={},Object.keys(Ce({},t.Defaults.modifiers,o.modifiers)).forEach((function(e){i.options.modifiers[e]=Ce({},t.Defaults.modifiers[e]||{},o.modifiers?o.modifiers[e]:{})})),this.modifiers=Object.keys(this.options.modifiers).map((function(t){return Ce({name:t},i.options.modifiers[t])})).sort((function(t,e){return t.order-e.order})),this.modifiers.forEach((function(t){t.enabled&&he(t.onLoad)&&t.onLoad(i.reference,i.popper,i.options,t,i.state)})),this.update();var r=this.options.eventsEnabled;r&&this.enableEventListeners(),this.state.eventsEnabled=r}return Le(t,[{key:"update",value:function(){return Ke.call(this)}},{key:"destroy",value:function(){return Qe.call(this)}},{key:"enableEventListeners",value:function(){return Xe.call(this)}},{key:"disableEventListeners",value:function(){return ze.call(this)}}]),t}();ln.Utils=("undefined"!=typeof window?window:global).PopperUtils,ln.placements=en,ln.Defaults=an;var cn="dropdown",fn="bs.dropdown",un="."+fn,hn=new RegExp("38|40|27"),dn={HIDE:"hide"+un,HIDDEN:"hidden"+un,SHOW:"show"+un,SHOWN:"shown"+un,CLICK:"click"+un,CLICK_DATA_API:"click"+un+".data-api",KEYDOWN_DATA_API:"keydown"+un+".data-api",KEYUP_DATA_API:"keyup"+un+".data-api"},pn="disabled",gn="show",mn="dropup",_n="dropright",vn="dropleft",bn="dropdown-menu-right",yn="position-static",En='[data-toggle="dropdown"]',wn=".dropdown form",Dn=".dropdown-menu",Tn=".navbar-nav",In=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",An="top-start",On="top-end",Ln="bottom-start",Sn="bottom-end",Cn="right-start",Nn="left-start",kn={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic",popperConfig:null},Pn={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string",popperConfig:"(null|object)"},xn=function(){function t(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners(),T.setData(t,fn,this)}var n=t.prototype;return n.toggle=function(){if(!this._element.disabled&&!this._element.classList.contains(pn)){var e=this._menu.classList.contains(gn);t.clearMenus(),e||this.show()}},n.show=function(){if(!(this._element.disabled||this._element.classList.contains(pn)||this._menu.classList.contains(gn))){var e=t.getParentFromElement(this._element),n={relatedTarget:this._element};if(!z.trigger(e,dn.SHOW,n).defaultPrevented){if(!this._inNavbar){if("undefined"==typeof ln)throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org)");var i=this._element;"parent"===this._config.reference?i=e:g(this._config.reference)&&(i=this._config.reference,"undefined"!=typeof this._config.reference.jquery&&(i=this._config.reference[0])),"scrollParent"!==this._config.boundary&&e.classList.add(yn),this._popper=new ln(i,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&!v(Z.closest(e,Tn)).length&&v(document.body.children).forEach((function(t){return z.on(t,"mouseover",null,(function(){}))})),this._element.focus(),this._element.setAttribute("aria-expanded",!0),Dt.toggleClass(this._menu,gn),Dt.toggleClass(e,gn),z.trigger(e,dn.SHOWN,n)}}},n.hide=function(){if(!this._element.disabled&&!this._element.classList.contains(pn)&&this._menu.classList.contains(gn)){var e=t.getParentFromElement(this._element),n={relatedTarget:this._element};z.trigger(e,dn.HIDE,n).defaultPrevented||(this._popper&&this._popper.destroy(),Dt.toggleClass(this._menu,gn),Dt.toggleClass(e,gn),z.trigger(e,dn.HIDDEN,n))}},n.dispose=function(){T.removeData(this._element,fn),z.off(this._element,un),this._element=null,this._menu=null,this._popper&&(this._popper.destroy(),this._popper=null)},n.update=function(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.scheduleUpdate()},n._addEventListeners=function(){var t=this;z.on(this._element,dn.CLICK,(function(e){e.preventDefault(),e.stopPropagation(),t.toggle()}))},n._getConfig=function(t){return t=o({},this.constructor.Default,{},Dt.getDataAttributes(this._element),{},t),_(cn,t,this.constructor.DefaultType),t},n._getMenuElement=function(){var e=t.getParentFromElement(this._element);return Z.findOne(Dn,e)},n._getPlacement=function(){var t=this._element.parentNode,e=Ln;return t.classList.contains(mn)?(e=An,this._menu.classList.contains(bn)&&(e=On)):t.classList.contains(_n)?e=Cn:t.classList.contains(vn)?e=Nn:this._menu.classList.contains(bn)&&(e=Sn),e},n._detectNavbar=function(){return Boolean(Z.closest(this._element,".navbar"))},n._getOffset=function(){var t=this,e={};return"function"==typeof this._config.offset?e.fn=function(e){return e.offsets=o({},e.offsets,{},t._config.offset(e.offsets,t._element)||{}),e}:e.offset=this._config.offset,e},n._getPopperConfig=function(){var t={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(t.modifiers.applyStyle={enabled:!1}),o({},t,{},this._config.popperConfig)},t.dropdownInterface=function(e,n){var i=T.getData(e,fn);if(i||(i=new t(e,"object"==typeof n?n:null)),"string"==typeof n){if("undefined"==typeof i[n])throw new TypeError('No method named "'+n+'"');i[n]()}},t.jQueryInterface=function(e){return this.each((function(){t.dropdownInterface(this,e)}))},t.clearMenus=function(e){if(!e||3!==e.which&&("keyup"!==e.type||9===e.which))for(var n=v(Z.find(En)),i=0,o=n.length;i<o;i++){var r=t.getParentFromElement(n[i]),s=T.getData(n[i],fn),a={relatedTarget:n[i]};if(e&&"click"===e.type&&(a.clickEvent=e),s){var l=s._menu;if(r.classList.contains(gn))if(!(e&&("click"===e.type&&/input|textarea/i.test(e.target.tagName)||"keyup"===e.type&&9===e.which)&&r.contains(e.target)))z.trigger(r,dn.HIDE,a).defaultPrevented||("ontouchstart"in document.documentElement&&v(document.body.children).forEach((function(t){return z.off(t,"mouseover",null,(function(){}))})),n[i].setAttribute("aria-expanded","false"),s._popper&&s._popper.destroy(),l.classList.remove(gn),r.classList.remove(gn),z.trigger(r,dn.HIDDEN,a))}}},t.getParentFromElement=function(t){return h(t)||t.parentNode},t.dataApiKeydownHandler=function(e){if((/input|textarea/i.test(e.target.tagName)?!(32===e.which||27!==e.which&&(40!==e.which&&38!==e.which||Z.closest(e.target,Dn))):hn.test(e.which))&&(e.preventDefault(),e.stopPropagation(),!this.disabled&&!this.classList.contains(pn))){var n=t.getParentFromElement(this),i=n.classList.contains(gn);if(!i||i&&(27===e.which||32===e.which))return 27===e.which&&Z.findOne(En,n).focus(),void t.clearMenus();var o=v(Z.find(In,n)).filter(b);if(o.length){var r=o.indexOf(e.target);38===e.which&&r>0&&r--,40===e.which&&r<o.length-1&&r++,r<0&&(r=0),o[r].focus()}}},t.getInstance=function(t){return T.getData(t,fn)},e(t,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return kn}},{key:"DefaultType",get:function(){return Pn}}]),t}();z.on(document,dn.KEYDOWN_DATA_API,En,xn.dataApiKeydownHandler),z.on(document,dn.KEYDOWN_DATA_API,Dn,xn.dataApiKeydownHandler),z.on(document,dn.CLICK_DATA_API,xn.clearMenus),z.on(document,dn.KEYUP_DATA_API,xn.clearMenus),z.on(document,dn.CLICK_DATA_API,En,(function(t){t.preventDefault(),t.stopPropagation(),xn.dropdownInterface(this,"toggle")})),z.on(document,dn.CLICK_DATA_API,wn,(function(t){return t.stopPropagation()}));var Mn=w();if(Mn){var Hn=Mn.fn[cn];Mn.fn[cn]=xn.jQueryInterface,Mn.fn[cn].Constructor=xn,Mn.fn[cn].noConflict=function(){return Mn.fn[cn]=Hn,xn.jQueryInterface}}var jn="bs.modal",Rn="."+jn,Wn={backdrop:!0,keyboard:!0,focus:!0,show:!0},Un={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},Bn={HIDE:"hide"+Rn,HIDE_PREVENTED:"hidePrevented"+Rn,HIDDEN:"hidden"+Rn,SHOW:"show"+Rn,SHOWN:"shown"+Rn,FOCUSIN:"focusin"+Rn,RESIZE:"resize"+Rn,CLICK_DISMISS:"click.dismiss"+Rn,KEYDOWN_DISMISS:"keydown.dismiss"+Rn,MOUSEUP_DISMISS:"mouseup.dismiss"+Rn,MOUSEDOWN_DISMISS:"mousedown.dismiss"+Rn,CLICK_DATA_API:"click"+Rn+".data-api"},Fn="modal-dialog-scrollable",Kn="modal-scrollbar-measure",Vn="modal-backdrop",Yn="modal-open",Qn="fade",Gn="show",qn="modal-static",Xn={DIALOG:".modal-dialog",MODAL_BODY:".modal-body",DATA_TOGGLE:'[data-toggle="modal"]',DATA_DISMISS:'[data-dismiss="modal"]',FIXED_CONTENT:".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",STICKY_CONTENT:".sticky-top"},zn=function(){function t(t,e){this._config=this._getConfig(e),this._element=t,this._dialog=Z.findOne(Xn.DIALOG,t),this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollbarWidth=0,T.setData(t,jn,this)}var n=t.prototype;return n.toggle=function(t){return this._isShown?this.hide():this.show(t)},n.show=function(t){var e=this;if(!this._isShown&&!this._isTransitioning){this._element.classList.contains(Qn)&&(this._isTransitioning=!0);var n=z.trigger(this._element,Bn.SHOW,{relatedTarget:t});this._isShown||n.defaultPrevented||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),z.on(this._element,Bn.CLICK_DISMISS,Xn.DATA_DISMISS,(function(t){return e.hide(t)})),z.on(this._dialog,Bn.MOUSEDOWN_DISMISS,(function(){z.one(e._element,Bn.MOUSEUP_DISMISS,(function(t){t.target===e._element&&(e._ignoreBackdropClick=!0)}))})),this._showBackdrop((function(){return e._showElement(t)})))}},n.hide=function(t){var e=this;if((t&&t.preventDefault(),this._isShown&&!this._isTransitioning)&&!z.trigger(this._element,Bn.HIDE).defaultPrevented){this._isShown=!1;var n=this._element.classList.contains(Qn);if(n&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),z.off(document,Bn.FOCUSIN),this._element.classList.remove(Gn),z.off(this._element,Bn.CLICK_DISMISS),z.off(this._dialog,Bn.MOUSEDOWN_DISMISS),n){var i=d(this._element);z.one(this._element,l,(function(t){return e._hideModal(t)})),m(this._element,i)}else this._hideModal()}},n.dispose=function(){[window,this._element,this._dialog].forEach((function(t){return z.off(t,Rn)})),z.off(document,Bn.FOCUSIN),T.removeData(this._element,jn),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._isTransitioning=null,this._scrollbarWidth=null},n.handleUpdate=function(){this._adjustDialog()},n._getConfig=function(t){return t=o({},Wn,{},t),_("modal",t,Un),t},n._showElement=function(t){var e=this,n=this._element.classList.contains(Qn),i=Z.findOne(Xn.MODAL_BODY,this._dialog);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._dialog.classList.contains(Fn)&&i?i.scrollTop=0:this._element.scrollTop=0,n&&E(this._element),this._element.classList.add(Gn),this._config.focus&&this._enforceFocus();var o=function(){e._config.focus&&e._element.focus(),e._isTransitioning=!1,z.trigger(e._element,Bn.SHOWN,{relatedTarget:t})};if(n){var r=d(this._dialog);z.one(this._dialog,l,o),m(this._dialog,r)}else o()},n._enforceFocus=function(){var t=this;z.off(document,Bn.FOCUSIN),z.on(document,Bn.FOCUSIN,(function(e){document===e.target||t._element===e.target||t._element.contains(e.target)||t._element.focus()}))},n._setEscapeEvent=function(){var t=this;this._isShown&&this._config.keyboard?z.on(this._element,Bn.KEYDOWN_DISMISS,(function(e){27===e.which&&t._triggerBackdropTransition()})):z.off(this._element,Bn.KEYDOWN_DISMISS)},n._setResizeEvent=function(){var t=this;this._isShown?z.on(window,Bn.RESIZE,(function(){return t._adjustDialog()})):z.off(window,Bn.RESIZE)},n._hideModal=function(){var t=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._isTransitioning=!1,this._showBackdrop((function(){document.body.classList.remove(Yn),t._resetAdjustments(),t._resetScrollbar(),z.trigger(t._element,Bn.HIDDEN)}))},n._removeBackdrop=function(){this._backdrop.parentNode.removeChild(this._backdrop),this._backdrop=null},n._showBackdrop=function(t){var e=this,n=this._element.classList.contains(Qn)?Qn:"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className=Vn,n&&this._backdrop.classList.add(n),document.body.appendChild(this._backdrop),z.on(this._element,Bn.CLICK_DISMISS,(function(t){e._ignoreBackdropClick?e._ignoreBackdropClick=!1:t.target===t.currentTarget&&e._triggerBackdropTransition()})),n&&E(this._backdrop),this._backdrop.classList.add(Gn),!n)return void t();var i=d(this._backdrop);z.one(this._backdrop,l,t),m(this._backdrop,i)}else if(!this._isShown&&this._backdrop){this._backdrop.classList.remove(Gn);var o=function(){e._removeBackdrop(),t()};if(this._element.classList.contains(Qn)){var r=d(this._backdrop);z.one(this._backdrop,l,o),m(this._backdrop,r)}else o()}else t()},n._triggerBackdropTransition=function(){var t=this;if("static"===this._config.backdrop){if(z.trigger(this._element,Bn.HIDE_PREVENTED).defaultPrevented)return;this._element.classList.add(qn);var e=d(this._element);z.one(this._element,l,(function(){t._element.classList.remove(qn)})),m(this._element,e),this._element.focus()}else this.hide()},n._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},n._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},n._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},n._setScrollbar=function(){var t=this;if(this._isBodyOverflowing){v(Z.find(Xn.FIXED_CONTENT)).forEach((function(e){var n=e.style.paddingRight,i=window.getComputedStyle(e)["padding-right"];Dt.setDataAttribute(e,"padding-right",n),e.style.paddingRight=parseFloat(i)+t._scrollbarWidth+"px"})),v(Z.find(Xn.STICKY_CONTENT)).forEach((function(e){var n=e.style.marginRight,i=window.getComputedStyle(e)["margin-right"];Dt.setDataAttribute(e,"margin-right",n),e.style.marginRight=parseFloat(i)-t._scrollbarWidth+"px"}));var e=document.body.style.paddingRight,n=window.getComputedStyle(document.body)["padding-right"];Dt.setDataAttribute(document.body,"padding-right",e),document.body.style.paddingRight=parseFloat(n)+this._scrollbarWidth+"px"}document.body.classList.add(Yn)},n._resetScrollbar=function(){v(Z.find(Xn.FIXED_CONTENT)).forEach((function(t){var e=Dt.getDataAttribute(t,"padding-right");"undefined"!=typeof e&&(Dt.removeDataAttribute(t,"padding-right"),t.style.paddingRight=e)})),v(Z.find(""+Xn.STICKY_CONTENT)).forEach((function(t){var e=Dt.getDataAttribute(t,"margin-right");"undefined"!=typeof e&&(Dt.removeDataAttribute(t,"margin-right"),t.style.marginRight=e)}));var t=Dt.getDataAttribute(document.body,"padding-right");"undefined"==typeof t?document.body.style.paddingRight="":(Dt.removeDataAttribute(document.body,"padding-right"),document.body.style.paddingRight=t)},n._getScrollbarWidth=function(){var t=document.createElement("div");t.className=Kn,document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},t.jQueryInterface=function(e,n){return this.each((function(){var i=T.getData(this,jn),r=o({},Wn,{},Dt.getDataAttributes(this),{},"object"==typeof e&&e?e:{});if(i||(i=new t(this,r)),"string"==typeof e){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e](n)}else r.show&&i.show(n)}))},t.getInstance=function(t){return T.getData(t,jn)},e(t,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Wn}}]),t}();z.on(document,Bn.CLICK_DATA_API,Xn.DATA_TOGGLE,(function(t){var e=this,n=h(this);"A"!==this.tagName&&"AREA"!==this.tagName||t.preventDefault(),z.one(n,Bn.SHOW,(function(t){t.defaultPrevented||z.one(n,Bn.HIDDEN,(function(){b(e)&&e.focus()}))}));var i=T.getData(n,jn);if(!i){var r=o({},Dt.getDataAttributes(n),{},Dt.getDataAttributes(this));i=new zn(n,r)}i.show(this)}));var Zn=w();if(Zn){var $n=Zn.fn.modal;Zn.fn.modal=zn.jQueryInterface,Zn.fn.modal.Constructor=zn,Zn.fn.modal.noConflict=function(){return Zn.fn.modal=$n,zn.jQueryInterface}}var Jn=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],ti=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi,ei=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i,ni=function(t,e){var n=t.nodeName.toLowerCase();if(-1!==e.indexOf(n))return-1===Jn.indexOf(n)||Boolean(t.nodeValue.match(ti)||t.nodeValue.match(ei));for(var i=e.filter((function(t){return t instanceof RegExp})),o=0,r=i.length;o<r;o++)if(n.match(i[o]))return!0;return!1},ii={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]};function oi(t,e,n){if(!t.length)return t;if(n&&"function"==typeof n)return n(t);for(var i=(new window.DOMParser).parseFromString(t,"text/html"),o=Object.keys(e),r=v(i.body.querySelectorAll("*")),s=function(t,n){var i=r[t],s=i.nodeName.toLowerCase();if(-1===o.indexOf(s))return i.parentNode.removeChild(i),"continue";var a=v(i.attributes),l=[].concat(e["*"]||[],e[s]||[]);a.forEach((function(t){ni(t,l)||i.removeAttribute(t.nodeName)}))},a=0,l=r.length;a<l;a++)s(a);return i.body.innerHTML}var ri="tooltip",si=new RegExp("(^|\\s)bs-tooltip\\S+","g"),ai=["sanitize","whiteList","sanitizeFn"],li={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string|function)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)",sanitize:"boolean",sanitizeFn:"(null|function)",whiteList:"object",popperConfig:"(null|object)"},ci={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},fi={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:ii,popperConfig:null},ui="show",hi="out",di={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"},pi="fade",gi="show",mi=".tooltip-inner",_i="hover",vi="focus",bi="click",yi="manual",Ei=function(){function t(t,e){if("undefined"==typeof ln)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners(),T.setData(t,this.constructor.DATA_KEY,this)}var n=t.prototype;return n.enable=function(){this._isEnabled=!0},n.disable=function(){this._isEnabled=!1},n.toggleEnabled=function(){this._isEnabled=!this._isEnabled},n.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=T.getData(t.delegateTarget,e);n||(n=new this.constructor(t.delegateTarget,this._getDelegateConfig()),T.setData(t.delegateTarget,e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(this.getTipElement().classList.contains(gi))return void this._leave(null,this);this._enter(null,this)}},n.dispose=function(){clearTimeout(this._timeout),T.removeData(this.element,this.constructor.DATA_KEY),z.off(this.element,this.constructor.EVENT_KEY),z.off(Z.closest(this.element,".modal"),"hide.bs.modal",this._hideModalHandler),this.tip&&this.tip.parentNode.removeChild(this.tip),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},n.show=function(){var t=this;if("none"===this.element.style.display)throw new Error("Please use show on visible elements");if(this.isWithContent()&&this._isEnabled){var e=z.trigger(this.element,this.constructor.Event.SHOW),n=function t(e){if(!document.documentElement.attachShadow)return null;if("function"==typeof e.getRootNode){var n=e.getRootNode();return n instanceof ShadowRoot?n:null}return e instanceof ShadowRoot?e:e.parentNode?t(e.parentNode):null}(this.element),i=null===n?this.element.ownerDocument.documentElement.contains(this.element):n.contains(this.element);if(e.defaultPrevented||!i)return;var o=this.getTipElement(),r=c(this.constructor.NAME);o.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&o.classList.add(pi);var s="function"==typeof this.config.placement?this.config.placement.call(this,o,this.element):this.config.placement,a=this._getAttachment(s);this._addAttachmentClass(a);var f=this._getContainer();T.setData(o,this.constructor.DATA_KEY,this),this.element.ownerDocument.documentElement.contains(this.tip)||f.appendChild(o),z.trigger(this.element,this.constructor.Event.INSERTED),this._popper=new ln(this.element,o,this._getPopperConfig(a)),o.classList.add(gi),"ontouchstart"in document.documentElement&&v(document.body.children).forEach((function(t){z.on(t,"mouseover",(function(){}))}));var u=function(){t.config.animation&&t._fixTransition();var e=t._hoverState;t._hoverState=null,z.trigger(t.element,t.constructor.Event.SHOWN),e===hi&&t._leave(null,t)};if(this.tip.classList.contains(pi)){var h=d(this.tip);z.one(this.tip,l,u),m(this.tip,h)}else u()}},n.hide=function(){var t=this,e=this.getTipElement(),n=function(){t._hoverState!==ui&&e.parentNode&&e.parentNode.removeChild(e),t._cleanTipClass(),t.element.removeAttribute("aria-describedby"),z.trigger(t.element,t.constructor.Event.HIDDEN),t._popper.destroy()};if(!z.trigger(this.element,this.constructor.Event.HIDE).defaultPrevented){if(e.classList.remove(gi),"ontouchstart"in document.documentElement&&v(document.body.children).forEach((function(t){return z.off(t,"mouseover",y)})),this._activeTrigger[bi]=!1,this._activeTrigger[vi]=!1,this._activeTrigger[_i]=!1,this.tip.classList.contains(pi)){var i=d(e);z.one(e,l,n),m(e,i)}else n();this._hoverState=""}},n.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},n.isWithContent=function(){return Boolean(this.getTitle())},n.getTipElement=function(){if(this.tip)return this.tip;var t=document.createElement("div");return t.innerHTML=this.config.template,this.tip=t.children[0],this.tip},n.setContent=function(){var t=this.getTipElement();this.setElementContent(Z.findOne(mi,t),this.getTitle()),t.classList.remove(pi),t.classList.remove(gi)},n.setElementContent=function(t,e){if(null!==t)return"object"==typeof e&&g(e)?(e.jquery&&(e=e[0]),void(this.config.html?e.parentNode!==t&&(t.innerHTML="",t.appendChild(e)):t.innerText=e.textContent)):void(this.config.html?(this.config.sanitize&&(e=oi(e,this.config.whiteList,this.config.sanitizeFn)),t.innerHTML=e):t.innerText=e)},n.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},n._getPopperConfig=function(t){var e=this;return o({},{placement:t,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:"."+this.constructor.NAME+"-arrow"},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}},{},this.config.popperConfig)},n._addAttachmentClass=function(t){this.getTipElement().classList.add("bs-tooltip-"+t)},n._getOffset=function(){var t=this,e={};return"function"==typeof this.config.offset?e.fn=function(e){return e.offsets=o({},e.offsets,{},t.config.offset(e.offsets,t.element)||{}),e}:e.offset=this.config.offset,e},n._getContainer=function(){return!1===this.config.container?document.body:g(this.config.container)?this.config.container:Z.findOne(this.config.container)},n._getAttachment=function(t){return ci[t.toUpperCase()]},n._setListeners=function(){var t=this;this.config.trigger.split(" ").forEach((function(e){if("click"===e)z.on(t.element,t.constructor.Event.CLICK,t.config.selector,(function(e){return t.toggle(e)}));else if(e!==yi){var n=e===_i?t.constructor.Event.MOUSEENTER:t.constructor.Event.FOCUSIN,i=e===_i?t.constructor.Event.MOUSELEAVE:t.constructor.Event.FOCUSOUT;z.on(t.element,n,t.config.selector,(function(e){return t._enter(e)})),z.on(t.element,i,t.config.selector,(function(e){return t._leave(e)}))}})),this._hideModalHandler=function(){t.element&&t.hide()},z.on(Z.closest(this.element,".modal"),"hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=o({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},n._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},n._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||T.getData(t.delegateTarget,n))||(e=new this.constructor(t.delegateTarget,this._getDelegateConfig()),T.setData(t.delegateTarget,n,e)),t&&(e._activeTrigger["focusin"===t.type?vi:_i]=!0),e.getTipElement().classList.contains(gi)||e._hoverState===ui?e._hoverState=ui:(clearTimeout(e._timeout),e._hoverState=ui,e.config.delay&&e.config.delay.show?e._timeout=setTimeout((function(){e._hoverState===ui&&e.show()}),e.config.delay.show):e.show())},n._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||T.getData(t.delegateTarget,n))||(e=new this.constructor(t.delegateTarget,this._getDelegateConfig()),T.setData(t.delegateTarget,n,e)),t&&(e._activeTrigger["focusout"===t.type?vi:_i]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=hi,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout((function(){e._hoverState===hi&&e.hide()}),e.config.delay.hide):e.hide())},n._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},n._getConfig=function(t){var e=Dt.getDataAttributes(this.element);return Object.keys(e).forEach((function(t){-1!==ai.indexOf(t)&&delete e[t]})),t&&"object"==typeof t.container&&t.container.jquery&&(t.container=t.container[0]),"number"==typeof(t=o({},this.constructor.Default,{},e,{},"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),_(ri,t,this.constructor.DefaultType),t.sanitize&&(t.template=oi(t.template,t.whiteList,t.sanitizeFn)),t},n._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},n._cleanTipClass=function(){var t=this.getTipElement(),e=t.getAttribute("class").match(si);null!==e&&e.length&&e.map((function(t){return t.trim()})).forEach((function(e){return t.classList.remove(e)}))},n._handlePopperPlacementChange=function(t){var e=t.instance;this.tip=e.popper,this._cleanTipClass(),this._addAttachmentClass(this._getAttachment(t.placement))},n._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(t.classList.remove(pi),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},t.jQueryInterface=function(e){return this.each((function(){var n=T.getData(this,"bs.tooltip"),i="object"==typeof e&&e;if((n||!/dispose|hide/.test(e))&&(n||(n=new t(this,i)),"string"==typeof e)){if("undefined"==typeof n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},t.getInstance=function(t){return T.getData(t,"bs.tooltip")},e(t,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return fi}},{key:"NAME",get:function(){return ri}},{key:"DATA_KEY",get:function(){return"bs.tooltip"}},{key:"Event",get:function(){return di}},{key:"EVENT_KEY",get:function(){return".bs.tooltip"}},{key:"DefaultType",get:function(){return li}}]),t}(),wi=w();if(wi){var Di=wi.fn.tooltip;wi.fn.tooltip=Ei.jQueryInterface,wi.fn.tooltip.Constructor=Ei,wi.fn.tooltip.noConflict=function(){return wi.fn.tooltip=Di,Ei.jQueryInterface}}var Ti="popover",Ii=new RegExp("(^|\\s)bs-popover\\S+","g"),Ai=o({},Ei.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),Oi=o({},Ei.DefaultType,{content:"(string|element|function)"}),Li="fade",Si="show",Ci=".popover-header",Ni=".popover-body",ki={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"},Pi=function(t){var n,i;function o(){return t.apply(this,arguments)||this}i=t,(n=o).prototype=Object.create(i.prototype),n.prototype.constructor=n,n.__proto__=i;var r=o.prototype;return r.isWithContent=function(){return this.getTitle()||this._getContent()},r.setContent=function(){var t=this.getTipElement();this.setElementContent(Z.findOne(Ci,t),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(Z.findOne(Ni,t),e),t.classList.remove(Li),t.classList.remove(Si)},r._addAttachmentClass=function(t){this.getTipElement().classList.add("bs-popover-"+t)},r._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},r._cleanTipClass=function(){var t=this.getTipElement(),e=t.getAttribute("class").match(Ii);null!==e&&e.length>0&&e.map((function(t){return t.trim()})).forEach((function(e){return t.classList.remove(e)}))},o.jQueryInterface=function(t){return this.each((function(){var e=T.getData(this,"bs.popover"),n="object"==typeof t?t:null;if((e||!/dispose|hide/.test(t))&&(e||(e=new o(this,n),T.setData(this,"bs.popover",e)),"string"==typeof t)){if("undefined"==typeof e[t])throw new TypeError('No method named "'+t+'"');e[t]()}}))},o.getInstance=function(t){return T.getData(t,"bs.popover")},e(o,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Ai}},{key:"NAME",get:function(){return Ti}},{key:"DATA_KEY",get:function(){return"bs.popover"}},{key:"Event",get:function(){return ki}},{key:"EVENT_KEY",get:function(){return".bs.popover"}},{key:"DefaultType",get:function(){return Oi}}]),o}(Ei),xi=w();if(xi){var Mi=xi.fn.popover;xi.fn.popover=Pi.jQueryInterface,xi.fn.popover.Constructor=Pi,xi.fn.popover.noConflict=function(){return xi.fn.popover=Mi,Pi.jQueryInterface}}var Hi="scrollspy",ji="bs.scrollspy",Ri="."+ji,Wi={offset:10,method:"auto",target:""},Ui={offset:"number",method:"string",target:"(string|element)"},Bi={ACTIVATE:"activate"+Ri,SCROLL:"scroll"+Ri,LOAD_DATA_API:"load"+Ri+".data-api"},Fi={DROPDOWN_ITEM:"dropdown-item",ACTIVE:"active"},Ki={DATA_SPY:'[data-spy="scroll"]',NAV_LIST_GROUP:".nav, .list-group",NAV_LINKS:".nav-link",NAV_ITEMS:".nav-item",LIST_ITEMS:".list-group-item",DROPDOWN:".dropdown",DROPDOWN_TOGGLE:".dropdown-toggle"},Vi="offset",Yi="position",Qi=function(){function t(t,e){var n=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(e),this._selector=this._config.target+" "+Ki.NAV_LINKS+","+this._config.target+" "+Ki.LIST_ITEMS+","+this._config.target+" ."+Fi.DROPDOWN_ITEM,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,z.on(this._scrollElement,Bi.SCROLL,(function(t){return n._process(t)})),this.refresh(),this._process(),T.setData(t,ji,this)}var n=t.prototype;return n.refresh=function(){var t=this,e=this._scrollElement===this._scrollElement.window?Vi:Yi,n="auto"===this._config.method?e:this._config.method,i=n===Yi?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),v(Z.find(this._selector)).map((function(t){var e,o=u(t);if(o&&(e=Z.findOne(o)),e){var r=e.getBoundingClientRect();if(r.width||r.height)return[Dt[n](e).top+i,o]}return null})).filter((function(t){return t})).sort((function(t,e){return t[0]-e[0]})).forEach((function(e){t._offsets.push(e[0]),t._targets.push(e[1])}))},n.dispose=function(){T.removeData(this._element,ji),z.off(this._scrollElement,Ri),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},n._getConfig=function(t){if("string"!=typeof(t=o({},Wi,{},"object"==typeof t&&t?t:{})).target){var e=t.target.id;e||(e=c(Hi),t.target.id=e),t.target="#"+e}return _(Hi,t,Ui),t},n._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},n._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},n._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},n._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&("undefined"==typeof this._offsets[o+1]||t<this._offsets[o+1])&&this._activate(this._targets[o])}}},n._activate=function(t){this._activeTarget=t,this._clear();var e=this._selector.split(",").map((function(e){return e+'[data-target="'+t+'"],'+e+'[href="'+t+'"]'})),n=Z.findOne(e.join(","));n.classList.contains(Fi.DROPDOWN_ITEM)?(Z.findOne(Ki.DROPDOWN_TOGGLE,Z.closest(n,Ki.DROPDOWN)).classList.add(Fi.ACTIVE),n.classList.add(Fi.ACTIVE)):(n.classList.add(Fi.ACTIVE),Z.parents(n,Ki.NAV_LIST_GROUP).forEach((function(t){Z.prev(t,Ki.NAV_LINKS+", "+Ki.LIST_ITEMS).forEach((function(t){return t.classList.add(Fi.ACTIVE)})),Z.prev(t,Ki.NAV_ITEMS).forEach((function(t){Z.children(t,Ki.NAV_LINKS).forEach((function(t){return t.classList.add(Fi.ACTIVE)}))}))}))),z.trigger(this._scrollElement,Bi.ACTIVATE,{relatedTarget:t})},n._clear=function(){v(Z.find(this._selector)).filter((function(t){return t.classList.contains(Fi.ACTIVE)})).forEach((function(t){return t.classList.remove(Fi.ACTIVE)}))},t.jQueryInterface=function(e){return this.each((function(){var n=T.getData(this,ji);if(n||(n=new t(this,"object"==typeof e&&e)),"string"==typeof e){if("undefined"==typeof n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},t.getInstance=function(t){return T.getData(t,ji)},e(t,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Wi}}]),t}();z.on(window,Bi.LOAD_DATA_API,(function(){v(Z.find(Ki.DATA_SPY)).forEach((function(t){return new Qi(t,Dt.getDataAttributes(t))}))}));var Gi=w();if(Gi){var qi=Gi.fn[Hi];Gi.fn[Hi]=Qi.jQueryInterface,Gi.fn[Hi].Constructor=Qi,Gi.fn[Hi].noConflict=function(){return Gi.fn[Hi]=qi,Qi.jQueryInterface}}var Xi="bs.tab",zi="."+Xi,Zi={HIDE:"hide"+zi,HIDDEN:"hidden"+zi,SHOW:"show"+zi,SHOWN:"shown"+zi,CLICK_DATA_API:"click"+zi+".data-api"},$i="dropdown-menu",Ji="active",to="disabled",eo="fade",no="show",io=".dropdown",oo=".nav, .list-group",ro=".active",so=":scope > li > .active",ao='[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',lo=".dropdown-toggle",co=":scope > .dropdown-menu .active",fo=function(){function t(t){this._element=t,T.setData(this._element,Xi,this)}var n=t.prototype;return n.show=function(){var t=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&this._element.classList.contains(Ji)||this._element.classList.contains(to))){var e,n=h(this._element),i=Z.closest(this._element,oo);if(i){var o="UL"===i.nodeName||"OL"===i.nodeName?so:ro;e=(e=v(Z.find(o,i)))[e.length-1]}var r=null;if(e&&(r=z.trigger(e,Zi.HIDE,{relatedTarget:this._element})),!(z.trigger(this._element,Zi.SHOW,{relatedTarget:e}).defaultPrevented||null!==r&&r.defaultPrevented)){this._activate(this._element,i);var s=function(){z.trigger(e,Zi.HIDDEN,{relatedTarget:t._element}),z.trigger(t._element,Zi.SHOWN,{relatedTarget:e})};n?this._activate(n,n.parentNode,s):s()}}},n.dispose=function(){T.removeData(this._element,Xi),this._element=null},n._activate=function(t,e,n){var i=this,o=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?Z.children(e,ro):Z.find(so,e))[0],r=n&&o&&o.classList.contains(eo),s=function(){return i._transitionComplete(t,o,n)};if(o&&r){var a=d(o);o.classList.remove(no),z.one(o,l,s),m(o,a)}else s()},n._transitionComplete=function(t,e,n){if(e){e.classList.remove(Ji);var i=Z.findOne(co,e.parentNode);i&&i.classList.remove(Ji),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}(t.classList.add(Ji),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),E(t),t.classList.contains(eo)&&t.classList.add(no),t.parentNode&&t.parentNode.classList.contains($i))&&(Z.closest(t,io)&&v(Z.find(lo)).forEach((function(t){return t.classList.add(Ji)})),t.setAttribute("aria-expanded",!0));n&&n()},t.jQueryInterface=function(e){return this.each((function(){var n=T.getData(this,Xi)||new t(this);if("string"==typeof e){if("undefined"==typeof n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},t.getInstance=function(t){return T.getData(t,Xi)},e(t,null,[{key:"VERSION",get:function(){return"4.3.1"}}]),t}();z.on(document,Zi.CLICK_DATA_API,ao,(function(t){t.preventDefault(),(T.getData(this,Xi)||new fo(this)).show()}));var uo=w();if(uo){var ho=uo.fn.tab;uo.fn.tab=fo.jQueryInterface,uo.fn.tab.Constructor=fo,uo.fn.tab.noConflict=function(){return uo.fn.tab=ho,fo.jQueryInterface}}var po="bs.toast",go="."+po,mo={CLICK_DISMISS:"click.dismiss"+go,HIDE:"hide"+go,HIDDEN:"hidden"+go,SHOW:"show"+go,SHOWN:"shown"+go},_o="fade",vo="hide",bo="show",yo="showing",Eo={animation:"boolean",autohide:"boolean",delay:"number"},wo={animation:!0,autohide:!0,delay:500},Do='[data-dismiss="toast"]',To=function(){function t(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners(),T.setData(t,po,this)}var n=t.prototype;return n.show=function(){var t=this;if(!z.trigger(this._element,mo.SHOW).defaultPrevented){this._config.animation&&this._element.classList.add(_o);var e=function(){t._element.classList.remove(yo),t._element.classList.add(bo),z.trigger(t._element,mo.SHOWN),t._config.autohide&&(t._timeout=setTimeout((function(){t.hide()}),t._config.delay))};if(this._element.classList.remove(vo),E(this._element),this._element.classList.add(yo),this._config.animation){var n=d(this._element);z.one(this._element,l,e),m(this._element,n)}else e()}},n.hide=function(){var t=this;if(this._element.classList.contains(bo)&&!z.trigger(this._element,mo.HIDE).defaultPrevented){var e=function(){t._element.classList.add(vo),z.trigger(t._element,mo.HIDDEN)};if(this._element.classList.remove(bo),this._config.animation){var n=d(this._element);z.one(this._element,l,e),m(this._element,n)}else e()}},n.dispose=function(){clearTimeout(this._timeout),this._timeout=null,this._element.classList.contains(bo)&&this._element.classList.remove(bo),z.off(this._element,mo.CLICK_DISMISS),T.removeData(this._element,po),this._element=null,this._config=null},n._getConfig=function(t){return t=o({},wo,{},Dt.getDataAttributes(this._element),{},"object"==typeof t&&t?t:{}),_("toast",t,this.constructor.DefaultType),t},n._setListeners=function(){var t=this;z.on(this._element,mo.CLICK_DISMISS,Do,(function(){return t.hide()}))},t.jQueryInterface=function(e){return this.each((function(){var n=T.getData(this,po);if(n||(n=new t(this,"object"==typeof e&&e)),"string"==typeof e){if("undefined"==typeof n[e])throw new TypeError('No method named "'+e+'"');n[e](this)}}))},t.getInstance=function(t){return T.getData(t,po)},e(t,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"DefaultType",get:function(){return Eo}},{key:"Default",get:function(){return wo}}]),t}(),Io=w();if(Io){var Ao=Io.fn.toast;Io.fn.toast=To.jQueryInterface,Io.fn.toast.Constructor=To,Io.fn.toast.noConflict=function(){return Io.fn.toast=Ao,To.jQueryInterface}}return{Alert:ot,Button:vt,Carousel:Vt,Collapse:se,Dropdown:xn,Modal:zn,Popover:Pi,ScrollSpy:Qi,Tab:fo,Toast:To,Tooltip:Ei}}));
+!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).bootstrap=e()}(this,(function(){"use strict";function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function e(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}function n(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function i(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function o(t){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?i(Object(o),!0).forEach((function(e){n(t,e,o[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):i(Object(o)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(o,e))}))}return t}var r,s,a,l,c=function(t){do{t+=~~(1e6*Math.random())}while(document.getElementById(t));return t},u=function(t){var e=t.getAttribute("data-target");if(!e||"#"===e){var n=t.getAttribute("href");e=n&&"#"!==n?n.trim():null}return e},f=function(t){var e=u(t);return e&&document.querySelector(e)?e:null},h=function(t){var e=u(t);return e?document.querySelector(e):null},d=function(t){if(!t)return 0;var e=window.getComputedStyle(t),n=e.transitionDuration,i=e.transitionDelay,o=parseFloat(n),r=parseFloat(i);return o||r?(n=n.split(",")[0],i=i.split(",")[0],1e3*(parseFloat(n)+parseFloat(i))):0},p=function(t){t.dispatchEvent(new Event("transitionend"))},g=function(t){return(t[0]||t).nodeType},m=function(t,e){var n=!1,i=e+5;t.addEventListener("transitionend",(function e(){n=!0,t.removeEventListener("transitionend",e)})),setTimeout((function(){n||p(t)}),i)},v=function(t,e,n){Object.keys(n).forEach((function(i){var o,r=n[i],s=e[i],a=s&&g(s)?"element":null==(o=s)?""+o:{}.toString.call(o).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(r).test(a))throw new Error(t.toUpperCase()+': Option "'+i+'" provided type "'+a+'" but expected type "'+r+'".')}))},_=function(t){if(!t)return!1;if(t.style&&t.parentNode&&t.parentNode.style){var e=getComputedStyle(t),n=getComputedStyle(t.parentNode);return"none"!==e.display&&"none"!==n.display&&"hidden"!==e.visibility}return!1},b=function(){return function(){}},y=function(t){return t.offsetHeight},w=function(){var t=window.jQuery;return t&&!document.body.hasAttribute("data-no-jquery")?t:null},E=(r={},s=1,{set:function(t,e,n){void 0===t.key&&(t.key={key:e,id:s},s++),r[t.key.id]=n},get:function(t,e){if(!t||void 0===t.key)return null;var n=t.key;return n.key===e?r[n.id]:null},delete:function(t,e){if(void 0!==t.key){var n=t.key;n.key===e&&(delete r[n.id],delete t.key)}}}),T=function(t,e,n){E.set(t,e,n)},L=function(t,e){return E.get(t,e)},k=function(t,e){E.delete(t,e)},O=Element.prototype.querySelectorAll,C=Element.prototype.querySelector,A=(a=new CustomEvent("Bootstrap",{cancelable:!0}),(l=document.createElement("div")).addEventListener("Bootstrap",(function(){return null})),a.preventDefault(),l.dispatchEvent(a),a.defaultPrevented),S=/:scope\b/;(function(){var t=document.createElement("div");try{t.querySelectorAll(":scope *")}catch(t){return!1}return!0})()||(O=function(t){if(!S.test(t))return this.querySelectorAll(t);var e=Boolean(this.id);e||(this.id=c("scope"));var n=null;try{t=t.replace(S,"#"+this.id),n=this.querySelectorAll(t)}finally{e||this.removeAttribute("id")}return n},C=function(t){if(!S.test(t))return this.querySelector(t);var e=O.call(this,t);return void 0!==e[0]?e[0]:null});var D=w(),x=/[^.]*(?=\..*)\.|.*/,N=/\..*/,I=/^key/,j=/::\d+$/,P={},M=1,H={mouseenter:"mouseover",mouseleave:"mouseout"},B=["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"];function R(t,e){return e&&e+"::"+M++||t.uidEvent||M++}function F(t){var e=R(t);return t.uidEvent=e,P[e]=P[e]||{},P[e]}function W(t,e){null===t.which&&I.test(t.type)&&(t.which=null===t.charCode?t.keyCode:t.charCode),t.delegateTarget=e}function U(t,e,n){void 0===n&&(n=null);for(var i=Object.keys(t),o=0,r=i.length;o<r;o++){var s=t[i[o]];if(s.originalHandler===e&&s.delegationSelector===n)return s}return null}function Q(t,e,n){var i="string"==typeof e,o=i?n:e,r=t.replace(N,""),s=H[r];return s&&(r=s),B.indexOf(r)>-1||(r=t),[i,o,r]}function V(t,e,n,i,o){if("string"==typeof e&&t){n||(n=i,i=null);var r=Q(e,n,i),s=r[0],a=r[1],l=r[2],c=F(t),u=c[l]||(c[l]={}),f=U(u,a,s?n:null);if(f)f.oneOff=f.oneOff&&o;else{var h=R(a,e.replace(x,"")),d=s?function(t,e,n){return function i(o){for(var r=t.querySelectorAll(e),s=o.target;s&&s!==this;s=s.parentNode)for(var a=r.length;a--;)if(r[a]===s)return W(o,s),i.oneOff&&Y.off(t,o.type,n),n.apply(s,[o]);return null}}(t,n,i):function(t,e){return function n(i){return W(i,t),n.oneOff&&Y.off(t,i.type,e),e.apply(t,[i])}}(t,n);d.delegationSelector=s?n:null,d.originalHandler=a,d.oneOff=o,d.uidEvent=h,u[h]=d,t.addEventListener(l,d,s)}}}function q(t,e,n,i,o){var r=U(e[n],i,o);r&&(t.removeEventListener(n,r,Boolean(o)),delete e[n][r.uidEvent])}var Y={on:function(t,e,n,i){V(t,e,n,i,!1)},one:function(t,e,n,i){V(t,e,n,i,!0)},off:function(t,e,n,i){if("string"==typeof e&&t){var o=Q(e,n,i),r=o[0],s=o[1],a=o[2],l=a!==e,c=F(t),u="."===e.charAt(0);if(void 0===s){u&&Object.keys(c).forEach((function(n){!function(t,e,n,i){var o=e[n]||{};Object.keys(o).forEach((function(r){if(r.indexOf(i)>-1){var s=o[r];q(t,e,n,s.originalHandler,s.delegationSelector)}}))}(t,c,n,e.slice(1))}));var f=c[a]||{};Object.keys(f).forEach((function(n){var i=n.replace(j,"");if(!l||e.indexOf(i)>-1){var o=f[n];q(t,c,a,o.originalHandler,o.delegationSelector)}}))}else{if(!c||!c[a])return;q(t,c,a,s,r?n:null)}}},trigger:function(t,e,n){if("string"!=typeof e||!t)return null;var i,o=e.replace(N,""),r=e!==o,s=B.indexOf(o)>-1,a=!0,l=!0,c=!1,u=null;return r&&D&&(i=D.Event(e,n),D(t).trigger(i),a=!i.isPropagationStopped(),l=!i.isImmediatePropagationStopped(),c=i.isDefaultPrevented()),s?(u=document.createEvent("HTMLEvents")).initEvent(o,a,!0):u=new CustomEvent(e,{bubbles:a,cancelable:!0}),void 0!==n&&Object.keys(n).forEach((function(t){Object.defineProperty(u,t,{get:function(){return n[t]}})})),c&&(u.preventDefault(),A||Object.defineProperty(u,"defaultPrevented",{get:function(){return!0}})),l&&t.dispatchEvent(u),u.defaultPrevented&&void 0!==i&&i.preventDefault(),u}},z={matches:function(t,e){return t.matches(e)},find:function(t,e){var n;return void 0===e&&(e=document.documentElement),(n=[]).concat.apply(n,O.call(e,t))},findOne:function(t,e){return void 0===e&&(e=document.documentElement),C.call(e,t)},children:function(t,e){var n,i=(n=[]).concat.apply(n,t.children);return i.filter((function(t){return t.matches(e)}))},parents:function(t,e){for(var n=[],i=t.parentNode;i&&i.nodeType===Node.ELEMENT_NODE&&3!==i.nodeType;)this.matches(i,e)&&n.push(i),i=i.parentNode;return n},closest:function(t,e){return t.closest(e)},prev:function(t,e){for(var n=t.previousElementSibling;n;){if(n.matches(e))return[n];n=n.previousElementSibling}return[]},next:function(t,e){for(var n=t.nextElementSibling;n;){if(this.matches(n,e))return[n];n=n.nextElementSibling}return[]}},K="alert",X=function(){function t(t){this._element=t,this._element&&T(t,"bs.alert",this)}var n=t.prototype;return n.close=function(t){var e=this._element;t&&(e=this._getRootElement(t));var n=this._triggerCloseEvent(e);null===n||n.defaultPrevented||this._removeElement(e)},n.dispose=function(){k(this._element,"bs.alert"),this._element=null},n._getRootElement=function(t){var e=h(t);return e||(e=z.closest(t,".alert")),e},n._triggerCloseEvent=function(t){return Y.trigger(t,"close.bs.alert")},n._removeElement=function(t){var e=this;if(t.classList.remove("show"),t.classList.contains("fade")){var n=d(t);Y.one(t,"transitionend",(function(){return e._destroyElement(t)})),m(t,n)}else this._destroyElement(t)},n._destroyElement=function(t){t.parentNode&&t.parentNode.removeChild(t),Y.trigger(t,"closed.bs.alert")},t.jQueryInterface=function(e){return this.each((function(){var n=L(this,"bs.alert");n||(n=new t(this)),"close"===e&&n[e](this)}))},t.handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},t.getInstance=function(t){return L(t,"bs.alert")},e(t,null,[{key:"VERSION",get:function(){return"4.3.1"}}]),t}();Y.on(document,"click.bs.alert.data-api",'[data-dismiss="alert"]',X.handleDismiss(new X));var G=w();if(G){var $=G.fn[K];G.fn[K]=X.jQueryInterface,G.fn[K].Constructor=X,G.fn[K].noConflict=function(){return G.fn[K]=$,X.jQueryInterface}}var Z=function(){function t(t){this._element=t,T(t,"bs.button",this)}var n=t.prototype;return n.toggle=function(){var t=!0,e=!0,n=z.closest(this._element,'[data-toggle="buttons"]');if(n){var i=z.findOne('input:not([type="hidden"])',this._element);if(i&&"radio"===i.type){if(i.checked&&this._element.classList.contains("active"))t=!1;else{var o=z.findOne(".active",n);o&&o.classList.remove("active")}if(t){if(i.hasAttribute("disabled")||n.hasAttribute("disabled")||i.classList.contains("disabled")||n.classList.contains("disabled"))return;i.checked=!this._element.classList.contains("active"),Y.trigger(i,"change")}i.focus(),e=!1}}e&&this._element.setAttribute("aria-pressed",!this._element.classList.contains("active")),t&&this._element.classList.toggle("active")},n.dispose=function(){k(this._element,"bs.button"),this._element=null},t.jQueryInterface=function(e){return this.each((function(){var n=L(this,"bs.button");n||(n=new t(this)),"toggle"===e&&n[e]()}))},t.getInstance=function(t){return L(t,"bs.button")},e(t,null,[{key:"VERSION",get:function(){return"4.3.1"}}]),t}();Y.on(document,"click.bs.button.data-api",'[data-toggle^="button"]',(function(t){t.preventDefault();var e=t.target;e.classList.contains("btn")||(e=z.closest(e,".btn"));var n=L(e,"bs.button");n||(n=new Z(e)),n.toggle()})),Y.on(document,"focus.bs.button.data-api",'[data-toggle^="button"]',(function(t){var e=z.closest(t.target,".btn");e&&e.classList.add("focus")})),Y.on(document,"blur.bs.button.data-api",'[data-toggle^="button"]',(function(t){var e=z.closest(t.target,".btn");e&&e.classList.remove("focus")}));var J=w();if(J){var tt=J.fn.button;J.fn.button=Z.jQueryInterface,J.fn.button.Constructor=Z,J.fn.button.noConflict=function(){return J.fn.button=tt,Z.jQueryInterface}}function et(t){return"true"===t||"false"!==t&&(t===Number(t).toString()?Number(t):""===t||"null"===t?null:t)}function nt(t){return t.replace(/[A-Z]/g,(function(t){return"-"+t.toLowerCase()}))}var it={setDataAttribute:function(t,e,n){t.setAttribute("data-"+nt(e),n)},removeDataAttribute:function(t,e){t.removeAttribute("data-"+nt(e))},getDataAttributes:function(t){if(!t)return{};var e=o({},t.dataset);return Object.keys(e).forEach((function(t){e[t]=et(e[t])})),e},getDataAttribute:function(t,e){return et(t.getAttribute("data-"+nt(e)))},offset:function(t){var e=t.getBoundingClientRect();return{top:e.top+document.body.scrollTop,left:e.left+document.body.scrollLeft}},position:function(t){return{top:t.offsetTop,left:t.offsetLeft}},toggleClass:function(t,e){t&&(t.classList.contains(e)?t.classList.remove(e):t.classList.add(e))}},ot="carousel",rt=".bs.carousel",st={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},at={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},lt={TOUCH:"touch",PEN:"pen"},ct=function(){function t(t,e){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(e),this._element=t,this._indicatorsElement=z.findOne(".carousel-indicators",this._element),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent||window.MSPointerEvent),this._addEventListeners(),T(t,"bs.carousel",this)}var n=t.prototype;return n.next=function(){this._isSliding||this._slide("next")},n.nextWhenVisible=function(){!document.hidden&&_(this._element)&&this.next()},n.prev=function(){this._isSliding||this._slide("prev")},n.pause=function(t){t||(this._isPaused=!0),z.findOne(".carousel-item-next, .carousel-item-prev",this._element)&&(p(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},n.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config&&this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},n.to=function(t){var e=this;this._activeElement=z.findOne(".active.carousel-item",this._element);var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)Y.one(this._element,"slid.bs.carousel",(function(){return e.to(t)}));else{if(n===t)return this.pause(),void this.cycle();var i=t>n?"next":"prev";this._slide(i,this._items[t])}},n.dispose=function(){Y.off(this._element,rt),k(this._element,"bs.carousel"),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},n._getConfig=function(t){return t=o({},st,{},t),v(ot,t,at),t},n._handleSwipe=function(){var t=Math.abs(this.touchDeltaX);if(!(t<=40)){var e=t/this.touchDeltaX;this.touchDeltaX=0,e>0&&this.prev(),e<0&&this.next()}},n._addEventListeners=function(){var t=this;this._config.keyboard&&Y.on(this._element,"keydown.bs.carousel",(function(e){return t._keydown(e)})),"hover"===this._config.pause&&(Y.on(this._element,"mouseenter.bs.carousel",(function(e){return t.pause(e)})),Y.on(this._element,"mouseleave.bs.carousel",(function(e){return t.cycle(e)}))),this._config.touch&&this._touchSupported&&this._addTouchEventListeners()},n._addTouchEventListeners=function(){var t=this,e=function(e){t._pointerEvent&&lt[e.pointerType.toUpperCase()]?t.touchStartX=e.clientX:t._pointerEvent||(t.touchStartX=e.touches[0].clientX)},n=function(e){t._pointerEvent&&lt[e.pointerType.toUpperCase()]&&(t.touchDeltaX=e.clientX-t.touchStartX),t._handleSwipe(),"hover"===t._config.pause&&(t.pause(),t.touchTimeout&&clearTimeout(t.touchTimeout),t.touchTimeout=setTimeout((function(e){return t.cycle(e)}),500+t._config.interval))};z.find(".carousel-item img",this._element).forEach((function(t){Y.on(t,"dragstart.bs.carousel",(function(t){return t.preventDefault()}))})),this._pointerEvent?(Y.on(this._element,"pointerdown.bs.carousel",(function(t){return e(t)})),Y.on(this._element,"pointerup.bs.carousel",(function(t){return n(t)})),this._element.classList.add("pointer-event")):(Y.on(this._element,"touchstart.bs.carousel",(function(t){return e(t)})),Y.on(this._element,"touchmove.bs.carousel",(function(e){return function(e){e.touches&&e.touches.length>1?t.touchDeltaX=0:t.touchDeltaX=e.touches[0].clientX-t.touchStartX}(e)})),Y.on(this._element,"touchend.bs.carousel",(function(t){return n(t)})))},n._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next()}},n._getItemIndex=function(t){return this._items=t&&t.parentNode?z.find(".carousel-item",t.parentNode):[],this._items.indexOf(t)},n._getItemByDirection=function(t,e){var n="next"===t,i="prev"===t,o=this._getItemIndex(e),r=this._items.length-1;if((i&&0===o||n&&o===r)&&!this._config.wrap)return e;var s=(o+("prev"===t?-1:1))%this._items.length;return-1===s?this._items[this._items.length-1]:this._items[s]},n._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),i=this._getItemIndex(z.findOne(".active.carousel-item",this._element));return Y.trigger(this._element,"slide.bs.carousel",{relatedTarget:t,direction:e,from:i,to:n})},n._setActiveIndicatorElement=function(t){if(this._indicatorsElement){for(var e=z.find(".active",this._indicatorsElement),n=0;n<e.length;n++)e[n].classList.remove("active");var i=this._indicatorsElement.children[this._getItemIndex(t)];i&&i.classList.add("active")}},n._slide=function(t,e){var n,i,o,r=this,s=z.findOne(".active.carousel-item",this._element),a=this._getItemIndex(s),l=e||s&&this._getItemByDirection(t,s),c=this._getItemIndex(l),u=Boolean(this._interval);if("next"===t?(n="carousel-item-left",i="carousel-item-next",o="left"):(n="carousel-item-right",i="carousel-item-prev",o="right"),l&&l.classList.contains("active"))this._isSliding=!1;else if(!this._triggerSlideEvent(l,o).defaultPrevented&&s&&l){if(this._isSliding=!0,u&&this.pause(),this._setActiveIndicatorElement(l),this._element.classList.contains("slide")){l.classList.add(i),y(l),s.classList.add(n),l.classList.add(n);var f=parseInt(l.getAttribute("data-interval"),10);f?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=f):this._config.interval=this._config.defaultInterval||this._config.interval;var h=d(s);Y.one(s,"transitionend",(function(){l.classList.remove(n),l.classList.remove(i),l.classList.add("active"),s.classList.remove("active"),s.classList.remove(i),s.classList.remove(n),r._isSliding=!1,setTimeout((function(){Y.trigger(r._element,"slid.bs.carousel",{relatedTarget:l,direction:o,from:a,to:c})}),0)})),m(s,h)}else s.classList.remove("active"),l.classList.add("active"),this._isSliding=!1,Y.trigger(this._element,"slid.bs.carousel",{relatedTarget:l,direction:o,from:a,to:c});u&&this.cycle()}},t.carouselInterface=function(e,n){var i=L(e,"bs.carousel"),r=o({},st,{},it.getDataAttributes(e));"object"==typeof n&&(r=o({},r,{},n));var s="string"==typeof n?n:r.slide;if(i||(i=new t(e,r)),"number"==typeof n)i.to(n);else if("string"==typeof s){if(void 0===i[s])throw new TypeError('No method named "'+s+'"');i[s]()}else r.interval&&r.ride&&(i.pause(),i.cycle())},t.jQueryInterface=function(e){return this.each((function(){t.carouselInterface(this,e)}))},t.dataApiClickHandler=function(e){var n=h(this);if(n&&n.classList.contains("carousel")){var i=o({},it.getDataAttributes(n),{},it.getDataAttributes(this)),r=this.getAttribute("data-slide-to");r&&(i.interval=!1),t.carouselInterface(n,i),r&&L(n,"bs.carousel").to(r),e.preventDefault()}},t.getInstance=function(t){return L(t,"bs.carousel")},e(t,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return st}}]),t}();Y.on(document,"click.bs.carousel.data-api","[data-slide], [data-slide-to]",ct.dataApiClickHandler),Y.on(window,"load.bs.carousel.data-api",(function(){for(var t=z.find('[data-ride="carousel"]'),e=0,n=t.length;e<n;e++)ct.carouselInterface(t[e],L(t[e],"bs.carousel"))}));var ut=w();if(ut){var ft=ut.fn[ot];ut.fn[ot]=ct.jQueryInterface,ut.fn[ot].Constructor=ct,ut.fn[ot].noConflict=function(){return ut.fn[ot]=ft,ct.jQueryInterface}}var ht="collapse",dt={toggle:!0,parent:""},pt={toggle:"boolean",parent:"(string|element)"},gt=function(){function t(t,e){this._isTransitioning=!1,this._element=t,this._config=this._getConfig(e),this._triggerArray=z.find('[data-toggle="collapse"][href="#'+t.id+'"],[data-toggle="collapse"][data-target="#'+t.id+'"]');for(var n=z.find('[data-toggle="collapse"]'),i=0,o=n.length;i<o;i++){var r=n[i],s=f(r),a=z.find(s).filter((function(e){return e===t}));null!==s&&a.length&&(this._selector=s,this._triggerArray.push(r))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle(),T(t,"bs.collapse",this)}var n=t.prototype;return n.toggle=function(){this._element.classList.contains("show")?this.hide():this.show()},n.show=function(){var e=this;if(!this._isTransitioning&&!this._element.classList.contains("show")){var n,i;this._parent&&0===(n=z.find(".show, .collapsing",this._parent).filter((function(t){return"string"==typeof e._config.parent?t.getAttribute("data-parent")===e._config.parent:t.classList.contains("collapse")}))).length&&(n=null);var o=z.findOne(this._selector);if(n){var r=n.filter((function(t){return o!==t}));if((i=r[0]?L(r[0],"bs.collapse"):null)&&i._isTransitioning)return}if(!Y.trigger(this._element,"show.bs.collapse").defaultPrevented){n&&n.forEach((function(e){o!==e&&t.collapseInterface(e,"hide"),i||T(e,"bs.collapse",null)}));var s=this._getDimension();this._element.classList.remove("collapse"),this._element.classList.add("collapsing"),this._element.style[s]=0,this._triggerArray.length&&this._triggerArray.forEach((function(t){t.classList.remove("collapsed"),t.setAttribute("aria-expanded",!0)})),this.setTransitioning(!0);var a="scroll"+(s[0].toUpperCase()+s.slice(1)),l=d(this._element);Y.one(this._element,"transitionend",(function(){e._element.classList.remove("collapsing"),e._element.classList.add("collapse"),e._element.classList.add("show"),e._element.style[s]="",e.setTransitioning(!1),Y.trigger(e._element,"shown.bs.collapse")})),m(this._element,l),this._element.style[s]=this._element[a]+"px"}}},n.hide=function(){var t=this;if(!this._isTransitioning&&this._element.classList.contains("show")&&!Y.trigger(this._element,"hide.bs.collapse").defaultPrevented){var e=this._getDimension();this._element.style[e]=this._element.getBoundingClientRect()[e]+"px",y(this._element),this._element.classList.add("collapsing"),this._element.classList.remove("collapse"),this._element.classList.remove("show");var n=this._triggerArray.length;if(n>0)for(var i=0;i<n;i++){var o=this._triggerArray[i],r=h(o);r&&!r.classList.contains("show")&&(o.classList.add("collapsed"),o.setAttribute("aria-expanded",!1))}this.setTransitioning(!0);this._element.style[e]="";var s=d(this._element);Y.one(this._element,"transitionend",(function(){t.setTransitioning(!1),t._element.classList.remove("collapsing"),t._element.classList.add("collapse"),Y.trigger(t._element,"hidden.bs.collapse")})),m(this._element,s)}},n.setTransitioning=function(t){this._isTransitioning=t},n.dispose=function(){k(this._element,"bs.collapse"),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},n._getConfig=function(t){return(t=o({},dt,{},t)).toggle=Boolean(t.toggle),v(ht,t,pt),t},n._getDimension=function(){return this._element.classList.contains("width")?"width":"height"},n._getParent=function(){var t=this,e=this._config.parent;g(e)?void 0===e.jquery&&void 0===e[0]||(e=e[0]):e=z.findOne(e);var n='[data-toggle="collapse"][data-parent="'+e+'"]';return z.find(n,e).forEach((function(e){var n=h(e);t._addAriaAndCollapsedClass(n,[e])})),e},n._addAriaAndCollapsedClass=function(t,e){if(t){var n=t.classList.contains("show");e.length&&e.forEach((function(t){n?t.classList.remove("collapsed"):t.classList.add("collapsed"),t.setAttribute("aria-expanded",n)}))}},t.collapseInterface=function(e,n){var i=L(e,"bs.collapse"),r=o({},dt,{},it.getDataAttributes(e),{},"object"==typeof n&&n?n:{});if(!i&&r.toggle&&/show|hide/.test(n)&&(r.toggle=!1),i||(i=new t(e,r)),"string"==typeof n){if(void 0===i[n])throw new TypeError('No method named "'+n+'"');i[n]()}},t.jQueryInterface=function(e){return this.each((function(){t.collapseInterface(this,e)}))},t.getInstance=function(t){return L(t,"bs.collapse")},e(t,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return dt}}]),t}();Y.on(document,"click.bs.collapse.data-api",'[data-toggle="collapse"]',(function(t){"A"===t.target.tagName&&t.preventDefault();var e=it.getDataAttributes(this),n=f(this);z.find(n).forEach((function(t){var n,i=L(t,"bs.collapse");i?(null===i._parent&&"string"==typeof e.parent&&(i._config.parent=e.parent,i._parent=i._getParent()),n="toggle"):n=e,gt.collapseInterface(t,n)}))}));var mt=w();if(mt){var vt=mt.fn[ht];mt.fn[ht]=gt.jQueryInterface,mt.fn[ht].Constructor=gt,mt.fn[ht].noConflict=function(){return mt.fn[ht]=vt,gt.jQueryInterface}}var _t="undefined"!=typeof window&&"undefined"!=typeof document&&"undefined"!=typeof navigator,bt=function(){for(var t=["Edge","Trident","Firefox"],e=0;e<t.length;e+=1)if(_t&&navigator.userAgent.indexOf(t[e])>=0)return 1;return 0}();var yt=_t&&window.Promise?function(t){var e=!1;return function(){e||(e=!0,window.Promise.resolve().then((function(){e=!1,t()})))}}:function(t){var e=!1;return function(){e||(e=!0,setTimeout((function(){e=!1,t()}),bt))}};function wt(t){return t&&"[object Function]"==={}.toString.call(t)}function Et(t,e){if(1!==t.nodeType)return[];var n=t.ownerDocument.defaultView.getComputedStyle(t,null);return e?n[e]:n}function Tt(t){return"HTML"===t.nodeName?t:t.parentNode||t.host}function Lt(t){if(!t)return document.body;switch(t.nodeName){case"HTML":case"BODY":return t.ownerDocument.body;case"#document":return t.body}var e=Et(t),n=e.overflow,i=e.overflowX,o=e.overflowY;return/(auto|scroll|overlay)/.test(n+o+i)?t:Lt(Tt(t))}function kt(t){return t&&t.referenceNode?t.referenceNode:t}var Ot=_t&&!(!window.MSInputMethodContext||!document.documentMode),Ct=_t&&/MSIE 10/.test(navigator.userAgent);function At(t){return 11===t?Ot:10===t?Ct:Ot||Ct}function St(t){if(!t)return document.documentElement;for(var e=At(10)?document.body:null,n=t.offsetParent||null;n===e&&t.nextElementSibling;)n=(t=t.nextElementSibling).offsetParent;var i=n&&n.nodeName;return i&&"BODY"!==i&&"HTML"!==i?-1!==["TH","TD","TABLE"].indexOf(n.nodeName)&&"static"===Et(n,"position")?St(n):n:t?t.ownerDocument.documentElement:document.documentElement}function Dt(t){return null!==t.parentNode?Dt(t.parentNode):t}function xt(t,e){if(!(t&&t.nodeType&&e&&e.nodeType))return document.documentElement;var n=t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING,i=n?t:e,o=n?e:t,r=document.createRange();r.setStart(i,0),r.setEnd(o,0);var s=r.commonAncestorContainer;if(t!==s&&e!==s||i.contains(o))return function(t){var e=t.nodeName;return"BODY"!==e&&("HTML"===e||St(t.firstElementChild)===t)}(s)?s:St(s);var a=Dt(t);return a.host?xt(a.host,e):xt(t,Dt(e).host)}function Nt(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top",n="top"===e?"scrollTop":"scrollLeft",i=t.nodeName;if("BODY"===i||"HTML"===i){var o=t.ownerDocument.documentElement,r=t.ownerDocument.scrollingElement||o;return r[n]}return t[n]}function It(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=Nt(e,"top"),o=Nt(e,"left"),r=n?-1:1;return t.top+=i*r,t.bottom+=i*r,t.left+=o*r,t.right+=o*r,t}function jt(t,e){var n="x"===e?"Left":"Top",i="Left"===n?"Right":"Bottom";return parseFloat(t["border"+n+"Width"],10)+parseFloat(t["border"+i+"Width"],10)}function Pt(t,e,n,i){return Math.max(e["offset"+t],e["scroll"+t],n["client"+t],n["offset"+t],n["scroll"+t],At(10)?parseInt(n["offset"+t])+parseInt(i["margin"+("Height"===t?"Top":"Left")])+parseInt(i["margin"+("Height"===t?"Bottom":"Right")]):0)}function Mt(t){var e=t.body,n=t.documentElement,i=At(10)&&getComputedStyle(n);return{height:Pt("Height",e,n,i),width:Pt("Width",e,n,i)}}var Ht=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},Bt=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),Rt=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t},Ft=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t};function Wt(t){return Ft({},t,{right:t.left+t.width,bottom:t.top+t.height})}function Ut(t){var e={};try{if(At(10)){e=t.getBoundingClientRect();var n=Nt(t,"top"),i=Nt(t,"left");e.top+=n,e.left+=i,e.bottom+=n,e.right+=i}else e=t.getBoundingClientRect()}catch(t){}var o={left:e.left,top:e.top,width:e.right-e.left,height:e.bottom-e.top},r="HTML"===t.nodeName?Mt(t.ownerDocument):{},s=r.width||t.clientWidth||o.width,a=r.height||t.clientHeight||o.height,l=t.offsetWidth-s,c=t.offsetHeight-a;if(l||c){var u=Et(t);l-=jt(u,"x"),c-=jt(u,"y"),o.width-=l,o.height-=c}return Wt(o)}function Qt(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=At(10),o="HTML"===e.nodeName,r=Ut(t),s=Ut(e),a=Lt(t),l=Et(e),c=parseFloat(l.borderTopWidth,10),u=parseFloat(l.borderLeftWidth,10);n&&o&&(s.top=Math.max(s.top,0),s.left=Math.max(s.left,0));var f=Wt({top:r.top-s.top-c,left:r.left-s.left-u,width:r.width,height:r.height});if(f.marginTop=0,f.marginLeft=0,!i&&o){var h=parseFloat(l.marginTop,10),d=parseFloat(l.marginLeft,10);f.top-=c-h,f.bottom-=c-h,f.left-=u-d,f.right-=u-d,f.marginTop=h,f.marginLeft=d}return(i&&!n?e.contains(a):e===a&&"BODY"!==a.nodeName)&&(f=It(f,e)),f}function Vt(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=t.ownerDocument.documentElement,i=Qt(t,n),o=Math.max(n.clientWidth,window.innerWidth||0),r=Math.max(n.clientHeight,window.innerHeight||0),s=e?0:Nt(n),a=e?0:Nt(n,"left"),l={top:s-i.top+i.marginTop,left:a-i.left+i.marginLeft,width:o,height:r};return Wt(l)}function qt(t){var e=t.nodeName;if("BODY"===e||"HTML"===e)return!1;if("fixed"===Et(t,"position"))return!0;var n=Tt(t);return!!n&&qt(n)}function Yt(t){if(!t||!t.parentElement||At())return document.documentElement;for(var e=t.parentElement;e&&"none"===Et(e,"transform");)e=e.parentElement;return e||document.documentElement}function zt(t,e,n,i){var o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],r={top:0,left:0},s=o?Yt(t):xt(t,kt(e));if("viewport"===i)r=Vt(s,o);else{var a=void 0;"scrollParent"===i?"BODY"===(a=Lt(Tt(e))).nodeName&&(a=t.ownerDocument.documentElement):a="window"===i?t.ownerDocument.documentElement:i;var l=Qt(a,s,o);if("HTML"!==a.nodeName||qt(s))r=l;else{var c=Mt(t.ownerDocument),u=c.height,f=c.width;r.top+=l.top-l.marginTop,r.bottom=u+l.top,r.left+=l.left-l.marginLeft,r.right=f+l.left}}var h="number"==typeof(n=n||0);return r.left+=h?n:n.left||0,r.top+=h?n:n.top||0,r.right-=h?n:n.right||0,r.bottom-=h?n:n.bottom||0,r}function Kt(t){return t.width*t.height}function Xt(t,e,n,i,o){var r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===t.indexOf("auto"))return t;var s=zt(n,i,r,o),a={top:{width:s.width,height:e.top-s.top},right:{width:s.right-e.right,height:s.height},bottom:{width:s.width,height:s.bottom-e.bottom},left:{width:e.left-s.left,height:s.height}},l=Object.keys(a).map((function(t){return Ft({key:t},a[t],{area:Kt(a[t])})})).sort((function(t,e){return e.area-t.area})),c=l.filter((function(t){var e=t.width,i=t.height;return e>=n.clientWidth&&i>=n.clientHeight})),u=c.length>0?c[0].key:l[0].key,f=t.split("-")[1];return u+(f?"-"+f:"")}function Gt(t,e,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,o=i?Yt(e):xt(e,kt(n));return Qt(n,o,i)}function $t(t){var e=t.ownerDocument.defaultView.getComputedStyle(t),n=parseFloat(e.marginTop||0)+parseFloat(e.marginBottom||0),i=parseFloat(e.marginLeft||0)+parseFloat(e.marginRight||0);return{width:t.offsetWidth+i,height:t.offsetHeight+n}}function Zt(t){var e={left:"right",right:"left",bottom:"top",top:"bottom"};return t.replace(/left|right|bottom|top/g,(function(t){return e[t]}))}function Jt(t,e,n){n=n.split("-")[0];var i=$t(t),o={width:i.width,height:i.height},r=-1!==["right","left"].indexOf(n),s=r?"top":"left",a=r?"left":"top",l=r?"height":"width",c=r?"width":"height";return o[s]=e[s]+e[l]/2-i[l]/2,o[a]=n===a?e[a]-i[c]:e[Zt(a)],o}function te(t,e){return Array.prototype.find?t.find(e):t.filter(e)[0]}function ee(t,e,n){return(void 0===n?t:t.slice(0,function(t,e,n){if(Array.prototype.findIndex)return t.findIndex((function(t){return t[e]===n}));var i=te(t,(function(t){return t[e]===n}));return t.indexOf(i)}(t,"name",n))).forEach((function(t){t.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var n=t.function||t.fn;t.enabled&&wt(n)&&(e.offsets.popper=Wt(e.offsets.popper),e.offsets.reference=Wt(e.offsets.reference),e=n(e,t))})),e}function ne(){if(!this.state.isDestroyed){var t={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};t.offsets.reference=Gt(this.state,this.popper,this.reference,this.options.positionFixed),t.placement=Xt(this.options.placement,t.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),t.originalPlacement=t.placement,t.positionFixed=this.options.positionFixed,t.offsets.popper=Jt(this.popper,t.offsets.reference,t.placement),t.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",t=ee(this.modifiers,t),this.state.isCreated?this.options.onUpdate(t):(this.state.isCreated=!0,this.options.onCreate(t))}}function ie(t,e){return t.some((function(t){var n=t.name;return t.enabled&&n===e}))}function oe(t){for(var e=[!1,"ms","Webkit","Moz","O"],n=t.charAt(0).toUpperCase()+t.slice(1),i=0;i<e.length;i++){var o=e[i],r=o?""+o+n:t;if(void 0!==document.body.style[r])return r}return null}function re(){return this.state.isDestroyed=!0,ie(this.modifiers,"applyStyle")&&(this.popper.removeAttribute("x-placement"),this.popper.style.position="",this.popper.style.top="",this.popper.style.left="",this.popper.style.right="",this.popper.style.bottom="",this.popper.style.willChange="",this.popper.style[oe("transform")]=""),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}function se(t){var e=t.ownerDocument;return e?e.defaultView:window}function ae(t,e,n,i){n.updateBound=i,se(t).addEventListener("resize",n.updateBound,{passive:!0});var o=Lt(t);return function t(e,n,i,o){var r="BODY"===e.nodeName,s=r?e.ownerDocument.defaultView:e;s.addEventListener(n,i,{passive:!0}),r||t(Lt(s.parentNode),n,i,o),o.push(s)}(o,"scroll",n.updateBound,n.scrollParents),n.scrollElement=o,n.eventsEnabled=!0,n}function le(){this.state.eventsEnabled||(this.state=ae(this.reference,this.options,this.state,this.scheduleUpdate))}function ce(){var t,e;this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=(t=this.reference,e=this.state,se(t).removeEventListener("resize",e.updateBound),e.scrollParents.forEach((function(t){t.removeEventListener("scroll",e.updateBound)})),e.updateBound=null,e.scrollParents=[],e.scrollElement=null,e.eventsEnabled=!1,e))}function ue(t){return""!==t&&!isNaN(parseFloat(t))&&isFinite(t)}function fe(t,e){Object.keys(e).forEach((function(n){var i="";-1!==["width","height","top","right","bottom","left"].indexOf(n)&&ue(e[n])&&(i="px"),t.style[n]=e[n]+i}))}var he=_t&&/Firefox/i.test(navigator.userAgent);function de(t,e,n){var i=te(t,(function(t){return t.name===e})),o=!!i&&t.some((function(t){return t.name===n&&t.enabled&&t.order<i.order}));if(!o){var r="`"+e+"`",s="`"+n+"`";console.warn(s+" modifier is required by "+r+" modifier in order to work, be sure to include it before "+r+"!")}return o}var pe=["auto-start","auto","auto-end","top-start","top","top-end","right-start","right","right-end","bottom-end","bottom","bottom-start","left-end","left","left-start"],ge=pe.slice(3);function me(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=ge.indexOf(t),i=ge.slice(n+1).concat(ge.slice(0,n));return e?i.reverse():i}var ve="flip",_e="clockwise",be="counterclockwise";function ye(t,e,n,i){var o=[0,0],r=-1!==["right","left"].indexOf(i),s=t.split(/(\+|\-)/).map((function(t){return t.trim()})),a=s.indexOf(te(s,(function(t){return-1!==t.search(/,|\s/)})));s[a]&&-1===s[a].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var l=/\s*,\s*|\s+/,c=-1!==a?[s.slice(0,a).concat([s[a].split(l)[0]]),[s[a].split(l)[1]].concat(s.slice(a+1))]:[s];return(c=c.map((function(t,i){var o=(1===i?!r:r)?"height":"width",s=!1;return t.reduce((function(t,e){return""===t[t.length-1]&&-1!==["+","-"].indexOf(e)?(t[t.length-1]=e,s=!0,t):s?(t[t.length-1]+=e,s=!1,t):t.concat(e)}),[]).map((function(t){return function(t,e,n,i){var o=t.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),r=+o[1],s=o[2];if(!r)return t;if(0===s.indexOf("%")){var a=void 0;switch(s){case"%p":a=n;break;case"%":case"%r":default:a=i}return Wt(a)[e]/100*r}if("vh"===s||"vw"===s){return("vh"===s?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*r}return r}(t,o,e,n)}))}))).forEach((function(t,e){t.forEach((function(n,i){ue(n)&&(o[e]+=n*("-"===t[i-1]?-1:1))}))})),o}var we={placement:"bottom",positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(t){var e=t.placement,n=e.split("-")[0],i=e.split("-")[1];if(i){var o=t.offsets,r=o.reference,s=o.popper,a=-1!==["bottom","top"].indexOf(n),l=a?"left":"top",c=a?"width":"height",u={start:Rt({},l,r[l]),end:Rt({},l,r[l]+r[c]-s[c])};t.offsets.popper=Ft({},s,u[i])}return t}},offset:{order:200,enabled:!0,fn:function(t,e){var n=e.offset,i=t.placement,o=t.offsets,r=o.popper,s=o.reference,a=i.split("-")[0],l=void 0;return l=ue(+n)?[+n,0]:ye(n,r,s,a),"left"===a?(r.top+=l[0],r.left-=l[1]):"right"===a?(r.top+=l[0],r.left+=l[1]):"top"===a?(r.left+=l[0],r.top-=l[1]):"bottom"===a&&(r.left+=l[0],r.top+=l[1]),t.popper=r,t},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(t,e){var n=e.boundariesElement||St(t.instance.popper);t.instance.reference===n&&(n=St(n));var i=oe("transform"),o=t.instance.popper.style,r=o.top,s=o.left,a=o[i];o.top="",o.left="",o[i]="";var l=zt(t.instance.popper,t.instance.reference,e.padding,n,t.positionFixed);o.top=r,o.left=s,o[i]=a,e.boundaries=l;var c=e.priority,u=t.offsets.popper,f={primary:function(t){var n=u[t];return u[t]<l[t]&&!e.escapeWithReference&&(n=Math.max(u[t],l[t])),Rt({},t,n)},secondary:function(t){var n="right"===t?"left":"top",i=u[n];return u[t]>l[t]&&!e.escapeWithReference&&(i=Math.min(u[n],l[t]-("right"===t?u.width:u.height))),Rt({},n,i)}};return c.forEach((function(t){var e=-1!==["left","top"].indexOf(t)?"primary":"secondary";u=Ft({},u,f[e](t))})),t.offsets.popper=u,t},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(t){var e=t.offsets,n=e.popper,i=e.reference,o=t.placement.split("-")[0],r=Math.floor,s=-1!==["top","bottom"].indexOf(o),a=s?"right":"bottom",l=s?"left":"top",c=s?"width":"height";return n[a]<r(i[l])&&(t.offsets.popper[l]=r(i[l])-n[c]),n[l]>r(i[a])&&(t.offsets.popper[l]=r(i[a])),t}},arrow:{order:500,enabled:!0,fn:function(t,e){var n;if(!de(t.instance.modifiers,"arrow","keepTogether"))return t;var i=e.element;if("string"==typeof i){if(!(i=t.instance.popper.querySelector(i)))return t}else if(!t.instance.popper.contains(i))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),t;var o=t.placement.split("-")[0],r=t.offsets,s=r.popper,a=r.reference,l=-1!==["left","right"].indexOf(o),c=l?"height":"width",u=l?"Top":"Left",f=u.toLowerCase(),h=l?"left":"top",d=l?"bottom":"right",p=$t(i)[c];a[d]-p<s[f]&&(t.offsets.popper[f]-=s[f]-(a[d]-p)),a[f]+p>s[d]&&(t.offsets.popper[f]+=a[f]+p-s[d]),t.offsets.popper=Wt(t.offsets.popper);var g=a[f]+a[c]/2-p/2,m=Et(t.instance.popper),v=parseFloat(m["margin"+u],10),_=parseFloat(m["border"+u+"Width"],10),b=g-t.offsets.popper[f]-v-_;return b=Math.max(Math.min(s[c]-p,b),0),t.arrowElement=i,t.offsets.arrow=(Rt(n={},f,Math.round(b)),Rt(n,h,""),n),t},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(t,e){if(ie(t.instance.modifiers,"inner"))return t;if(t.flipped&&t.placement===t.originalPlacement)return t;var n=zt(t.instance.popper,t.instance.reference,e.padding,e.boundariesElement,t.positionFixed),i=t.placement.split("-")[0],o=Zt(i),r=t.placement.split("-")[1]||"",s=[];switch(e.behavior){case ve:s=[i,o];break;case _e:s=me(i);break;case be:s=me(i,!0);break;default:s=e.behavior}return s.forEach((function(a,l){if(i!==a||s.length===l+1)return t;i=t.placement.split("-")[0],o=Zt(i);var c=t.offsets.popper,u=t.offsets.reference,f=Math.floor,h="left"===i&&f(c.right)>f(u.left)||"right"===i&&f(c.left)<f(u.right)||"top"===i&&f(c.bottom)>f(u.top)||"bottom"===i&&f(c.top)<f(u.bottom),d=f(c.left)<f(n.left),p=f(c.right)>f(n.right),g=f(c.top)<f(n.top),m=f(c.bottom)>f(n.bottom),v="left"===i&&d||"right"===i&&p||"top"===i&&g||"bottom"===i&&m,_=-1!==["top","bottom"].indexOf(i),b=!!e.flipVariations&&(_&&"start"===r&&d||_&&"end"===r&&p||!_&&"start"===r&&g||!_&&"end"===r&&m),y=!!e.flipVariationsByContent&&(_&&"start"===r&&p||_&&"end"===r&&d||!_&&"start"===r&&m||!_&&"end"===r&&g),w=b||y;(h||v||w)&&(t.flipped=!0,(h||v)&&(i=s[l+1]),w&&(r=function(t){return"end"===t?"start":"start"===t?"end":t}(r)),t.placement=i+(r?"-"+r:""),t.offsets.popper=Ft({},t.offsets.popper,Jt(t.instance.popper,t.offsets.reference,t.placement)),t=ee(t.instance.modifiers,t,"flip"))})),t},behavior:"flip",padding:5,boundariesElement:"viewport",flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(t){var e=t.placement,n=e.split("-")[0],i=t.offsets,o=i.popper,r=i.reference,s=-1!==["left","right"].indexOf(n),a=-1===["top","left"].indexOf(n);return o[s?"left":"top"]=r[n]-(a?o[s?"width":"height"]:0),t.placement=Zt(e),t.offsets.popper=Wt(o),t}},hide:{order:800,enabled:!0,fn:function(t){if(!de(t.instance.modifiers,"hide","preventOverflow"))return t;var e=t.offsets.reference,n=te(t.instance.modifiers,(function(t){return"preventOverflow"===t.name})).boundaries;if(e.bottom<n.top||e.left>n.right||e.top>n.bottom||e.right<n.left){if(!0===t.hide)return t;t.hide=!0,t.attributes["x-out-of-boundaries"]=""}else{if(!1===t.hide)return t;t.hide=!1,t.attributes["x-out-of-boundaries"]=!1}return t}},computeStyle:{order:850,enabled:!0,fn:function(t,e){var n=e.x,i=e.y,o=t.offsets.popper,r=te(t.instance.modifiers,(function(t){return"applyStyle"===t.name})).gpuAcceleration;void 0!==r&&console.warn("WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!");var s=void 0!==r?r:e.gpuAcceleration,a=St(t.instance.popper),l=Ut(a),c={position:o.position},u=function(t,e){var n=t.offsets,i=n.popper,o=n.reference,r=Math.round,s=Math.floor,a=function(t){return t},l=r(o.width),c=r(i.width),u=-1!==["left","right"].indexOf(t.placement),f=-1!==t.placement.indexOf("-"),h=e?u||f||l%2==c%2?r:s:a,d=e?r:a;return{left:h(l%2==1&&c%2==1&&!f&&e?i.left-1:i.left),top:d(i.top),bottom:d(i.bottom),right:h(i.right)}}(t,window.devicePixelRatio<2||!he),f="bottom"===n?"top":"bottom",h="right"===i?"left":"right",d=oe("transform"),p=void 0,g=void 0;if(g="bottom"===f?"HTML"===a.nodeName?-a.clientHeight+u.bottom:-l.height+u.bottom:u.top,p="right"===h?"HTML"===a.nodeName?-a.clientWidth+u.right:-l.width+u.right:u.left,s&&d)c[d]="translate3d("+p+"px, "+g+"px, 0)",c[f]=0,c[h]=0,c.willChange="transform";else{var m="bottom"===f?-1:1,v="right"===h?-1:1;c[f]=g*m,c[h]=p*v,c.willChange=f+", "+h}var _={"x-placement":t.placement};return t.attributes=Ft({},_,t.attributes),t.styles=Ft({},c,t.styles),t.arrowStyles=Ft({},t.offsets.arrow,t.arrowStyles),t},gpuAcceleration:!0,x:"bottom",y:"right"},applyStyle:{order:900,enabled:!0,fn:function(t){return fe(t.instance.popper,t.styles),function(t,e){Object.keys(e).forEach((function(n){!1!==e[n]?t.setAttribute(n,e[n]):t.removeAttribute(n)}))}(t.instance.popper,t.attributes),t.arrowElement&&Object.keys(t.arrowStyles).length&&fe(t.arrowElement,t.arrowStyles),t},onLoad:function(t,e,n,i,o){var r=Gt(o,e,t,n.positionFixed),s=Xt(n.placement,r,e,t,n.modifiers.flip.boundariesElement,n.modifiers.flip.padding);return e.setAttribute("x-placement",s),fe(e,{position:n.positionFixed?"fixed":"absolute"}),n},gpuAcceleration:void 0}}},Ee=function(){function t(e,n){var i=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Ht(this,t),this.scheduleUpdate=function(){return requestAnimationFrame(i.update)},this.update=yt(this.update.bind(this)),this.options=Ft({},t.Defaults,o),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=e&&e.jquery?e[0]:e,this.popper=n&&n.jquery?n[0]:n,this.options.modifiers={},Object.keys(Ft({},t.Defaults.modifiers,o.modifiers)).forEach((function(e){i.options.modifiers[e]=Ft({},t.Defaults.modifiers[e]||{},o.modifiers?o.modifiers[e]:{})})),this.modifiers=Object.keys(this.options.modifiers).map((function(t){return Ft({name:t},i.options.modifiers[t])})).sort((function(t,e){return t.order-e.order})),this.modifiers.forEach((function(t){t.enabled&&wt(t.onLoad)&&t.onLoad(i.reference,i.popper,i.options,t,i.state)})),this.update();var r=this.options.eventsEnabled;r&&this.enableEventListeners(),this.state.eventsEnabled=r}return Bt(t,[{key:"update",value:function(){return ne.call(this)}},{key:"destroy",value:function(){return re.call(this)}},{key:"enableEventListeners",value:function(){return le.call(this)}},{key:"disableEventListeners",value:function(){return ce.call(this)}}]),t}();Ee.Utils=("undefined"!=typeof window?window:global).PopperUtils,Ee.placements=pe,Ee.Defaults=we;var Te="dropdown",Le=new RegExp("38|40|27"),ke={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic",popperConfig:null},Oe={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string",popperConfig:"(null|object)"},Ce=function(){function t(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners(),T(t,"bs.dropdown",this)}var n=t.prototype;return n.toggle=function(){if(!this._element.disabled&&!this._element.classList.contains("disabled")){var e=this._element.classList.contains("show");t.clearMenus(),e||this.show()}},n.show=function(){if(!(this._element.disabled||this._element.classList.contains("disabled")||this._menu.classList.contains("show"))){var e=t.getParentFromElement(this._element),n={relatedTarget:this._element};if(!Y.trigger(this._element,"show.bs.dropdown",n).defaultPrevented){if(!this._inNavbar){if(void 0===Ee)throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org)");var i=this._element;"parent"===this._config.reference?i=e:g(this._config.reference)&&(i=this._config.reference,void 0!==this._config.reference.jquery&&(i=this._config.reference[0])),"scrollParent"!==this._config.boundary&&e.classList.add("position-static"),this._popper=new Ee(i,this._menu,this._getPopperConfig())}var o;if("ontouchstart"in document.documentElement&&!z.closest(e,".navbar-nav"))(o=[]).concat.apply(o,document.body.children).forEach((function(t){return Y.on(t,"mouseover",null,(function(){}))}));this._element.focus(),this._element.setAttribute("aria-expanded",!0),it.toggleClass(this._menu,"show"),it.toggleClass(this._element,"show"),Y.trigger(e,"shown.bs.dropdown",n)}}},n.hide=function(){if(!this._element.disabled&&!this._element.classList.contains("disabled")&&this._menu.classList.contains("show")){var e=t.getParentFromElement(this._element),n={relatedTarget:this._element};Y.trigger(e,"hide.bs.dropdown",n).defaultPrevented||(this._popper&&this._popper.destroy(),it.toggleClass(this._menu,"show"),it.toggleClass(this._element,"show"),Y.trigger(e,"hidden.bs.dropdown",n))}},n.dispose=function(){k(this._element,"bs.dropdown"),Y.off(this._element,".bs.dropdown"),this._element=null,this._menu=null,this._popper&&(this._popper.destroy(),this._popper=null)},n.update=function(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.scheduleUpdate()},n._addEventListeners=function(){var t=this;Y.on(this._element,"click.bs.dropdown",(function(e){e.preventDefault(),e.stopPropagation(),t.toggle()}))},n._getConfig=function(t){return t=o({},this.constructor.Default,{},it.getDataAttributes(this._element),{},t),v(Te,t,this.constructor.DefaultType),t},n._getMenuElement=function(){return z.next(this._element,".dropdown-menu")[0]},n._getPlacement=function(){var t=this._element.parentNode,e="bottom-start";return t.classList.contains("dropup")?(e="top-start",this._menu.classList.contains("dropdown-menu-right")&&(e="top-end")):t.classList.contains("dropright")?e="right-start":t.classList.contains("dropleft")?e="left-start":this._menu.classList.contains("dropdown-menu-right")&&(e="bottom-end"),e},n._detectNavbar=function(){return Boolean(z.closest(this._element,".navbar"))},n._getOffset=function(){var t=this,e={};return"function"==typeof this._config.offset?e.fn=function(e){return e.offsets=o({},e.offsets,{},t._config.offset(e.offsets,t._element)||{}),e}:e.offset=this._config.offset,e},n._getPopperConfig=function(){var t={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(t.modifiers.applyStyle={enabled:!1}),o({},t,{},this._config.popperConfig)},t.dropdownInterface=function(e,n){var i=L(e,"bs.dropdown");if(i||(i=new t(e,"object"==typeof n?n:null)),"string"==typeof n){if(void 0===i[n])throw new TypeError('No method named "'+n+'"');i[n]()}},t.jQueryInterface=function(e){return this.each((function(){t.dropdownInterface(this,e)}))},t.clearMenus=function(e){if(!e||3!==e.which&&("keyup"!==e.type||9===e.which))for(var n=z.find('[data-toggle="dropdown"]'),i=0,o=n.length;i<o;i++){var r=t.getParentFromElement(n[i]),s=L(n[i],"bs.dropdown"),a={relatedTarget:n[i]};if(e&&"click"===e.type&&(a.clickEvent=e),s){var l=s._menu;if(n[i].classList.contains("show"))if(!(e&&("click"===e.type&&/input|textarea/i.test(e.target.tagName)||"keyup"===e.type&&9===e.which)&&l.contains(e.target)))if(!Y.trigger(r,"hide.bs.dropdown",a).defaultPrevented){var c;if("ontouchstart"in document.documentElement)(c=[]).concat.apply(c,document.body.children).forEach((function(t){return Y.off(t,"mouseover",null,(function(){}))}));n[i].setAttribute("aria-expanded","false"),s._popper&&s._popper.destroy(),l.classList.remove("show"),n[i].classList.remove("show"),Y.trigger(r,"hidden.bs.dropdown",a)}}}},t.getParentFromElement=function(t){return h(t)||t.parentNode},t.dataApiKeydownHandler=function(e){if(!(/input|textarea/i.test(e.target.tagName)?32===e.which||27!==e.which&&(40!==e.which&&38!==e.which||z.closest(e.target,".dropdown-menu")):!Le.test(e.which))&&(e.preventDefault(),e.stopPropagation(),!this.disabled&&!this.classList.contains("disabled"))){var n=t.getParentFromElement(this),i=this.classList.contains("show");if(27===e.which)return(this.matches('[data-toggle="dropdown"]')?this:z.prev(this,'[data-toggle="dropdown"]')[0]).focus(),void t.clearMenus();if(i&&32!==e.which){var o=z.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",n).filter(_);if(o.length){var r=o.indexOf(e.target)||0;38===e.which&&r>0&&r--,40===e.which&&r<o.length-1&&r++,o[r].focus()}}else t.clearMenus()}},t.getInstance=function(t){return L(t,"bs.dropdown")},e(t,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return ke}},{key:"DefaultType",get:function(){return Oe}}]),t}();Y.on(document,"keydown.bs.dropdown.data-api",'[data-toggle="dropdown"]',Ce.dataApiKeydownHandler),Y.on(document,"keydown.bs.dropdown.data-api",".dropdown-menu",Ce.dataApiKeydownHandler),Y.on(document,"click.bs.dropdown.data-api",Ce.clearMenus),Y.on(document,"keyup.bs.dropdown.data-api",Ce.clearMenus),Y.on(document,"click.bs.dropdown.data-api",'[data-toggle="dropdown"]',(function(t){t.preventDefault(),t.stopPropagation(),Ce.dropdownInterface(this,"toggle")})),Y.on(document,"click.bs.dropdown.data-api",".dropdown form",(function(t){return t.stopPropagation()}));var Ae=w();if(Ae){var Se=Ae.fn[Te];Ae.fn[Te]=Ce.jQueryInterface,Ae.fn[Te].Constructor=Ce,Ae.fn[Te].noConflict=function(){return Ae.fn[Te]=Se,Ce.jQueryInterface}}var De={backdrop:!0,keyboard:!0,focus:!0,show:!0},xe={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},Ne=function(){function t(t,e){this._config=this._getConfig(e),this._element=t,this._dialog=z.findOne(".modal-dialog",t),this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollbarWidth=0,T(t,"bs.modal",this)}var n=t.prototype;return n.toggle=function(t){return this._isShown?this.hide():this.show(t)},n.show=function(t){var e=this;if(!this._isShown&&!this._isTransitioning){this._element.classList.contains("fade")&&(this._isTransitioning=!0);var n=Y.trigger(this._element,"show.bs.modal",{relatedTarget:t});this._isShown||n.defaultPrevented||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),Y.on(this._element,"click.dismiss.bs.modal",'[data-dismiss="modal"]',(function(t){return e.hide(t)})),Y.on(this._dialog,"mousedown.dismiss.bs.modal",(function(){Y.one(e._element,"mouseup.dismiss.bs.modal",(function(t){t.target===e._element&&(e._ignoreBackdropClick=!0)}))})),this._showBackdrop((function(){return e._showElement(t)})))}},n.hide=function(t){var e=this;if((t&&t.preventDefault(),this._isShown&&!this._isTransitioning)&&!Y.trigger(this._element,"hide.bs.modal").defaultPrevented){this._isShown=!1;var n=this._element.classList.contains("fade");if(n&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),Y.off(document,"focusin.bs.modal"),this._element.classList.remove("show"),Y.off(this._element,"click.dismiss.bs.modal"),Y.off(this._dialog,"mousedown.dismiss.bs.modal"),n){var i=d(this._element);Y.one(this._element,"transitionend",(function(t){return e._hideModal(t)})),m(this._element,i)}else this._hideModal()}},n.dispose=function(){[window,this._element,this._dialog].forEach((function(t){return Y.off(t,".bs.modal")})),Y.off(document,"focusin.bs.modal"),k(this._element,"bs.modal"),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._isTransitioning=null,this._scrollbarWidth=null},n.handleUpdate=function(){this._adjustDialog()},n._getConfig=function(t){return t=o({},De,{},t),v("modal",t,xe),t},n._showElement=function(t){var e=this,n=this._element.classList.contains("fade"),i=z.findOne(".modal-body",this._dialog);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._dialog.classList.contains("modal-dialog-scrollable")&&i?i.scrollTop=0:this._element.scrollTop=0,n&&y(this._element),this._element.classList.add("show"),this._config.focus&&this._enforceFocus();var o=function(){e._config.focus&&e._element.focus(),e._isTransitioning=!1,Y.trigger(e._element,"shown.bs.modal",{relatedTarget:t})};if(n){var r=d(this._dialog);Y.one(this._dialog,"transitionend",o),m(this._dialog,r)}else o()},n._enforceFocus=function(){var t=this;Y.off(document,"focusin.bs.modal"),Y.on(document,"focusin.bs.modal",(function(e){document===e.target||t._element===e.target||t._element.contains(e.target)||t._element.focus()}))},n._setEscapeEvent=function(){var t=this;this._isShown?Y.on(this._element,"keydown.dismiss.bs.modal",(function(e){t._config.keyboard&&27===e.which?(e.preventDefault(),t.hide()):t._config.keyboard||27!==e.which||t._triggerBackdropTransition()})):Y.off(this._element,"keydown.dismiss.bs.modal")},n._setResizeEvent=function(){var t=this;this._isShown?Y.on(window,"resize.bs.modal",(function(){return t._adjustDialog()})):Y.off(window,"resize.bs.modal")},n._hideModal=function(){var t=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._isTransitioning=!1,this._showBackdrop((function(){document.body.classList.remove("modal-open"),t._resetAdjustments(),t._resetScrollbar(),Y.trigger(t._element,"hidden.bs.modal")}))},n._removeBackdrop=function(){this._backdrop.parentNode.removeChild(this._backdrop),this._backdrop=null},n._showBackdrop=function(t){var e=this,n=this._element.classList.contains("fade")?"fade":"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className="modal-backdrop",n&&this._backdrop.classList.add(n),document.body.appendChild(this._backdrop),Y.on(this._element,"click.dismiss.bs.modal",(function(t){e._ignoreBackdropClick?e._ignoreBackdropClick=!1:t.target===t.currentTarget&&e._triggerBackdropTransition()})),n&&y(this._backdrop),this._backdrop.classList.add("show"),!n)return void t();var i=d(this._backdrop);Y.one(this._backdrop,"transitionend",t),m(this._backdrop,i)}else if(!this._isShown&&this._backdrop){this._backdrop.classList.remove("show");var o=function(){e._removeBackdrop(),t()};if(this._element.classList.contains("fade")){var r=d(this._backdrop);Y.one(this._backdrop,"transitionend",o),m(this._backdrop,r)}else o()}else t()},n._triggerBackdropTransition=function(){var t=this;if("static"===this._config.backdrop){if(Y.trigger(this._element,"hidePrevented.bs.modal").defaultPrevented)return;this._element.classList.add("modal-static");var e=d(this._element);Y.one(this._element,"transitionend",(function(){t._element.classList.remove("modal-static")})),m(this._element,e),this._element.focus()}else this.hide()},n._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},n._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},n._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},n._setScrollbar=function(){var t=this;if(this._isBodyOverflowing){z.find(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top").forEach((function(e){var n=e.style.paddingRight,i=window.getComputedStyle(e)["padding-right"];it.setDataAttribute(e,"padding-right",n),e.style.paddingRight=parseFloat(i)+t._scrollbarWidth+"px"})),z.find(".sticky-top").forEach((function(e){var n=e.style.marginRight,i=window.getComputedStyle(e)["margin-right"];it.setDataAttribute(e,"margin-right",n),e.style.marginRight=parseFloat(i)-t._scrollbarWidth+"px"}));var e=document.body.style.paddingRight,n=window.getComputedStyle(document.body)["padding-right"];it.setDataAttribute(document.body,"padding-right",e),document.body.style.paddingRight=parseFloat(n)+this._scrollbarWidth+"px"}document.body.classList.add("modal-open")},n._resetScrollbar=function(){z.find(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top").forEach((function(t){var e=it.getDataAttribute(t,"padding-right");void 0!==e&&(it.removeDataAttribute(t,"padding-right"),t.style.paddingRight=e)})),z.find(".sticky-top").forEach((function(t){var e=it.getDataAttribute(t,"margin-right");void 0!==e&&(it.removeDataAttribute(t,"margin-right"),t.style.marginRight=e)}));var t=it.getDataAttribute(document.body,"padding-right");void 0===t?document.body.style.paddingRight="":(it.removeDataAttribute(document.body,"padding-right"),document.body.style.paddingRight=t)},n._getScrollbarWidth=function(){var t=document.createElement("div");t.className="modal-scrollbar-measure",document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},t.jQueryInterface=function(e,n){return this.each((function(){var i=L(this,"bs.modal"),r=o({},De,{},it.getDataAttributes(this),{},"object"==typeof e&&e?e:{});if(i||(i=new t(this,r)),"string"==typeof e){if(void 0===i[e])throw new TypeError('No method named "'+e+'"');i[e](n)}else r.show&&i.show(n)}))},t.getInstance=function(t){return L(t,"bs.modal")},e(t,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return De}}]),t}();Y.on(document,"click.bs.modal.data-api",'[data-toggle="modal"]',(function(t){var e=this,n=h(this);"A"!==this.tagName&&"AREA"!==this.tagName||t.preventDefault(),Y.one(n,"show.bs.modal",(function(t){t.defaultPrevented||Y.one(n,"hidden.bs.modal",(function(){_(e)&&e.focus()}))}));var i=L(n,"bs.modal");if(!i){var r=o({},it.getDataAttributes(n),{},it.getDataAttributes(this));i=new Ne(n,r)}i.show(this)}));var Ie=w();if(Ie){var je=Ie.fn.modal;Ie.fn.modal=Ne.jQueryInterface,Ie.fn.modal.Constructor=Ne,Ie.fn.modal.noConflict=function(){return Ie.fn.modal=je,Ne.jQueryInterface}}var Pe=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],Me=/^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi,He=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,Be={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]};function Re(t,e,n){var i;if(!t.length)return t;if(n&&"function"==typeof n)return n(t);for(var o=(new window.DOMParser).parseFromString(t,"text/html"),r=Object.keys(e),s=(i=[]).concat.apply(i,o.body.querySelectorAll("*")),a=function(t,n){var i,o=s[t],a=o.nodeName.toLowerCase();if(-1===r.indexOf(a))return o.parentNode.removeChild(o),"continue";var l=(i=[]).concat.apply(i,o.attributes),c=[].concat(e["*"]||[],e[a]||[]);l.forEach((function(t){(function(t,e){var n=t.nodeName.toLowerCase();if(-1!==e.indexOf(n))return-1===Pe.indexOf(n)||(Me.test(t.nodeValue)||He.test(t.nodeValue));for(var i=e.filter((function(t){return t instanceof RegExp})),o=0,r=i.length;o<r;o++)if(i[o].test(n))return!0;return!1})(t,c)||o.removeAttribute(t.nodeName)}))},l=0,c=s.length;l<c;l++)a(l);return o.body.innerHTML}var Fe="tooltip",We=new RegExp("(^|\\s)bs-tooltip\\S+","g"),Ue=["sanitize","whiteList","sanitizeFn"],Qe={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string|function)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)",sanitize:"boolean",sanitizeFn:"(null|function)",whiteList:"object",popperConfig:"(null|object)"},Ve={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},qe={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:Be,popperConfig:null},Ye={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"},ze=function(){function t(t,e){if(void 0===Ee)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners(),T(t,this.constructor.DATA_KEY,this)}var n=t.prototype;return n.enable=function(){this._isEnabled=!0},n.disable=function(){this._isEnabled=!1},n.toggleEnabled=function(){this._isEnabled=!this._isEnabled},n.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=L(t.delegateTarget,e);n||(n=new this.constructor(t.delegateTarget,this._getDelegateConfig()),T(t.delegateTarget,e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(this.getTipElement().classList.contains("show"))return void this._leave(null,this);this._enter(null,this)}},n.dispose=function(){clearTimeout(this._timeout),k(this.element,this.constructor.DATA_KEY),Y.off(this.element,this.constructor.EVENT_KEY),Y.off(z.closest(this.element,".modal"),"hide.bs.modal",this._hideModalHandler),this.tip&&this.tip.parentNode.removeChild(this.tip),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},n.show=function(){var t=this;if("none"===this.element.style.display)throw new Error("Please use show on visible elements");if(this.isWithContent()&&this._isEnabled){var e=Y.trigger(this.element,this.constructor.Event.SHOW),n=function t(e){if(!document.documentElement.attachShadow)return null;if("function"==typeof e.getRootNode){var n=e.getRootNode();return n instanceof ShadowRoot?n:null}return e instanceof ShadowRoot?e:e.parentNode?t(e.parentNode):null}(this.element),i=null===n?this.element.ownerDocument.documentElement.contains(this.element):n.contains(this.element);if(e.defaultPrevented||!i)return;var o=this.getTipElement(),r=c(this.constructor.NAME);o.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&o.classList.add("fade");var s="function"==typeof this.config.placement?this.config.placement.call(this,o,this.element):this.config.placement,a=this._getAttachment(s);this._addAttachmentClass(a);var l,u=this._getContainer();if(T(o,this.constructor.DATA_KEY,this),this.element.ownerDocument.documentElement.contains(this.tip)||u.appendChild(o),Y.trigger(this.element,this.constructor.Event.INSERTED),this._popper=new Ee(this.element,o,this._getPopperConfig(a)),o.classList.add("show"),"ontouchstart"in document.documentElement)(l=[]).concat.apply(l,document.body.children).forEach((function(t){Y.on(t,"mouseover",(function(){}))}));var f=function(){t.config.animation&&t._fixTransition();var e=t._hoverState;t._hoverState=null,Y.trigger(t.element,t.constructor.Event.SHOWN),"out"===e&&t._leave(null,t)};if(this.tip.classList.contains("fade")){var h=d(this.tip);Y.one(this.tip,"transitionend",f),m(this.tip,h)}else f()}},n.hide=function(){var t=this,e=this.getTipElement(),n=function(){"show"!==t._hoverState&&e.parentNode&&e.parentNode.removeChild(e),t._cleanTipClass(),t.element.removeAttribute("aria-describedby"),Y.trigger(t.element,t.constructor.Event.HIDDEN),t._popper.destroy()};if(!Y.trigger(this.element,this.constructor.Event.HIDE).defaultPrevented){var i;if(e.classList.remove("show"),"ontouchstart"in document.documentElement)(i=[]).concat.apply(i,document.body.children).forEach((function(t){return Y.off(t,"mouseover",b)}));if(this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,this.tip.classList.contains("fade")){var o=d(e);Y.one(e,"transitionend",n),m(e,o)}else n();this._hoverState=""}},n.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},n.isWithContent=function(){return Boolean(this.getTitle())},n.getTipElement=function(){if(this.tip)return this.tip;var t=document.createElement("div");return t.innerHTML=this.config.template,this.tip=t.children[0],this.tip},n.setContent=function(){var t=this.getTipElement();this.setElementContent(z.findOne(".tooltip-inner",t),this.getTitle()),t.classList.remove("fade"),t.classList.remove("show")},n.setElementContent=function(t,e){if(null!==t)return"object"==typeof e&&g(e)?(e.jquery&&(e=e[0]),void(this.config.html?e.parentNode!==t&&(t.innerHTML="",t.appendChild(e)):t.innerText=e.textContent)):void(this.config.html?(this.config.sanitize&&(e=Re(e,this.config.whiteList,this.config.sanitizeFn)),t.innerHTML=e):t.innerText=e)},n.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},n._getPopperConfig=function(t){var e=this;return o({},{placement:t,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:"."+this.constructor.NAME+"-arrow"},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}},{},this.config.popperConfig)},n._addAttachmentClass=function(t){this.getTipElement().classList.add("bs-tooltip-"+t)},n._getOffset=function(){var t=this,e={};return"function"==typeof this.config.offset?e.fn=function(e){return e.offsets=o({},e.offsets,{},t.config.offset(e.offsets,t.element)||{}),e}:e.offset=this.config.offset,e},n._getContainer=function(){return!1===this.config.container?document.body:g(this.config.container)?this.config.container:z.findOne(this.config.container)},n._getAttachment=function(t){return Ve[t.toUpperCase()]},n._setListeners=function(){var t=this;this.config.trigger.split(" ").forEach((function(e){if("click"===e)Y.on(t.element,t.constructor.Event.CLICK,t.config.selector,(function(e){return t.toggle(e)}));else if("manual"!==e){var n="hover"===e?t.constructor.Event.MOUSEENTER:t.constructor.Event.FOCUSIN,i="hover"===e?t.constructor.Event.MOUSELEAVE:t.constructor.Event.FOCUSOUT;Y.on(t.element,n,t.config.selector,(function(e){return t._enter(e)})),Y.on(t.element,i,t.config.selector,(function(e){return t._leave(e)}))}})),this._hideModalHandler=function(){t.element&&t.hide()},Y.on(z.closest(this.element,".modal"),"hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=o({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},n._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},n._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||L(t.delegateTarget,n))||(e=new this.constructor(t.delegateTarget,this._getDelegateConfig()),T(t.delegateTarget,n,e)),t&&(e._activeTrigger["focusin"===t.type?"focus":"hover"]=!0),e.getTipElement().classList.contains("show")||"show"===e._hoverState?e._hoverState="show":(clearTimeout(e._timeout),e._hoverState="show",e.config.delay&&e.config.delay.show?e._timeout=setTimeout((function(){"show"===e._hoverState&&e.show()}),e.config.delay.show):e.show())},n._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||L(t.delegateTarget,n))||(e=new this.constructor(t.delegateTarget,this._getDelegateConfig()),T(t.delegateTarget,n,e)),t&&(e._activeTrigger["focusout"===t.type?"focus":"hover"]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState="out",e.config.delay&&e.config.delay.hide?e._timeout=setTimeout((function(){"out"===e._hoverState&&e.hide()}),e.config.delay.hide):e.hide())},n._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},n._getConfig=function(t){var e=it.getDataAttributes(this.element);return Object.keys(e).forEach((function(t){-1!==Ue.indexOf(t)&&delete e[t]})),t&&"object"==typeof t.container&&t.container.jquery&&(t.container=t.container[0]),"number"==typeof(t=o({},this.constructor.Default,{},e,{},"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),v(Fe,t,this.constructor.DefaultType),t.sanitize&&(t.template=Re(t.template,t.whiteList,t.sanitizeFn)),t},n._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},n._cleanTipClass=function(){var t=this.getTipElement(),e=t.getAttribute("class").match(We);null!==e&&e.length>0&&e.map((function(t){return t.trim()})).forEach((function(e){return t.classList.remove(e)}))},n._handlePopperPlacementChange=function(t){var e=t.instance;this.tip=e.popper,this._cleanTipClass(),this._addAttachmentClass(this._getAttachment(t.placement))},n._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(t.classList.remove("fade"),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},t.jQueryInterface=function(e){return this.each((function(){var n=L(this,"bs.tooltip"),i="object"==typeof e&&e;if((n||!/dispose|hide/.test(e))&&(n||(n=new t(this,i)),"string"==typeof e)){if(void 0===n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},t.getInstance=function(t){return L(t,"bs.tooltip")},e(t,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return qe}},{key:"NAME",get:function(){return Fe}},{key:"DATA_KEY",get:function(){return"bs.tooltip"}},{key:"Event",get:function(){return Ye}},{key:"EVENT_KEY",get:function(){return".bs.tooltip"}},{key:"DefaultType",get:function(){return Qe}}]),t}(),Ke=w();if(Ke){var Xe=Ke.fn[Fe];Ke.fn[Fe]=ze.jQueryInterface,Ke.fn[Fe].Constructor=ze,Ke.fn[Fe].noConflict=function(){return Ke.fn[Fe]=Xe,ze.jQueryInterface}}var Ge="popover",$e=new RegExp("(^|\\s)bs-popover\\S+","g"),Ze=o({},ze.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),Je=o({},ze.DefaultType,{content:"(string|element|function)"}),tn={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"},en=function(t){var n,i;function o(){return t.apply(this,arguments)||this}i=t,(n=o).prototype=Object.create(i.prototype),n.prototype.constructor=n,n.__proto__=i;var r=o.prototype;return r.isWithContent=function(){return this.getTitle()||this._getContent()},r.setContent=function(){var t=this.getTipElement();this.setElementContent(z.findOne(".popover-header",t),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(z.findOne(".popover-body",t),e),t.classList.remove("fade"),t.classList.remove("show")},r._addAttachmentClass=function(t){this.getTipElement().classList.add("bs-popover-"+t)},r._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},r._cleanTipClass=function(){var t=this.getTipElement(),e=t.getAttribute("class").match($e);null!==e&&e.length>0&&e.map((function(t){return t.trim()})).forEach((function(e){return t.classList.remove(e)}))},o.jQueryInterface=function(t){return this.each((function(){var e=L(this,"bs.popover"),n="object"==typeof t?t:null;if((e||!/dispose|hide/.test(t))&&(e||(e=new o(this,n),T(this,"bs.popover",e)),"string"==typeof t)){if(void 0===e[t])throw new TypeError('No method named "'+t+'"');e[t]()}}))},o.getInstance=function(t){return L(t,"bs.popover")},e(o,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Ze}},{key:"NAME",get:function(){return Ge}},{key:"DATA_KEY",get:function(){return"bs.popover"}},{key:"Event",get:function(){return tn}},{key:"EVENT_KEY",get:function(){return".bs.popover"}},{key:"DefaultType",get:function(){return Je}}]),o}(ze),nn=w();if(nn){var on=nn.fn[Ge];nn.fn[Ge]=en.jQueryInterface,nn.fn[Ge].Constructor=en,nn.fn[Ge].noConflict=function(){return nn.fn[Ge]=on,en.jQueryInterface}}var rn="scrollspy",sn={offset:10,method:"auto",target:""},an={offset:"number",method:"string",target:"(string|element)"},ln=function(){function t(t,e){var n=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(e),this._selector=this._config.target+" .nav-link,"+this._config.target+" .list-group-item,"+this._config.target+" .dropdown-item",this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,Y.on(this._scrollElement,"scroll.bs.scrollspy",(function(t){return n._process(t)})),this.refresh(),this._process(),T(t,"bs.scrollspy",this)}var n=t.prototype;return n.refresh=function(){var t=this,e=this._scrollElement===this._scrollElement.window?"offset":"position",n="auto"===this._config.method?e:this._config.method,i="position"===n?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),z.find(this._selector).map((function(t){var e,o=f(t);if(o&&(e=z.findOne(o)),e){var r=e.getBoundingClientRect();if(r.width||r.height)return[it[n](e).top+i,o]}return null})).filter((function(t){return t})).sort((function(t,e){return t[0]-e[0]})).forEach((function(e){t._offsets.push(e[0]),t._targets.push(e[1])}))},n.dispose=function(){k(this._element,"bs.scrollspy"),Y.off(this._scrollElement,".bs.scrollspy"),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},n._getConfig=function(t){if("string"!=typeof(t=o({},sn,{},"object"==typeof t&&t?t:{})).target){var e=t.target.id;e||(e=c(rn),t.target.id=e),t.target="#"+e}return v(rn,t,an),t},n._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},n._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},n._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},n._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&(void 0===this._offsets[o+1]||t<this._offsets[o+1])&&this._activate(this._targets[o])}}},n._activate=function(t){this._activeTarget=t,this._clear();var e=this._selector.split(",").map((function(e){return e+'[data-target="'+t+'"],'+e+'[href="'+t+'"]'})),n=z.findOne(e.join(","));n.classList.contains("dropdown-item")?(z.findOne(".dropdown-toggle",z.closest(n,".dropdown")).classList.add("active"),n.classList.add("active")):(n.classList.add("active"),z.parents(n,".nav, .list-group").forEach((function(t){z.prev(t,".nav-link, .list-group-item").forEach((function(t){return t.classList.add("active")})),z.prev(t,".nav-item").forEach((function(t){z.children(t,".nav-link").forEach((function(t){return t.classList.add("active")}))}))}))),Y.trigger(this._scrollElement,"activate.bs.scrollspy",{relatedTarget:t})},n._clear=function(){z.find(this._selector).filter((function(t){return t.classList.contains("active")})).forEach((function(t){return t.classList.remove("active")}))},t.jQueryInterface=function(e){return this.each((function(){var n=L(this,"bs.scrollspy");if(n||(n=new t(this,"object"==typeof e&&e)),"string"==typeof e){if(void 0===n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},t.getInstance=function(t){return L(t,"bs.scrollspy")},e(t,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return sn}}]),t}();Y.on(window,"load.bs.scrollspy.data-api",(function(){z.find('[data-spy="scroll"]').forEach((function(t){return new ln(t,it.getDataAttributes(t))}))}));var cn=w();if(cn){var un=cn.fn[rn];cn.fn[rn]=ln.jQueryInterface,cn.fn[rn].Constructor=ln,cn.fn[rn].noConflict=function(){return cn.fn[rn]=un,ln.jQueryInterface}}var fn=function(){function t(t){this._element=t,T(this._element,"bs.tab",this)}var n=t.prototype;return n.show=function(){var t=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&this._element.classList.contains("active")||this._element.classList.contains("disabled"))){var e,n=h(this._element),i=z.closest(this._element,".nav, .list-group");if(i){var o="UL"===i.nodeName||"OL"===i.nodeName?":scope > li > .active":".active";e=(e=z.find(o,i))[e.length-1]}var r=null;if(e&&(r=Y.trigger(e,"hide.bs.tab",{relatedTarget:this._element})),!(Y.trigger(this._element,"show.bs.tab",{relatedTarget:e}).defaultPrevented||null!==r&&r.defaultPrevented)){this._activate(this._element,i);var s=function(){Y.trigger(e,"hidden.bs.tab",{relatedTarget:t._element}),Y.trigger(t._element,"shown.bs.tab",{relatedTarget:e})};n?this._activate(n,n.parentNode,s):s()}}},n.dispose=function(){k(this._element,"bs.tab"),this._element=null},n._activate=function(t,e,n){var i=this,o=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?z.children(e,".active"):z.find(":scope > li > .active",e))[0],r=n&&o&&o.classList.contains("fade"),s=function(){return i._transitionComplete(t,o,n)};if(o&&r){var a=d(o);o.classList.remove("show"),Y.one(o,"transitionend",s),m(o,a)}else s()},n._transitionComplete=function(t,e,n){if(e){e.classList.remove("active");var i=z.findOne(":scope > .dropdown-menu .active",e.parentNode);i&&i.classList.remove("active"),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}(t.classList.add("active"),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),y(t),t.classList.contains("fade")&&t.classList.add("show"),t.parentNode&&t.parentNode.classList.contains("dropdown-menu"))&&(z.closest(t,".dropdown")&&z.find(".dropdown-toggle").forEach((function(t){return t.classList.add("active")})),t.setAttribute("aria-expanded",!0));n&&n()},t.jQueryInterface=function(e){return this.each((function(){var n=L(this,"bs.tab")||new t(this);if("string"==typeof e){if(void 0===n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},t.getInstance=function(t){return L(t,"bs.tab")},e(t,null,[{key:"VERSION",get:function(){return"4.3.1"}}]),t}();Y.on(document,"click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',(function(t){t.preventDefault(),(L(this,"bs.tab")||new fn(this)).show()}));var hn=w();if(hn){var dn=hn.fn.tab;hn.fn.tab=fn.jQueryInterface,hn.fn.tab.Constructor=fn,hn.fn.tab.noConflict=function(){return hn.fn.tab=dn,fn.jQueryInterface}}var pn={animation:"boolean",autohide:"boolean",delay:"number"},gn={animation:!0,autohide:!0,delay:500},mn=function(){function t(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners(),T(t,"bs.toast",this)}var n=t.prototype;return n.show=function(){var t=this;if(!Y.trigger(this._element,"show.bs.toast").defaultPrevented){this._config.animation&&this._element.classList.add("fade");var e=function(){t._element.classList.remove("showing"),t._element.classList.add("show"),Y.trigger(t._element,"shown.bs.toast"),t._config.autohide&&(t._timeout=setTimeout((function(){t.hide()}),t._config.delay))};if(this._element.classList.remove("hide"),y(this._element),this._element.classList.add("showing"),this._config.animation){var n=d(this._element);Y.one(this._element,"transitionend",e),m(this._element,n)}else e()}},n.hide=function(){var t=this;if(this._element.classList.contains("show")&&!Y.trigger(this._element,"hide.bs.toast").defaultPrevented){var e=function(){t._element.classList.add("hide"),Y.trigger(t._element,"hidden.bs.toast")};if(this._element.classList.remove("show"),this._config.animation){var n=d(this._element);Y.one(this._element,"transitionend",e),m(this._element,n)}else e()}},n.dispose=function(){clearTimeout(this._timeout),this._timeout=null,this._element.classList.contains("show")&&this._element.classList.remove("show"),Y.off(this._element,"click.dismiss.bs.toast"),k(this._element,"bs.toast"),this._element=null,this._config=null},n._getConfig=function(t){return t=o({},gn,{},it.getDataAttributes(this._element),{},"object"==typeof t&&t?t:{}),v("toast",t,this.constructor.DefaultType),t},n._setListeners=function(){var t=this;Y.on(this._element,"click.dismiss.bs.toast",'[data-dismiss="toast"]',(function(){return t.hide()}))},t.jQueryInterface=function(e){return this.each((function(){var n=L(this,"bs.toast");if(n||(n=new t(this,"object"==typeof e&&e)),"string"==typeof e){if(void 0===n[e])throw new TypeError('No method named "'+e+'"');n[e](this)}}))},t.getInstance=function(t){return L(t,"bs.toast")},e(t,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"DefaultType",get:function(){return pn}},{key:"Default",get:function(){return gn}}]),t}(),vn=w();if(vn){var _n=vn.fn.toast;vn.fn.toast=mn.jQueryInterface,vn.fn.toast.Constructor=mn,vn.fn.toast.noConflict=function(){return vn.fn.toast=_n,mn.jQueryInterface}}return{Alert:X,Button:Z,Carousel:ct,Collapse:gt,Dropdown:Ce,Modal:Ne,Popover:en,ScrollSpy:ln,Tab:fn,Toast:mn,Tooltip:ze}}));
//# sourceMappingURL=bootstrap.bundle.min.js.map \ No newline at end of file
diff --git a/dist/js/bootstrap.bundle.min.js.map b/dist/js/bootstrap.bundle.min.js.map
index da19cd492a..9881327031 100644
--- a/dist/js/bootstrap.bundle.min.js.map
+++ b/dist/js/bootstrap.bundle.min.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../../js/src/util/index.js","../../js/src/dom/data.js","../../js/src/dom/polyfill.js","../../js/src/dom/event-handler.js","../../js/src/dom/selector-engine.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/dom/manipulator.js","../../js/src/carousel.js","../../js/src/collapse.js","../../node_modules/popper.js/dist/esm/popper.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/util/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/index.umd.js"],"names":["storeData","id","e","TRANSITION_END","getUID","prefix","Math","random","document","getElementById","getSelector","element","selector","getAttribute","hrefAttr","trim","getSelectorFromElement","querySelector","getElementFromSelector","getTransitionDurationFromElement","_window$getComputedSt","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","evt","createEvent","initEvent","dispatchEvent","isElement","obj","nodeType","emulateTransitionEnd","duration","called","emulatedDuration","addEventListener","listener","removeEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","toString","call","match","toLowerCase","RegExp","test","Error","toUpperCase","makeArray","nodeList","slice","isVisible","style","parentNode","elementStyle","parentNodeStyle","display","visibility","noop","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","mapData","set","key","data","get","keyProperties","delete","Data","setData","instance","getData","removeData","Element","prototype","matches","closest","find","querySelectorAll","findOne","createCustomEvent","eventName","params","CustomEvent","bubbles","cancelable","detail","initCustomEvent","preventDefault","defaultPrevented","origPreventDefault","Event","this","defineProperty","configurable","defaultPreventedPreservedOnDispatch","createElement","msMatchesSelector","webkitMatchesSelector","parentElement","scopeSelectorRegex","_","hasId","Boolean","replace","removeAttribute","$","namespaceRegex","stripNameRegex","keyEventRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","getUidEvent","uid","getEvent","fixEvent","event","which","type","charCode","keyCode","delegateTarget","findHandler","events","handler","delegationSelector","uidEventList","i","len","length","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","custom","indexOf","addHandler","oneOff","_normalizeParams","handlers","previousFn","fn","domElements","target","EventHandler","off","apply","bootstrapDelegationHandler","bootstrapHandler","removeHandler","on","one","_normalizeParams2","inNamespace","isNamespace","charAt","elementEvent","namespace","storeElementEvent","handlerKey","removeNamespacedHandlers","keyHandlers","trigger","args","jQueryEvent","isNative","nativeDispatch","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","SelectorEngine","documentElement","findFn","children","_this","filter","child","parents","ancestor","Node","ELEMENT_NODE","push","prev","siblings","previous","previousSibling","DATA_KEY","EVENT_KEY","CLOSE","CLOSED","CLICK_DATA_API","ClassName","Alert","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","_removeElement","dispose","parent","classList","remove","contains","_destroyElement","removeChild","jQueryInterface","each","handleDismiss","alertInstance","getInstance","JQUERY_NO_CONFLICT","Constructor","noConflict","Selector","FOCUS_DATA_API","BLUR_DATA_API","Button","toggle","triggerChangeEvent","addAriaPressed","input","checked","activeElement","focus","setAttribute","button","add","normalizeData","val","Number","normalizeDataKey","chr","Manipulator","setDataAttribute","removeDataAttribute","getDataAttributes","attributes","_objectSpread2","dataset","getDataAttribute","offset","rect","getBoundingClientRect","top","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft","toggleClass","className","NAME","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","Direction","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","TOUCHSTART","TOUCHMOVE","TOUCHEND","POINTERDOWN","POINTERUP","DRAG_START","LOAD_DATA_API","ACTIVE","ACTIVE_ITEM","ITEM","ITEM_IMG","NEXT_PREV","INDICATORS","DATA_SLIDE","DATA_RIDE","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","MSPointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","_handleSwipe","absDeltax","abs","_this2","_keydown","_addTouchEventListeners","_this3","start","pointerType","clientX","touches","end","clearTimeout","itemImg","move","tagName","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","from","_setActiveIndicatorElement","indicators","nextIndicator","directionalClassName","orderClassName","_this4","activeElementIndex","nextElement","nextElementIndex","isCycling","nextElementInterval","parseInt","defaultInterval","carouselInterface","action","TypeError","ride","dataApiClickHandler","slideIndex","carousels","SHOW","SHOWN","HIDE","HIDDEN","Dimension","ACTIVES","DATA_TOGGLE","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","container","tempActiveData","elemActive","collapseInterface","dimension","_getDimension","setTransitioning","scrollSize","triggerArrayLength","isTransitioning","jquery","selected","triggerArray","isOpen","triggerData","isBrowser","timeoutDuration","longerTimeoutBrowsers","userAgent","debounce","Promise","resolve","then","scheduled","isFunction","functionToCheck","getStyleComputedProperty","css","ownerDocument","defaultView","getParentNode","nodeName","host","getScrollParent","_getStyleComputedProp","overflow","overflowX","overflowY","getReferenceNode","reference","referenceNode","isIE11","MSInputMethodContext","documentMode","isIE10","isIE","version","getOffsetParent","noOffsetParent","offsetParent","nextElementSibling","getRoot","node","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","DOCUMENT_POSITION_FOLLOWING","range","createRange","setStart","setEnd","commonAncestorContainer","firstElementChild","element1root","getScroll","upperSide","arguments","undefined","html","scrollingElement","getBordersSize","styles","axis","sideA","sideB","getSize","computedStyle","max","getWindowSizes","height","width","classCallCheck","createClass","defineProperties","props","descriptor","enumerable","writable","protoProps","staticProps","_extends","assign","source","hasOwnProperty","getClientRect","offsets","right","bottom","result","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","getOffsetRectRelativeToArbitraryNode","fixedPosition","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","subtract","modifier","includeScroll","getFixedPositionOffsetParent","el","getBoundaries","popper","padding","boundariesElement","boundaries","excludeScroll","relativeOffset","innerWidth","innerHeight","getViewportOffsetRectRelativeToArtbitraryNode","boundariesNode","isFixed","_getWindowSizes","isPaddingNumber","computeAutoPlacement","placement","refRect","rects","sortedAreas","map","area","_ref","sort","a","b","filteredAreas","_ref2","computedPlacement","variation","getReferenceOffsets","state","getOuterSizes","x","marginBottom","y","marginRight","getOppositePlacement","hash","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","arr","check","Array","runModifiers","modifiers","ends","prop","findIndex","cur","console","warn","enabled","update","isDestroyed","arrowStyles","flipped","options","positionFixed","flip","originalPlacement","isCreated","onUpdate","onCreate","isModifierEnabled","modifierName","some","name","getSupportedPropertyName","prefixes","upperProp","toCheck","destroy","willChange","disableEventListeners","removeOnDestroy","getWindow","setupEventListeners","updateBound","passive","scrollElement","attachToScrollParents","callback","scrollParents","isBody","eventsEnabled","enableEventListeners","scheduleUpdate","cancelAnimationFrame","isNumeric","n","isNaN","isFinite","setStyles","unit","isFirefox","isModifierRequired","requestingName","requestedName","requesting","isRequired","_requesting","requested","placements","validPlacements","clockwise","counter","concat","reverse","BEHAVIORS","FLIP","CLOCKWISE","COUNTERCLOCKWISE","parseOffset","basePlacement","useHeight","fragments","frag","divider","search","splitRegex","ops","op","mergeWithPrevious","reduce","str","toValue","index2","Defaults","shift","shiftvariation","_data$offsets","isVertical","side","shiftOffsets","preventOverflow","transformProp","popperStyles","transform","priority","primary","escapeWithReference","secondary","min","keepTogether","floor","opSide","arrow","_data$offsets$arrow","arrowElement","sideCapitalized","altSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","round","placementOpposite","flipOrder","behavior","step","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","getOppositeVariation","inner","subtractLength","bound","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","shouldRound","noRound","v","referenceWidth","popperWidth","isVariation","horizontalToInteger","verticalToInteger","getRoundedOffsets","devicePixelRatio","prefixedProperty","invertTop","invertLeft","x-placement","applyStyle","onLoad","modifierOptions","Popper","requestAnimationFrame","Utils","global","PopperUtils","REGEXP_KEYDOWN","ARROW_UP_KEYCODE","CLICK","KEYDOWN_DATA_API","KEYUP_DATA_API","AttachmentMap","boundary","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","clearMenus","getParentFromElement","referenceElement","_getPopperConfig","stopPropagation","constructor","_getPlacement","parentDropdown","_getOffset","dropdownInterface","toggles","context","clickEvent","dropdownMenu","dataApiKeydownHandler","items","backdrop","HIDE_PREVENTED","FOCUSIN","RESIZE","CLICK_DISMISS","KEYDOWN_DISMISS","MOUSEUP_DISMISS","MOUSEDOWN_DISMISS","DIALOG","MODAL_BODY","DATA_DISMISS","FIXED_CONTENT","STICKY_CONTENT","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","showEvent","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","handleUpdate","modalBody","appendChild","_enforceFocus","transitionComplete","_this5","_triggerBackdropTransition","_this6","_this7","_resetAdjustments","_resetScrollbar","_removeBackdrop","_this8","animate","currentTarget","backdropTransitionDuration","callbackRemove","_this9","modalTransitionDuration","isModalOverflowing","scrollHeight","paddingLeft","paddingRight","_getScrollbarWidth","_this10","actualPadding","calculatedPadding","actualMargin","calculatedMargin","margin","scrollDiv","scrollbarWidth","_this11","uriAttrs","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attr","allowedAttributeList","attrName","nodeValue","regExp","attrRegex","l","DefaultWhitelist","*","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","sanitizeHtml","unsafeHtml","whiteList","sanitizeFn","createdDocument","DOMParser","parseFromString","whitelistKeys","elements","_loop","elName","attributeList","whitelistedAttributes","innerHTML","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","fallbackPlacement","sanitize","AUTO","TOP","RIGHT","BOTTOM","LEFT","HoverState","INSERTED","FOCUSOUT","Trigger","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","findShadowRoot","attachShadow","getRootNode","root","ShadowRoot","isInTheDom","tipId","setContent","attachment","_getAttachment","_addAttachmentClass","_getContainer","complete","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","innerText","textContent","_handlePopperPlacementChange","CLASS_PREFIX","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","tabClass","token","tClass","popperData","popperInstance","initConfigAnimation","Popover","_getContent","method","ACTIVATE","SCROLL","DROPDOWN_ITEM","DATA_SPY","NAV_LIST_GROUP","NAV_LINKS","NAV_ITEMS","LIST_ITEMS","DROPDOWN","DROPDOWN_TOGGLE","OffsetMethod","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targetSelector","targetBCR","item","pageYOffset","_getOffsetHeight","maxScroll","_activate","_clear","queries","link","join","listGroup","navItem","spy","Tab","listElement","itemSelector","hideEvent","active","_transitionComplete","dropdownChild","dropdown","autohide","Toast"],"mappings":"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","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => ({}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase())\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n const evt = document.createEvent('HTMLEvents')\n\n evt.initEvent(TRANSITION_END, true, true)\n element.dispatchEvent(evt)\n}\n\nconst isElement = obj => (obj[0] || obj).nodeType\n\nconst emulateTransitionEnd = (element, duration) => {\n let called = false\n const durationPadding = 5\n const emulatedDuration = duration + durationPadding\n function listener() {\n called = true\n element.removeEventListener(TRANSITION_END, listener)\n }\n\n element.addEventListener(TRANSITION_END, listener)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(element)\n }\n }, emulatedDuration)\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes)\n .forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst makeArray = nodeList => {\n if (!nodeList) {\n return []\n }\n\n return [].slice.call(nodeList)\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n const elementStyle = getComputedStyle(element)\n const parentNodeStyle = getComputedStyle(element.parentNode)\n\n return elementStyle.display !== 'none' &&\n parentNodeStyle.display !== 'none' &&\n elementStyle.visibility !== 'hidden'\n }\n\n return false\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n makeArray,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst mapData = (() => {\n const storeData = {}\n let id = 1\n return {\n set(element, key, data) {\n if (typeof element.key === 'undefined') {\n element.key = {\n key,\n id\n }\n id++\n }\n\n storeData[element.key.id] = data\n },\n get(element, key) {\n if (!element || typeof element.key === 'undefined') {\n return null\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.key === 'undefined') {\n return\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.key\n }\n }\n }\n})()\n\nconst Data = {\n setData(instance, key, data) {\n mapData.set(instance, key, data)\n },\n getData(instance, key) {\n return mapData.get(instance, key)\n },\n removeData(instance, key) {\n mapData.delete(instance, key)\n }\n}\n\nexport default Data\n","/* istanbul ignore file */\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/polyfill.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getUID } from '../util/index'\n\nlet { matches, closest } = Element.prototype\nlet find = Element.prototype.querySelectorAll\nlet findOne = Element.prototype.querySelector\nlet createCustomEvent = (eventName, params) => {\n const cEvent = new CustomEvent(eventName, params)\n\n return cEvent\n}\n\nif (typeof window.CustomEvent !== 'function') {\n createCustomEvent = (eventName, params) => {\n params = params || { bubbles: false, cancelable: false, detail: null }\n\n const evt = document.createEvent('CustomEvent')\n\n evt.initCustomEvent(eventName, params.bubbles, params.cancelable, params.detail)\n return evt\n }\n}\n\nconst workingDefaultPrevented = (() => {\n const e = document.createEvent('CustomEvent')\n\n e.initEvent('Bootstrap', true, true)\n e.preventDefault()\n return e.defaultPrevented\n})()\n\nif (!workingDefaultPrevented) {\n const origPreventDefault = Event.prototype.preventDefault\n\n Event.prototype.preventDefault = function () {\n if (!this.cancelable) {\n return\n }\n\n origPreventDefault.call(this)\n Object.defineProperty(this, 'defaultPrevented', {\n get() {\n return true\n },\n configurable: true\n })\n }\n}\n\n// MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached\nconst defaultPreventedPreservedOnDispatch = (() => {\n const e = createCustomEvent('Bootstrap', {\n cancelable: true\n })\n\n const element = document.createElement('div')\n element.addEventListener('Bootstrap', () => null)\n\n e.preventDefault()\n element.dispatchEvent(e)\n return e.defaultPrevented\n})()\n\nif (!matches) {\n matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector\n}\n\nif (!closest) {\n closest = function (selector) {\n let element = this\n\n do {\n if (matches.call(element, selector)) {\n return element\n }\n\n element = element.parentElement || element.parentNode\n } while (element !== null && element.nodeType === 1)\n\n return null\n }\n}\n\nconst scopeSelectorRegex = /:scope\\b/\nconst supportScopeQuery = (() => {\n const element = document.createElement('div')\n\n try {\n element.querySelectorAll(':scope *')\n } catch (_) {\n return false\n }\n\n return true\n})()\n\nif (!supportScopeQuery) {\n find = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelectorAll(selector)\n }\n\n const hasId = Boolean(this.id)\n\n if (!hasId) {\n this.id = getUID('scope')\n }\n\n let nodeList = null\n try {\n selector = selector.replace(scopeSelectorRegex, `#${this.id}`)\n nodeList = this.querySelectorAll(selector)\n } finally {\n if (!hasId) {\n this.removeAttribute('id')\n }\n }\n\n return nodeList\n }\n\n findOne = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelector(selector)\n }\n\n const matches = find.call(this, selector)\n\n if (typeof matches[0] !== 'undefined') {\n return matches[0]\n }\n\n return null\n }\n}\n\nexport {\n createCustomEvent,\n find,\n findOne,\n matches,\n closest,\n defaultPreventedPreservedOnDispatch\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\nimport { createCustomEvent, defaultPreventedPreservedOnDispatch } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst $ = getjQuery()\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst keyEventRegex = /^key/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\nconst nativeEvents = [\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n]\n\n/**\n * ------------------------------------------------------------------------\n * Private methods\n * ------------------------------------------------------------------------\n */\n\nfunction getUidEvent(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getEvent(element) {\n const uid = getUidEvent(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction fixEvent(event, element) {\n // Add which for key events\n if (event.which === null && keyEventRegex.test(event.type)) {\n event.which = event.charCode === null ? event.keyCode : event.charCode\n }\n\n event.delegateTarget = element\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n fixEvent(event, element)\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = target.parentNode) {\n for (let i = domElements.length; i--;) {\n if (domElements[i] === target) {\n fixEvent(event, target)\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n\n // To please ESLint\n return null\n }\n}\n\nfunction findHandler(events, handler, delegationSelector = null) {\n const uidEventList = Object.keys(events)\n\n for (let i = 0, len = uidEventList.length; i < len; i++) {\n const event = events[uidEventList[i]]\n\n if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\n return event\n }\n }\n\n return null\n}\n\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\n const delegation = typeof handler === 'string'\n const originalHandler = delegation ? delegationFn : handler\n\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n let typeEvent = originalTypeEvent.replace(stripNameRegex, '')\n const custom = customEvents[typeEvent]\n\n if (custom) {\n typeEvent = custom\n }\n\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n if (!isNative) {\n typeEvent = originalTypeEvent\n }\n\n return [delegation, originalHandler, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n if (!handler) {\n handler = delegationFn\n delegationFn = null\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const events = getEvent(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null)\n\n if (previousFn) {\n previousFn.oneOff = previousFn.oneOff && oneOff\n\n return\n }\n\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = delegation ?\n bootstrapDelegationHandler(element, handler, delegationFn) :\n bootstrapHandler(element, handler)\n\n fn.delegationSelector = delegation ? handler : null\n fn.originalHandler = originalHandler\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, delegation)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {}\n\n Object.keys(storeElementEvent)\n .forEach(handlerKey => {\n if (handlerKey.indexOf(namespace) > -1) {\n const event = storeElementEvent[handlerKey]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, false)\n },\n\n one(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFn) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getEvent(element)\n const isNamespace = originalTypeEvent.charAt(0) === '.'\n\n if (typeof originalHandler !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!events || !events[typeEvent]) {\n return\n }\n\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null)\n return\n }\n\n if (isNamespace) {\n Object.keys(events)\n .forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent)\n .forEach(keyHandlers => {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.indexOf(handlerKey) > -1) {\n const event = storeElementEvent[keyHandlers]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const typeEvent = event.replace(stripNameRegex, '')\n const inNamespace = event !== typeEvent\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n let jQueryEvent\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n let evt = null\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n if (isNative) {\n evt = document.createEvent('HTMLEvents')\n evt.initEvent(typeEvent, bubbles, true)\n } else {\n evt = createCustomEvent(event, {\n bubbles,\n cancelable: true\n })\n }\n\n // merge custom informations in our event\n if (typeof args !== 'undefined') {\n Object.keys(args)\n .forEach(key => {\n Object.defineProperty(evt, key, {\n get() {\n return args[key]\n }\n })\n })\n }\n\n if (defaultPrevented) {\n evt.preventDefault()\n\n if (!defaultPreventedPreservedOnDispatch) {\n Object.defineProperty(evt, 'defaultPrevented', {\n get: () => true\n })\n }\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { find as findFn, findOne, matches, closest } from './polyfill'\nimport { makeArray } from '../util/index'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n matches(element, selector) {\n return matches.call(element, selector)\n },\n\n find(selector, element = document.documentElement) {\n return findFn.call(element, selector)\n },\n\n findOne(selector, element = document.documentElement) {\n return findOne.call(element, selector)\n },\n\n children(element, selector) {\n const children = makeArray(element.children)\n\n return children.filter(child => this.matches(child, selector))\n },\n\n parents(element, selector) {\n const parents = []\n\n let ancestor = element.parentNode\n\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\n if (this.matches(ancestor, selector)) {\n parents.push(ancestor)\n }\n\n ancestor = ancestor.parentNode\n }\n\n return parents\n },\n\n closest(element, selector) {\n return closest.call(element, selector)\n },\n\n prev(element, selector) {\n const siblings = []\n\n let previous = element.previousSibling\n\n while (previous && previous.nodeType === Node.ELEMENT_NODE && previous.nodeType !== NODE_TEXT) {\n if (this.matches(previous, selector)) {\n siblings.push(previous)\n }\n\n previous = previous.previousSibling\n }\n\n return siblings\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Selector = {\n DISMISS: '[data-dismiss=\"alert\"]'\n}\n\nconst Event = {\n CLOSE: `close${EVENT_KEY}`,\n CLOSED: `closed${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n ALERT: 'alert',\n FADE: 'fade',\n SHOW: 'show'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n\n if (this._element) {\n Data.setData(element, DATA_KEY, this)\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent === null || customEvent.defaultPrevented) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n let parent = getElementFromSelector(element)\n\n if (!parent) {\n parent = SelectorEngine.closest(element, `.${ClassName.ALERT}`)\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n return EventHandler.trigger(element, Event.CLOSE)\n }\n\n _removeElement(element) {\n element.classList.remove(ClassName.SHOW)\n\n if (!element.classList.contains(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = getTransitionDurationFromElement(element)\n\n EventHandler\n .one(element, TRANSITION_END, () => this._destroyElement(element))\n emulateTransitionEnd(element, transitionDuration)\n }\n\n _destroyElement(element) {\n if (element.parentNode) {\n element.parentNode.removeChild(element)\n }\n\n EventHandler.trigger(element, Event.CLOSED)\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.DISMISS, Alert.handleDismiss(new Alert()))\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .alert to jQuery only if jQuery is present\n */\n\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Alert.jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert.jQueryInterface\n }\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ClassName = {\n ACTIVE: 'active',\n BUTTON: 'btn',\n FOCUS: 'focus'\n}\n\nconst Selector = {\n DATA_TOGGLE_CARROT: '[data-toggle^=\"button\"]',\n DATA_TOGGLE: '[data-toggle=\"buttons\"]',\n INPUT: 'input:not([type=\"hidden\"])',\n ACTIVE: '.active',\n BUTTON: '.btn'\n}\n\nconst Event = {\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_DATA_API: `focus${EVENT_KEY}${DATA_API_KEY}`,\n BLUR_DATA_API: `blur${EVENT_KEY}${DATA_API_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n\n const rootElement = SelectorEngine.closest(\n this._element,\n Selector.DATA_TOGGLE\n )\n\n if (rootElement) {\n const input = SelectorEngine.findOne(Selector.INPUT, this._element)\n\n if (input && input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = SelectorEngine.findOne(Selector.ACTIVE, rootElement)\n\n if (activeElement) {\n activeElement.classList.remove(ClassName.ACTIVE)\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains('disabled') ||\n rootElement.classList.contains('disabled')) {\n return\n }\n\n input.checked = !this._element.classList.contains(ClassName.ACTIVE)\n EventHandler.trigger(input, 'change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n this._element.classList.toggle(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n event.preventDefault()\n\n let button = event.target\n if (!button.classList.contains(ClassName.BUTTON)) {\n button = SelectorEngine.closest(button, Selector.BUTTON)\n }\n\n let data = Data.getData(button, DATA_KEY)\n if (!data) {\n data = new Button(button)\n }\n\n data.toggle()\n})\n\nEventHandler.on(document, Event.FOCUS_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n const button = SelectorEngine.closest(event.target, Selector.BUTTON)\n\n if (button) {\n button.classList.add(ClassName.FOCUS)\n }\n})\n\nEventHandler.on(document, Event.BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n const button = SelectorEngine.closest(event.target, Selector.BUTTON)\n\n if (button) {\n button.classList.remove(ClassName.FOCUS)\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .button to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Button.jQueryInterface\n $.fn[NAME].Constructor = Button\n\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button.jQueryInterface\n }\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(val) {\n if (val === 'true') {\n return true\n }\n\n if (val === 'false') {\n return false\n }\n\n if (val === Number(val).toString()) {\n return Number(val)\n }\n\n if (val === '' || val === 'null') {\n return null\n }\n\n return val\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {\n ...element.dataset\n }\n\n Object.keys(attributes).forEach(key => {\n attributes[key] = normalizeData(attributes[key])\n })\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-${normalizeDataKey(key)}`))\n },\n\n offset(element) {\n const rect = element.getBoundingClientRect()\n\n return {\n top: rect.top + document.body.scrollTop,\n left: rect.left + document.body.scrollLeft\n }\n },\n\n position(element) {\n return {\n top: element.offsetTop,\n left: element.offsetLeft\n }\n },\n\n toggleClass(element, className) {\n if (!element) {\n return\n }\n\n if (element.classList.contains(className)) {\n element.classList.remove(className)\n } else {\n element.classList.add(className)\n }\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n makeArray,\n reflow,\n triggerTransitionEnd,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n}\n\nconst Direction = {\n NEXT: 'next',\n PREV: 'prev',\n LEFT: 'left',\n RIGHT: 'right'\n}\n\nconst Event = {\n SLIDE: `slide${EVENT_KEY}`,\n SLID: `slid${EVENT_KEY}`,\n KEYDOWN: `keydown${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`,\n TOUCHSTART: `touchstart${EVENT_KEY}`,\n TOUCHMOVE: `touchmove${EVENT_KEY}`,\n TOUCHEND: `touchend${EVENT_KEY}`,\n POINTERDOWN: `pointerdown${EVENT_KEY}`,\n POINTERUP: `pointerup${EVENT_KEY}`,\n DRAG_START: `dragstart${EVENT_KEY}`,\n LOAD_DATA_API: `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n CAROUSEL: 'carousel',\n ACTIVE: 'active',\n SLIDE: 'slide',\n RIGHT: 'carousel-item-right',\n LEFT: 'carousel-item-left',\n NEXT: 'carousel-item-next',\n PREV: 'carousel-item-prev',\n ITEM: 'carousel-item',\n POINTER_EVENT: 'pointer-event'\n}\n\nconst Selector = {\n ACTIVE: '.active',\n ACTIVE_ITEM: '.active.carousel-item',\n ITEM: '.carousel-item',\n ITEM_IMG: '.carousel-item img',\n NEXT_PREV: '.carousel-item-next, .carousel-item-prev',\n INDICATORS: '.carousel-indicators',\n DATA_SLIDE: '[data-slide], [data-slide-to]',\n DATA_RIDE: '[data-ride=\"carousel\"]'\n}\n\nconst PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = SelectorEngine.findOne(Selector.INDICATORS, this._element)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (SelectorEngine.findOne(Selector.NEXT_PREV, this._element)) {\n triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config && this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element)\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex ?\n Direction.NEXT :\n Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n Data.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler\n .on(this._element, Event.KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler\n .on(this._element, Event.MOUSEENTER, event => this.pause(event))\n EventHandler\n .on(this._element, Event.MOUSELEAVE, event => this.cycle(event))\n }\n\n if (this._config.touch && this._touchSupported) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n const start = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchStartX = event.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.touches[0].clientX\n }\n }\n\n const move = event => {\n // ensure swiping with one touch and not pinching\n if (event.touches && event.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n\n this.touchTimeout = setTimeout(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n makeArray(SelectorEngine.find(Selector.ITEM_IMG, this._element)).forEach(itemImg => {\n EventHandler.on(itemImg, Event.DRAG_START, e => e.preventDefault())\n })\n\n if (this._pointerEvent) {\n EventHandler.on(this._element, Event.POINTERDOWN, event => start(event))\n EventHandler.on(this._element, Event.POINTERUP, event => end(event))\n\n this._element.classList.add(ClassName.POINTER_EVENT)\n } else {\n EventHandler.on(this._element, Event.TOUCHSTART, event => start(event))\n EventHandler.on(this._element, Event.TOUCHMOVE, event => move(event))\n EventHandler.on(this._element, Event.TOUCHEND, event => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode ?\n makeArray(SelectorEngine.find(Selector.ITEM, element.parentNode)) :\n []\n\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = (isPrevDirection && activeIndex === 0) ||\n (isNextDirection && activeIndex === lastItemIndex)\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] :\n this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element))\n\n return EventHandler.trigger(this._element, Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = SelectorEngine.find(Selector.ACTIVE, this._indicatorsElement)\n for (let i = 0; i < indicators.length; i++) {\n indicators[i].classList.remove(ClassName.ACTIVE)\n }\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n nextIndicator.classList.add(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || (activeElement &&\n this._getItemByDirection(direction, activeElement))\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && nextElement.classList.contains(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.defaultPrevented) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n if (this._element.classList.contains(ClassName.SLIDE)) {\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = getTransitionDurationFromElement(activeElement)\n\n EventHandler\n .one(activeElement, TRANSITION_END, () => {\n nextElement.classList.remove(directionalClassName)\n nextElement.classList.remove(orderClassName)\n nextElement.classList.add(ClassName.ACTIVE)\n\n activeElement.classList.remove(ClassName.ACTIVE)\n activeElement.classList.remove(orderClassName)\n activeElement.classList.remove(directionalClassName)\n\n this._isSliding = false\n\n setTimeout(() => {\n EventHandler.trigger(this._element, Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }, 0)\n })\n\n emulateTransitionEnd(activeElement, transitionDuration)\n } else {\n activeElement.classList.remove(ClassName.ACTIVE)\n nextElement.classList.add(ClassName.ACTIVE)\n\n this._isSliding = false\n EventHandler.trigger(this._element, Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static carouselInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n let _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element)\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(element, _config)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Carousel.carouselInterface(this, config)\n })\n }\n\n static dataApiClickHandler(event) {\n const target = getElementFromSelector(this)\n\n if (!target || !target.classList.contains(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel.carouselInterface(target, config)\n\n if (slideIndex) {\n Data.getData(target, DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel.dataApiClickHandler)\n\nEventHandler.on(window, Event.LOAD_DATA_API, () => {\n const carousels = makeArray(SelectorEngine.find(Selector.DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n Carousel.carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY))\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .carousel to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Carousel.jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel.jQueryInterface\n }\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isElement,\n makeArray,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n toggle: true,\n parent: ''\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(string|element)'\n}\n\nconst Event = {\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SHOW: 'show',\n COLLAPSE: 'collapse',\n COLLAPSING: 'collapsing',\n COLLAPSED: 'collapsed'\n}\n\nconst Dimension = {\n WIDTH: 'width',\n HEIGHT: 'height'\n}\n\nconst Selector = {\n ACTIVES: '.show, .collapsing',\n DATA_TOGGLE: '[data-toggle=\"collapse\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = makeArray(SelectorEngine.find(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n\n const toggleList = makeArray(SelectorEngine.find(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = getSelectorFromElement(elem)\n const filterElement = makeArray(SelectorEngine.find(selector))\n .filter(foundElem => foundElem === element)\n\n if (selector !== null && filterElement.length) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if (this._element.classList.contains(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = makeArray(SelectorEngine.find(Selector.ACTIVES, this._parent))\n .filter(elem => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(ClassName.COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n const container = SelectorEngine.findOne(this._selector)\n if (actives) {\n const tempActiveData = actives.filter(elem => container !== elem)\n activesData = tempActiveData[0] ? Data.getData(tempActiveData[0], DATA_KEY) : null\n\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = EventHandler.trigger(this._element, Event.SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n if (actives) {\n actives.forEach(elemActive => {\n if (container !== elemActive) {\n Collapse.collapseInterface(elemActive, 'hide')\n }\n\n if (!activesData) {\n Data.setData(elemActive, DATA_KEY, null)\n }\n })\n }\n\n const dimension = this._getDimension()\n\n this._element.classList.remove(ClassName.COLLAPSE)\n this._element.classList.add(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n this._triggerArray.forEach(element => {\n element.classList.remove(ClassName.COLLAPSED)\n element.setAttribute('aria-expanded', true)\n })\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this._element.classList.remove(ClassName.COLLAPSING)\n this._element.classList.add(ClassName.COLLAPSE)\n this._element.classList.add(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n EventHandler.trigger(this._element, Event.SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n\n emulateTransitionEnd(this._element, transitionDuration)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, Event.HIDE)\n if (startEvent.defaultPrevented) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n reflow(this._element)\n\n this._element.classList.add(ClassName.COLLAPSING)\n this._element.classList.remove(ClassName.COLLAPSE)\n this._element.classList.remove(ClassName.SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const elem = getElementFromSelector(trigger)\n\n if (elem && !elem.classList.contains(ClassName.SHOW)) {\n trigger.classList.add(ClassName.COLLAPSED)\n trigger.setAttribute('aria-expanded', false)\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n this._element.classList.remove(ClassName.COLLAPSING)\n this._element.classList.add(ClassName.COLLAPSE)\n EventHandler.trigger(this._element, Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = this._element.classList.contains(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let { parent } = this._config\n\n if (isElement(parent)) {\n // it's a jQuery object\n if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {\n parent = parent[0]\n }\n } else {\n parent = SelectorEngine.findOne(parent)\n }\n\n const selector = `[data-toggle=\"collapse\"][data-parent=\"${parent}\"]`\n\n makeArray(SelectorEngine.find(selector, parent))\n .forEach(element => {\n const selected = getElementFromSelector(element)\n\n this._addAriaAndCollapsedClass(\n selected,\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (element) {\n const isOpen = element.classList.contains(ClassName.SHOW)\n\n if (triggerArray.length) {\n triggerArray.forEach(elem => {\n if (isOpen) {\n elem.classList.remove(ClassName.COLLAPSED)\n } else {\n elem.classList.add(ClassName.COLLAPSED)\n }\n\n elem.setAttribute('aria-expanded', isOpen)\n })\n }\n }\n }\n\n // Static\n\n static collapseInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Collapse.collapseInterface(this, config)\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A') {\n event.preventDefault()\n }\n\n const triggerData = Manipulator.getDataAttributes(this)\n const selector = getSelectorFromElement(this)\n const selectorElements = makeArray(SelectorEngine.find(selector))\n\n selectorElements.forEach(element => {\n const data = Data.getData(element, DATA_KEY)\n let config\n if (data) {\n // update parent attribute\n if (data._parent === null && typeof triggerData.parent === 'string') {\n data._config.parent = triggerData.parent\n data._parent = data._getParent()\n }\n\n config = 'toggle'\n } else {\n config = triggerData\n }\n\n Collapse.collapseInterface(element, config)\n })\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .collapse to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Collapse.jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse.jQueryInterface\n }\n}\n\nexport default Collapse\n","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.16.0\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n\nvar timeoutDuration = function () {\n var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}();\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nfunction getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.width;\n var height = sizes.height || element.clientHeight || result.height;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop, 10);\n var marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n var parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is <html> the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n // flips variation if popper content overflows boundaries\n var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n\n var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.<br />\n * It will read the variation of the `placement` property.<br />\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.<br />\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.<br />\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.<br />\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.<br />\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overridden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getElementFromSelector,\n isElement,\n isVisible,\n makeArray,\n noop,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API: `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API: `keyup${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DISABLED: 'disabled',\n SHOW: 'show',\n DROPUP: 'dropup',\n DROPRIGHT: 'dropright',\n DROPLEFT: 'dropleft',\n MENURIGHT: 'dropdown-menu-right',\n POSITION_STATIC: 'position-static'\n}\n\nconst Selector = {\n DATA_TOGGLE: '[data-toggle=\"dropdown\"]',\n FORM_CHILD: '.dropdown form',\n MENU: '.dropdown-menu',\n NAVBAR_NAV: '.navbar-nav',\n VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n}\n\nconst AttachmentMap = {\n TOP: 'top-start',\n TOPEND: 'top-end',\n BOTTOM: 'bottom-start',\n BOTTOMEND: 'bottom-end',\n RIGHT: 'right-start',\n RIGHTEND: 'right-end',\n LEFT: 'left-start',\n LEFTEND: 'left-end'\n}\n\nconst Default = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n const isActive = this._menu.classList.contains(ClassName.SHOW)\n\n Dropdown.clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show()\n }\n\n show() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED) || this._menu.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const showEvent = EventHandler.trigger(parent, Event.SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n parent.classList.add(ClassName.POSITION_STATIC)\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n !makeArray(SelectorEngine.closest(parent, Selector.NAVBAR_NAV)).length) {\n makeArray(document.body.children)\n .forEach(elem => EventHandler.on(elem, 'mouseover', null, noop()))\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n Manipulator.toggleClass(this._menu, ClassName.SHOW)\n Manipulator.toggleClass(parent, ClassName.SHOW)\n EventHandler.trigger(parent, Event.SHOWN, relatedTarget)\n }\n\n hide() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED) || !this._menu.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const hideEvent = EventHandler.trigger(parent, Event.HIDE, relatedTarget)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n Manipulator.toggleClass(this._menu, ClassName.SHOW)\n Manipulator.toggleClass(parent, ClassName.SHOW)\n EventHandler.trigger(parent, Event.HIDDEN, relatedTarget)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._element, EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n EventHandler.on(this._element, Event.CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n const parent = Dropdown.getParentFromElement(this._element)\n\n return SelectorEngine.findOne(Selector.MENU, parent)\n }\n\n _getPlacement() {\n const parentDropdown = this._element.parentNode\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if (parentDropdown.classList.contains(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if (this._menu.classList.contains(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if (parentDropdown.classList.contains(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if (parentDropdown.classList.contains(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if (this._menu.classList.contains(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n\n return placement\n }\n\n _detectNavbar() {\n return Boolean(SelectorEngine.closest(this._element, '.navbar'))\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets, this._element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static dropdownInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Dropdown.dropdownInterface(this, config)\n })\n }\n\n static clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n (event.type === 'keyup' && event.which !== TAB_KEYCODE))) {\n return\n }\n\n const toggles = makeArray(SelectorEngine.find(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown.getParentFromElement(toggles[i])\n const context = Data.getData(toggles[i], DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!parent.classList.contains(ClassName.SHOW)) {\n continue\n }\n\n if (event && ((event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName)) ||\n (event.type === 'keyup' && event.which === TAB_KEYCODE)) &&\n parent.contains(event.target)) {\n continue\n }\n\n const hideEvent = EventHandler.trigger(parent, Event.HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children)\n .forEach(elem => EventHandler.off(elem, 'mouseover', null, noop()))\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n dropdownMenu.classList.remove(ClassName.SHOW)\n parent.classList.remove(ClassName.SHOW)\n EventHandler.trigger(parent, Event.HIDDEN, relatedTarget)\n }\n }\n\n static getParentFromElement(element) {\n return getElementFromSelector(element) || element.parentNode\n }\n\n static dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ?\n event.which === SPACE_KEYCODE || (event.which !== ESCAPE_KEYCODE &&\n ((event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE) ||\n SelectorEngine.closest(event.target, Selector.MENU))) :\n !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || this.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this)\n const isActive = parent.classList.contains(ClassName.SHOW)\n\n if (!isActive || (isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE))) {\n if (event.which === ESCAPE_KEYCODE) {\n SelectorEngine.findOne(Selector.DATA_TOGGLE, parent).focus()\n }\n\n Dropdown.clearMenus()\n return\n }\n\n const items = makeArray(SelectorEngine.find(Selector.VISIBLE_ITEMS, parent))\n .filter(isVisible)\n\n if (!items.length) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, Event.CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, Event.KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown.dropdownInterface(this, 'toggle')\n})\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.FORM_CHILD, e => e.stopPropagation())\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .dropdown to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Dropdown.jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown.jQueryInterface\n }\n}\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n makeArray,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: 'boolean'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDE_PREVENTED: `hidePrevented${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n RESIZE: `resize${EVENT_KEY}`,\n CLICK_DISMISS: `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS: `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS: `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS: `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SCROLLABLE: 'modal-dialog-scrollable',\n SCROLLBAR_MEASURER: 'modal-scrollbar-measure',\n BACKDROP: 'modal-backdrop',\n OPEN: 'modal-open',\n FADE: 'fade',\n SHOW: 'show',\n STATIC: 'modal-static'\n}\n\nconst Selector = {\n DIALOG: '.modal-dialog',\n MODAL_BODY: '.modal-body',\n DATA_TOGGLE: '[data-toggle=\"modal\"]',\n DATA_DISMISS: '[data-dismiss=\"modal\"]',\n FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT: '.sticky-top'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = SelectorEngine.findOne(Selector.DIALOG, element)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if (this._element.classList.contains(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = EventHandler.trigger(this._element, Event.SHOW, {\n relatedTarget\n })\n\n if (this._isShown || showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.on(this._element,\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n event => this.hide(event)\n )\n\n EventHandler.on(this._dialog, Event.MOUSEDOWN_DISMISS, () => {\n EventHandler.one(this._element, Event.MOUSEUP_DISMISS, event => {\n if (event.target === this._element) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, Event.HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n const transition = this._element.classList.contains(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.off(document, Event.FOCUSIN)\n\n this._element.classList.remove(ClassName.SHOW)\n\n EventHandler.off(this._element, Event.CLICK_DISMISS)\n EventHandler.off(this._dialog, Event.MOUSEDOWN_DISMISS)\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, event => this._hideModal(event))\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\n\n /**\n * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `Event.CLICK_DATA_API` event that should remain\n */\n EventHandler.off(document, Event.FOCUSIN)\n\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = this._element.classList.contains(ClassName.FADE)\n const modalBody = SelectorEngine.findOne(Selector.MODAL_BODY, this._dialog)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n\n if (this._dialog.classList.contains(ClassName.SCROLLABLE) && modalBody) {\n modalBody.scrollTop = 0\n } else {\n this._element.scrollTop = 0\n }\n\n if (transition) {\n reflow(this._element)\n }\n\n this._element.classList.add(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, Event.SHOWN, {\n relatedTarget\n })\n }\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._dialog)\n\n EventHandler.one(this._dialog, TRANSITION_END, transitionComplete)\n emulateTransitionEnd(this._dialog, transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n EventHandler.off(document, Event.FOCUSIN) // guard against infinite focus loop\n EventHandler.on(document, Event.FOCUSIN, event => {\n if (document !== event.target &&\n this._element !== event.target &&\n !this._element.contains(event.target)) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n EventHandler.on(this._element, Event.KEYDOWN_DISMISS, event => {\n if (event.which === ESCAPE_KEYCODE) {\n this._triggerBackdropTransition()\n }\n })\n } else {\n EventHandler.off(this._element, Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n EventHandler.on(window, Event.RESIZE, () => this._adjustDialog())\n } else {\n EventHandler.off(window, Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._isTransitioning = false\n this._showBackdrop(() => {\n document.body.classList.remove(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n EventHandler.trigger(this._element, Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n this._backdrop.parentNode.removeChild(this._backdrop)\n this._backdrop = null\n }\n\n _showBackdrop(callback) {\n const animate = this._element.classList.contains(ClassName.FADE) ?\n ClassName.FADE :\n ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n document.body.appendChild(this._backdrop)\n\n EventHandler.on(this._element, Event.CLICK_DISMISS, event => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n\n if (event.target !== event.currentTarget) {\n return\n }\n\n this._triggerBackdropTransition()\n })\n\n if (animate) {\n reflow(this._backdrop)\n }\n\n this._backdrop.classList.add(ClassName.SHOW)\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n\n EventHandler.one(this._backdrop, TRANSITION_END, callback)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n this._backdrop.classList.remove(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n callback()\n }\n\n if (this._element.classList.contains(ClassName.FADE)) {\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else {\n callback()\n }\n }\n\n _triggerBackdropTransition() {\n if (this._config.backdrop === 'static') {\n const hideEvent = EventHandler.trigger(this._element, Event.HIDE_PREVENTED)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._element.classList.add(ClassName.STATIC)\n const modalTransitionDuration = getTransitionDurationFromElement(this._element)\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.classList.remove(ClassName.STATIC)\n })\n emulateTransitionEnd(this._element, modalTransitionDuration)\n this._element.focus()\n } else {\n this.hide()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n makeArray(SelectorEngine.find(Selector.FIXED_CONTENT))\n .forEach(element => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = window.getComputedStyle(element)['padding-right']\n Manipulator.setDataAttribute(element, 'padding-right', actualPadding)\n element.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n })\n\n // Adjust sticky content margin\n makeArray(SelectorEngine.find(Selector.STICKY_CONTENT))\n .forEach(element => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = window.getComputedStyle(element)['margin-right']\n Manipulator.setDataAttribute(element, 'margin-right', actualMargin)\n element.style.marginRight = `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = window.getComputedStyle(document.body)['padding-right']\n\n Manipulator.setDataAttribute(document.body, 'padding-right', actualPadding)\n document.body.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n }\n\n document.body.classList.add(ClassName.OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n makeArray(SelectorEngine.find(Selector.FIXED_CONTENT))\n .forEach(element => {\n const padding = Manipulator.getDataAttribute(element, 'padding-right')\n if (typeof padding !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'padding-right')\n element.style.paddingRight = padding\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n makeArray(SelectorEngine.find(`${Selector.STICKY_CONTENT}`))\n .forEach(element => {\n const margin = Manipulator.getDataAttribute(element, 'margin-right')\n if (typeof margin !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'margin-right')\n element.style.marginRight = margin\n }\n })\n\n // Restore body padding\n const padding = Manipulator.getDataAttribute(document.body, 'padding-right')\n if (typeof padding === 'undefined') {\n document.body.style.paddingRight = ''\n } else {\n Manipulator.removeDataAttribute(document.body, 'padding-right')\n document.body.style.paddingRight = padding\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(this),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n EventHandler.one(target, Event.SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, Event.HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n let data = Data.getData(target, DATA_KEY)\n if (!data) {\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n\n data = new Modal(target, config)\n }\n\n data.show(this)\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .modal to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Modal.jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal.jQueryInterface\n }\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { makeArray } from './index'\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i\n\nconst allowedAttribute = (attr, allowedAttributeList) => {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter(attrRegex => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, l = regExp.length; i < l; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\n\nexport const DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\nexport function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const whitelistKeys = Object.keys(whiteList)\n const elements = makeArray(createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (whitelistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = makeArray(el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n findShadowRoot,\n getTransitionDurationFromElement,\n getUID,\n isElement,\n makeArray,\n noop,\n typeCheckConfig\n} from './util/index'\nimport {\n DefaultWhitelist,\n sanitizeHtml\n} from './util/sanitizer'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']\n\nconst DefaultType = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n whiteList: 'object',\n popperConfig: '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n}\n\nconst Default = {\n animation: true,\n template: '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"tooltip-arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\n sanitize: true,\n sanitizeFn: null,\n whiteList: DefaultWhitelist,\n popperConfig: null\n}\n\nconst HoverState = {\n SHOW: 'show',\n OUT: 'out'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n TOOLTIP_INNER: '.tooltip-inner'\n}\n\nconst Trigger = {\n HOVER: 'hover',\n FOCUS: 'focus',\n CLICK: 'click',\n MANUAL: 'manual'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n Data.setData(element, this.constructor.DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if (this.getTipElement().classList.contains(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n Data.removeData(this.element, this.constructor.DATA_KEY)\n\n EventHandler.off(this.element, this.constructor.EVENT_KEY)\n EventHandler.off(SelectorEngine.closest(this.element, '.modal'), 'hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n this.tip.parentNode.removeChild(this.tip)\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if (this.element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (this.isWithContent() && this._isEnabled) {\n const showEvent = EventHandler.trigger(this.element, this.constructor.Event.SHOW)\n const shadowRoot = findShadowRoot(this.element)\n const isInTheDom = shadowRoot === null ?\n this.element.ownerDocument.documentElement.contains(this.element) :\n shadowRoot.contains(this.element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n tip.classList.add(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function' ?\n this.config.placement.call(this, tip, this.element) :\n this.config.placement\n\n const attachment = this._getAttachment(placement)\n this._addAttachmentClass(attachment)\n\n const container = this._getContainer()\n Data.setData(tip, this.constructor.DATA_KEY, this)\n\n if (!this.element.ownerDocument.documentElement.contains(this.tip)) {\n container.appendChild(tip)\n }\n\n EventHandler.trigger(this.element, this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\n\n tip.classList.add(ClassName.SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children).forEach(element => {\n EventHandler.on(element, 'mouseover', noop())\n })\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n EventHandler.trigger(this.element, this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if (this.tip.classList.contains(ClassName.FADE)) {\n const transitionDuration = getTransitionDurationFromElement(this.tip)\n EventHandler.one(this.tip, TRANSITION_END, complete)\n emulateTransitionEnd(this.tip, transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide() {\n const tip = this.getTipElement()\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n EventHandler.trigger(this.element, this.constructor.Event.HIDDEN)\n this._popper.destroy()\n }\n\n const hideEvent = EventHandler.trigger(this.element, this.constructor.Event.HIDE)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n tip.classList.remove(ClassName.SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children)\n .forEach(element => EventHandler.off(element, 'mouseover', noop))\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if (this.tip.classList.contains(ClassName.FADE)) {\n const transitionDuration = getTransitionDurationFromElement(tip)\n\n EventHandler.one(tip, TRANSITION_END, complete)\n emulateTransitionEnd(tip, transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n getTipElement() {\n if (this.tip) {\n return this.tip\n }\n\n const element = document.createElement('div')\n element.innerHTML = this.config.template\n\n this.tip = element.children[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent(SelectorEngine.findOne(Selector.TOOLTIP_INNER, tip), this.getTitle())\n tip.classList.remove(ClassName.FADE)\n tip.classList.remove(ClassName.SHOW)\n }\n\n setElementContent(element, content) {\n if (element === null) {\n return\n }\n\n if (typeof content === 'object' && isElement(content)) {\n if (content.jquery) {\n content = content[0]\n }\n\n // content is a DOM node or a jQuery\n if (this.config.html) {\n if (content.parentNode !== element) {\n element.innerHTML = ''\n element.appendChild(content)\n }\n } else {\n element.innerText = content.textContent\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn)\n }\n\n element.innerHTML = content\n } else {\n element.innerText = content\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function' ?\n this.config.title.call(this.element) :\n this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: `.${this.constructor.NAME}-arrow`\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: data => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: data => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...this.config.offset(data.offsets, this.element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (isElement(this.config.container)) {\n return this.config.container\n }\n\n return SelectorEngine.findOne(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach(trigger => {\n if (trigger === 'click') {\n EventHandler.on(this.element,\n this.constructor.Event.CLICK,\n this.config.selector,\n event => this.toggle(event)\n )\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n EventHandler.on(this.element,\n eventIn,\n this.config.selector,\n event => this._enter(event)\n )\n EventHandler.on(this.element,\n eventOut,\n this.config.selector,\n event => this._leave(event)\n )\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n EventHandler.on(SelectorEngine.closest(this.element, '.modal'),\n 'hide.bs.modal',\n this._hideModalHandler\n )\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if (context.getTipElement().classList.contains(ClassName.SHOW) ||\n context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this.element)\n\n Object.keys(dataAttributes)\n .forEach(dataAttr => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n if (config && typeof config.container === 'object' && config.container.jquery) {\n config.container = config.container[0]\n }\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length) {\n tabClass\n .map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n const popperInstance = popperData.instance\n this.tip = popperInstance.popper\n this._cleanTipClass()\n this._addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n tip.classList.remove(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tooltip to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tooltip.jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip.jQueryInterface\n }\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport SelectorEngine from './dom/selector-engine'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement: 'right',\n trigger: 'click',\n content: '',\n template: '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"popover-arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(string|element|function)'\n}\n\nconst ClassName = {\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n TITLE: '.popover-header',\n CONTENT: '.popover-body'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n setContent() {\n const tip = this.getTipElement()\n\n // we use append for html objects to maintain js events\n this.setElementContent(SelectorEngine.findOne(Selector.TITLE, tip), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n\n this.setElementContent(SelectorEngine.findOne(Selector.CONTENT, tip), content)\n\n tip.classList.remove(ClassName.FADE)\n tip.classList.remove(ClassName.SHOW)\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n Data.setData(this, DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Popover.jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover.jQueryInterface\n }\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getSelectorFromElement,\n getUID,\n makeArray,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n offset: 10,\n method: 'auto',\n target: ''\n}\n\nconst DefaultType = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n}\n\nconst Event = {\n ACTIVATE: `activate${EVENT_KEY}`,\n SCROLL: `scroll${EVENT_KEY}`,\n LOAD_DATA_API: `load${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_ITEM: 'dropdown-item',\n ACTIVE: 'active'\n}\n\nconst Selector = {\n DATA_SPY: '[data-spy=\"scroll\"]',\n NAV_LIST_GROUP: '.nav, .list-group',\n NAV_LINKS: '.nav-link',\n NAV_ITEMS: '.nav-item',\n LIST_ITEMS: '.list-group-item',\n DROPDOWN: '.dropdown',\n DROPDOWN_TOGGLE: '.dropdown-toggle'\n}\n\nconst OffsetMethod = {\n OFFSET: 'offset',\n POSITION: 'position'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +\n `${this._config.target} ${Selector.LIST_ITEMS},` +\n `${this._config.target} .${ClassName.DROPDOWN_ITEM}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n EventHandler.on(this._scrollElement, Event.SCROLL, event => this._process(event))\n\n this.refresh()\n this._process()\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window ?\n OffsetMethod.OFFSET :\n OffsetMethod.POSITION\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod :\n this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION ?\n this._getScrollTop() :\n 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = makeArray(SelectorEngine.find(this._selector))\n\n targets\n .map(element => {\n let target\n const targetSelector = getSelectorFromElement(element)\n\n if (targetSelector) {\n target = SelectorEngine.findOne(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n return [\n Manipulator[offsetMethod](target).top + offsetBase,\n targetSelector\n ]\n }\n }\n\n return null\n })\n .filter(item => item)\n .sort((a, b) => a[0] - b[0])\n .forEach(item => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._scrollElement, EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.target !== 'string') {\n let { id } = config.target\n if (!id) {\n id = getUID(NAME)\n config.target.id = id\n }\n\n config.target = `#${id}`\n }\n\n typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset :\n this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight :\n this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n const offsetLength = this._offsets.length\n for (let i = offsetLength; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector.split(',')\n .map(selector => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const link = SelectorEngine.findOne(queries.join(','))\n\n if (link.classList.contains(ClassName.DROPDOWN_ITEM)) {\n SelectorEngine\n .findOne(Selector.DROPDOWN_TOGGLE, SelectorEngine.closest(link, Selector.DROPDOWN))\n .classList.add(ClassName.ACTIVE)\n\n link.classList.add(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n link.classList.add(ClassName.ACTIVE)\n\n SelectorEngine\n .parents(link, Selector.NAV_LIST_GROUP)\n .forEach(listGroup => {\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n SelectorEngine.prev(listGroup, `${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`)\n .forEach(item => item.classList.add(ClassName.ACTIVE))\n\n // Handle special case when .nav-link is inside .nav-item\n SelectorEngine.prev(listGroup, Selector.NAV_ITEMS)\n .forEach(navItem => {\n SelectorEngine.children(navItem, Selector.NAV_LINKS)\n .forEach(item => item.classList.add(ClassName.ACTIVE))\n })\n })\n }\n\n EventHandler.trigger(this._scrollElement, Event.ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n makeArray(SelectorEngine.find(this._selector))\n .filter(node => node.classList.contains(ClassName.ACTIVE))\n .forEach(node => node.classList.remove(ClassName.ACTIVE))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(window, Event.LOAD_DATA_API, () => {\n makeArray(SelectorEngine.find(Selector.DATA_SPY))\n .forEach(spy => new ScrollSpy(spy, Manipulator.getDataAttributes(spy)))\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = ScrollSpy.jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy.jQueryInterface\n }\n}\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n makeArray,\n reflow\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_MENU: 'dropdown-menu',\n ACTIVE: 'active',\n DISABLED: 'disabled',\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n DROPDOWN: '.dropdown',\n NAV_LIST_GROUP: '.nav, .list-group',\n ACTIVE: '.active',\n ACTIVE_UL: ':scope > li > .active',\n DATA_TOGGLE: '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n DROPDOWN_TOGGLE: '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD: ':scope > .dropdown-menu .active'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n\n Data.setData(this._element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if ((this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n this._element.classList.contains(ClassName.ACTIVE)) ||\n this._element.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n let previous\n const target = getElementFromSelector(this._element)\n const listElement = SelectorEngine.closest(this._element, Selector.NAV_LIST_GROUP)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n previous = makeArray(SelectorEngine.find(itemSelector, listElement))\n previous = previous[previous.length - 1]\n }\n\n let hideEvent = null\n\n if (previous) {\n hideEvent = EventHandler.trigger(previous, Event.HIDE, {\n relatedTarget: this._element\n })\n }\n\n const showEvent = EventHandler.trigger(this._element, Event.SHOW, {\n relatedTarget: previous\n })\n\n if (showEvent.defaultPrevented ||\n (hideEvent !== null && hideEvent.defaultPrevented)) {\n return\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n EventHandler.trigger(previous, Event.HIDDEN, {\n relatedTarget: this._element\n })\n EventHandler.trigger(this._element, Event.SHOWN, {\n relatedTarget: previous\n })\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ?\n SelectorEngine.find(Selector.ACTIVE_UL, container) :\n SelectorEngine.children(container, Selector.ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n (active && active.classList.contains(ClassName.FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = getTransitionDurationFromElement(active)\n active.classList.remove(ClassName.SHOW)\n\n EventHandler.one(active, TRANSITION_END, complete)\n emulateTransitionEnd(active, transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n active.classList.remove(ClassName.ACTIVE)\n\n const dropdownChild = SelectorEngine.findOne(Selector.DROPDOWN_ACTIVE_CHILD, active.parentNode)\n\n if (dropdownChild) {\n dropdownChild.classList.remove(ClassName.ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n element.classList.add(ClassName.ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n reflow(element)\n\n if (element.classList.contains(ClassName.FADE)) {\n element.classList.add(ClassName.SHOW)\n }\n\n if (element.parentNode && element.parentNode.classList.contains(ClassName.DROPDOWN_MENU)) {\n const dropdownElement = SelectorEngine.closest(element, Selector.DROPDOWN)\n\n if (dropdownElement) {\n makeArray(SelectorEngine.find(Selector.DROPDOWN_TOGGLE))\n .forEach(dropdown => dropdown.classList.add(ClassName.ACTIVE))\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n data.show()\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tab to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tab.jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab.jQueryInterface\n }\n}\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getTransitionDurationFromElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst Event = {\n CLICK_DISMISS: `click.dismiss${EVENT_KEY}`,\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE: 'fade',\n HIDE: 'hide',\n SHOW: 'show',\n SHOWING: 'showing'\n}\n\nconst DefaultType = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n}\n\nconst Default = {\n animation: true,\n autohide: true,\n delay: 500\n}\n\nconst Selector = {\n DATA_DISMISS: '[data-dismiss=\"toast\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n show() {\n const showEvent = EventHandler.trigger(this._element, Event.SHOW)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n if (this._config.animation) {\n this._element.classList.add(ClassName.FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(ClassName.SHOWING)\n this._element.classList.add(ClassName.SHOW)\n\n EventHandler.trigger(this._element, Event.SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(ClassName.HIDE)\n reflow(this._element)\n this._element.classList.add(ClassName.SHOWING)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, Event.HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const complete = () => {\n this._element.classList.add(ClassName.HIDE)\n EventHandler.trigger(this._element, Event.HIDDEN)\n }\n\n this._element.classList.remove(ClassName.SHOW)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n this._timeout = null\n\n if (this._element.classList.contains(ClassName.SHOW)) {\n this._element.classList.remove(ClassName.SHOW)\n }\n\n EventHandler.off(this._element, Event.CLICK_DISMISS)\n Data.removeData(this._element, DATA_KEY)\n\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...typeof config === 'object' && config ? config : {}\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(\n this._element,\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n () => this.hide()\n )\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .toast to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Toast.jQueryInterface\n $.fn[NAME].Constructor = Toast\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast.jQueryInterface\n }\n}\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): index.umd.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Alert from './src/alert'\nimport Button from './src/button'\nimport Carousel from './src/carousel'\nimport Collapse from './src/collapse'\nimport Dropdown from './src/dropdown'\nimport Modal from './src/modal'\nimport Popover from './src/popover'\nimport ScrollSpy from './src/scrollspy'\nimport Tab from './src/tab'\nimport Toast from './src/toast'\nimport Tooltip from './src/tooltip'\n\nexport default {\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n ScrollSpy,\n Tab,\n Toast,\n Tooltip\n}\n"]} \ No newline at end of file
+{"version":3,"sources":["../../js/src/util/index.js","../../js/src/dom/data.js","../../js/src/dom/polyfill.js","../../js/src/dom/event-handler.js","../../js/src/dom/selector-engine.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/dom/manipulator.js","../../js/src/carousel.js","../../js/src/collapse.js","../../node_modules/popper.js/dist/esm/popper.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/util/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/index.umd.js"],"names":["storeData","id","e","element","getUID","prefix","Math","random","document","getElementById","getSelector","selector","getAttribute","hrefAttr","trim","getSelectorFromElement","querySelector","getElementFromSelector","getTransitionDurationFromElement","_window$getComputedSt","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","dispatchEvent","Event","isElement","obj","nodeType","emulateTransitionEnd","duration","called","emulatedDuration","addEventListener","listener","removeEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","toString","call","match","toLowerCase","RegExp","test","Error","toUpperCase","isVisible","style","parentNode","elementStyle","parentNodeStyle","display","visibility","noop","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","mapData","set","key","data","get","keyProperties","delete","Data","instance","find","Element","prototype","querySelectorAll","findOne","defaultPreventedPreservedOnDispatch","CustomEvent","cancelable","createElement","preventDefault","defaultPrevented","scopeSelectorRegex","_","this","hasId","Boolean","nodeList","replace","removeAttribute","matches","$","namespaceRegex","stripNameRegex","keyEventRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","getUidEvent","uid","getEvent","fixEvent","event","which","type","charCode","keyCode","delegateTarget","findHandler","events","handler","delegationSelector","uidEventList","i","len","length","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","custom","indexOf","addHandler","oneOff","_normalizeParams","handlers","previousFn","fn","domElements","target","EventHandler","off","apply","bootstrapDelegationHandler","bootstrapHandler","removeHandler","on","one","_normalizeParams2","inNamespace","isNamespace","charAt","elementEvent","namespace","storeElementEvent","handlerKey","removeNamespacedHandlers","slice","keyHandlers","trigger","args","jQueryEvent","isNative","bubbles","nativeDispatch","evt","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","createEvent","initEvent","defineProperty","SelectorEngine","_ref","documentElement","concat","findFn","children","_ref2","filter","child","parents","ancestor","Node","ELEMENT_NODE","push","closest","prev","previous","previousElementSibling","next","nextElementSibling","NAME","Alert","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","_removeElement","dispose","parent","_this","classList","remove","contains","_destroyElement","removeChild","jQueryInterface","each","handleDismiss","alertInstance","getInstance","JQUERY_NO_CONFLICT","Constructor","noConflict","Button","toggle","triggerChangeEvent","addAriaPressed","input","checked","activeElement","focus","setAttribute","button","add","normalizeData","val","Number","normalizeDataKey","chr","Manipulator","setDataAttribute","removeDataAttribute","getDataAttributes","attributes","_objectSpread2","dataset","getDataAttribute","offset","rect","getBoundingClientRect","top","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft","toggleClass","className","EVENT_KEY","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","MSPointerEvent","_addEventListeners","_slide","nextWhenVisible","hidden","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","_handleSwipe","absDeltax","abs","_this2","_keydown","_addTouchEventListeners","_this3","start","pointerType","clientX","touches","end","clearTimeout","itemImg","move","tagName","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","from","_setActiveIndicatorElement","indicators","nextIndicator","directionalClassName","orderClassName","_this4","activeElementIndex","nextElement","nextElementIndex","isCycling","nextElementInterval","parseInt","defaultInterval","carouselInterface","action","TypeError","ride","dataApiClickHandler","slideIndex","carousels","Collapse","_isTransitioning","_triggerArray","SELECTOR_DATA_TOGGLE","toggleList","elem","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","container","tempActiveData","elemActive","collapseInterface","dimension","_getDimension","setTransitioning","scrollSize","triggerArrayLength","isTransitioning","jquery","selected","triggerArray","isOpen","triggerData","isBrowser","timeoutDuration","longerTimeoutBrowsers","userAgent","debounce","Promise","resolve","then","scheduled","isFunction","functionToCheck","getStyleComputedProperty","css","ownerDocument","defaultView","getParentNode","nodeName","host","getScrollParent","_getStyleComputedProp","overflow","overflowX","overflowY","getReferenceNode","reference","referenceNode","isIE11","MSInputMethodContext","documentMode","isIE10","isIE","version","getOffsetParent","noOffsetParent","offsetParent","getRoot","node","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","DOCUMENT_POSITION_FOLLOWING","range","createRange","setStart","setEnd","commonAncestorContainer","firstElementChild","isOffsetContainer","element1root","getScroll","side","arguments","undefined","upperSide","html","scrollingElement","includeScroll","subtract","modifier","bottom","right","getBordersSize","styles","axis","sideA","sideB","getSize","computedStyle","max","getWindowSizes","height","width","classCallCheck","createClass","defineProperties","props","descriptor","enumerable","configurable","writable","protoProps","staticProps","_extends","assign","source","hasOwnProperty","getClientRect","offsets","result","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","getOffsetRectRelativeToArbitraryNode","fixedPosition","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","getViewportOffsetRectRelativeToArtbitraryNode","excludeScroll","relativeOffset","innerWidth","innerHeight","isFixed","getFixedPositionOffsetParent","parentElement","el","getBoundaries","popper","padding","boundariesElement","boundaries","boundariesNode","_getWindowSizes","isPaddingNumber","getArea","computeAutoPlacement","placement","refRect","rects","sortedAreas","map","area","sort","a","b","filteredAreas","computedPlacement","variation","getReferenceOffsets","state","commonOffsetParent","getOuterSizes","x","marginBottom","y","marginRight","getOppositePlacement","hash","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","arr","check","Array","runModifiers","modifiers","ends","prop","findIndex","cur","console","warn","enabled","update","isDestroyed","arrowStyles","flipped","options","positionFixed","flip","originalPlacement","isCreated","onUpdate","onCreate","isModifierEnabled","modifierName","some","name","getSupportedPropertyName","prefixes","upperProp","toCheck","destroy","willChange","disableEventListeners","removeOnDestroy","getWindow","setupEventListeners","updateBound","passive","scrollElement","attachToScrollParents","callback","scrollParents","isBody","eventsEnabled","enableEventListeners","scheduleUpdate","cancelAnimationFrame","isNumeric","n","isNaN","isFinite","setStyles","unit","isFirefox","isModifierRequired","requestingName","requestedName","requesting","isRequired","_requesting","requested","placements","validPlacements","clockwise","counter","reverse","BEHAVIORS","parseOffset","basePlacement","useHeight","fragments","frag","divider","search","splitRegex","ops","op","mergeWithPrevious","reduce","str","toValue","index2","Defaults","shift","shiftvariation","_data$offsets","isVertical","shiftOffsets","preventOverflow","transformProp","popperStyles","transform","priority","primary","escapeWithReference","secondary","min","keepTogether","floor","opSide","arrow","_data$offsets$arrow","arrowElement","sideCapitalized","altSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","round","placementOpposite","flipOrder","behavior","step","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","getOppositeVariation","inner","subtractLength","bound","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","shouldRound","noRound","v","referenceWidth","popperWidth","isVariation","horizontalToInteger","verticalToInteger","getRoundedOffsets","devicePixelRatio","prefixedProperty","invertTop","invertLeft","x-placement","applyStyle","setAttributes","onLoad","modifierOptions","Popper","requestAnimationFrame","Utils","global","PopperUtils","REGEXP_KEYDOWN","ARROW_UP_KEYCODE","boundary","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","clearMenus","getParentFromElement","referenceElement","_getPopperConfig","stopPropagation","constructor","_getPlacement","parentDropdown","_getOffset","dropdownInterface","toggles","context","clickEvent","dropdownMenu","dataApiKeydownHandler","items","backdrop","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","showEvent","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","handleUpdate","modalBody","appendChild","_enforceFocus","transitionComplete","_this5","_triggerBackdropTransition","_this6","_this7","_resetAdjustments","_resetScrollbar","_removeBackdrop","_this8","animate","currentTarget","backdropTransitionDuration","callbackRemove","_this9","modalTransitionDuration","isModalOverflowing","scrollHeight","paddingLeft","paddingRight","_getScrollbarWidth","_this10","actualPadding","calculatedPadding","actualMargin","calculatedMargin","margin","scrollDiv","scrollbarWidth","_this11","uriAttrs","SAFE_URL_PATTERN","DATA_URL_PATTERN","DefaultWhitelist","*","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","sanitizeHtml","unsafeHtml","whiteList","sanitizeFn","createdDocument","DOMParser","parseFromString","whitelistKeys","elements","_loop","elName","attributeList","whitelistedAttributes","attr","allowedAttributeList","attrName","nodeValue","regExp","attrRegex","allowedAttribute","innerHTML","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","fallbackPlacement","sanitize","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","DATA_KEY","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","findShadowRoot","attachShadow","getRootNode","root","ShadowRoot","isInTheDom","tipId","setContent","attachment","_getAttachment","_addAttachmentClass","_getContainer","complete","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","innerText","textContent","_handlePopperPlacementChange","CLASS_PREFIX","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","tabClass","token","tClass","popperData","popperInstance","initConfigAnimation","Popover","_getContent","method","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targetSelector","targetBCR","item","pageYOffset","_getOffsetHeight","maxScroll","_activate","_clear","queries","link","join","listGroup","SELECTOR_NAV_LINKS","navItem","spy","Tab","listElement","itemSelector","hideEvent","active","_transitionComplete","dropdownChild","dropdown","autohide","Toast"],"mappings":"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","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => {\n if (obj === null || obj === undefined) {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = obj => (obj[0] || obj).nodeType\n\nconst emulateTransitionEnd = (element, duration) => {\n let called = false\n const durationPadding = 5\n const emulatedDuration = duration + durationPadding\n function listener() {\n called = true\n element.removeEventListener(TRANSITION_END, listener)\n }\n\n element.addEventListener(TRANSITION_END, listener)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(element)\n }\n }, emulatedDuration)\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes)\n .forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n const elementStyle = getComputedStyle(element)\n const parentNodeStyle = getComputedStyle(element.parentNode)\n\n return elementStyle.display !== 'none' &&\n parentNodeStyle.display !== 'none' &&\n elementStyle.visibility !== 'hidden'\n }\n\n return false\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst mapData = (() => {\n const storeData = {}\n let id = 1\n return {\n set(element, key, data) {\n if (typeof element.key === 'undefined') {\n element.key = {\n key,\n id\n }\n id++\n }\n\n storeData[element.key.id] = data\n },\n get(element, key) {\n if (!element || typeof element.key === 'undefined') {\n return null\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.key === 'undefined') {\n return\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.key\n }\n }\n }\n})()\n\nconst Data = {\n setData(instance, key, data) {\n mapData.set(instance, key, data)\n },\n getData(instance, key) {\n return mapData.get(instance, key)\n },\n removeData(instance, key) {\n mapData.delete(instance, key)\n }\n}\n\nexport default Data\n","/* istanbul ignore file */\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/polyfill.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getUID } from '../util/index'\n\nlet find = Element.prototype.querySelectorAll\nlet findOne = Element.prototype.querySelector\n\n// MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached\nconst defaultPreventedPreservedOnDispatch = (() => {\n const e = new CustomEvent('Bootstrap', {\n cancelable: true\n })\n\n const element = document.createElement('div')\n element.addEventListener('Bootstrap', () => null)\n\n e.preventDefault()\n element.dispatchEvent(e)\n return e.defaultPrevented\n})()\n\nconst scopeSelectorRegex = /:scope\\b/\nconst supportScopeQuery = (() => {\n const element = document.createElement('div')\n\n try {\n element.querySelectorAll(':scope *')\n } catch (_) {\n return false\n }\n\n return true\n})()\n\nif (!supportScopeQuery) {\n find = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelectorAll(selector)\n }\n\n const hasId = Boolean(this.id)\n\n if (!hasId) {\n this.id = getUID('scope')\n }\n\n let nodeList = null\n try {\n selector = selector.replace(scopeSelectorRegex, `#${this.id}`)\n nodeList = this.querySelectorAll(selector)\n } finally {\n if (!hasId) {\n this.removeAttribute('id')\n }\n }\n\n return nodeList\n }\n\n findOne = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelector(selector)\n }\n\n const matches = find.call(this, selector)\n\n if (typeof matches[0] !== 'undefined') {\n return matches[0]\n }\n\n return null\n }\n}\n\nexport {\n find,\n findOne,\n defaultPreventedPreservedOnDispatch\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\nimport { defaultPreventedPreservedOnDispatch } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst $ = getjQuery()\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst keyEventRegex = /^key/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\nconst nativeEvents = [\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n]\n\n/**\n * ------------------------------------------------------------------------\n * Private methods\n * ------------------------------------------------------------------------\n */\n\nfunction getUidEvent(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getEvent(element) {\n const uid = getUidEvent(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction fixEvent(event, element) {\n // Add which for key events\n if (event.which === null && keyEventRegex.test(event.type)) {\n event.which = event.charCode === null ? event.keyCode : event.charCode\n }\n\n event.delegateTarget = element\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n fixEvent(event, element)\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = target.parentNode) {\n for (let i = domElements.length; i--;) {\n if (domElements[i] === target) {\n fixEvent(event, target)\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n\n // To please ESLint\n return null\n }\n}\n\nfunction findHandler(events, handler, delegationSelector = null) {\n const uidEventList = Object.keys(events)\n\n for (let i = 0, len = uidEventList.length; i < len; i++) {\n const event = events[uidEventList[i]]\n\n if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\n return event\n }\n }\n\n return null\n}\n\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\n const delegation = typeof handler === 'string'\n const originalHandler = delegation ? delegationFn : handler\n\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n let typeEvent = originalTypeEvent.replace(stripNameRegex, '')\n const custom = customEvents[typeEvent]\n\n if (custom) {\n typeEvent = custom\n }\n\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n if (!isNative) {\n typeEvent = originalTypeEvent\n }\n\n return [delegation, originalHandler, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n if (!handler) {\n handler = delegationFn\n delegationFn = null\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const events = getEvent(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null)\n\n if (previousFn) {\n previousFn.oneOff = previousFn.oneOff && oneOff\n\n return\n }\n\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = delegation ?\n bootstrapDelegationHandler(element, handler, delegationFn) :\n bootstrapHandler(element, handler)\n\n fn.delegationSelector = delegation ? handler : null\n fn.originalHandler = originalHandler\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, delegation)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {}\n\n Object.keys(storeElementEvent)\n .forEach(handlerKey => {\n if (handlerKey.indexOf(namespace) > -1) {\n const event = storeElementEvent[handlerKey]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, false)\n },\n\n one(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFn) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getEvent(element)\n const isNamespace = originalTypeEvent.charAt(0) === '.'\n\n if (typeof originalHandler !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!events || !events[typeEvent]) {\n return\n }\n\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null)\n return\n }\n\n if (isNamespace) {\n Object.keys(events)\n .forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent)\n .forEach(keyHandlers => {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.indexOf(handlerKey) > -1) {\n const event = storeElementEvent[keyHandlers]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const typeEvent = event.replace(stripNameRegex, '')\n const inNamespace = event !== typeEvent\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n let jQueryEvent\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n let evt = null\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n if (isNative) {\n evt = document.createEvent('HTMLEvents')\n evt.initEvent(typeEvent, bubbles, true)\n } else {\n evt = new CustomEvent(event, {\n bubbles,\n cancelable: true\n })\n }\n\n // merge custom informations in our event\n if (typeof args !== 'undefined') {\n Object.keys(args)\n .forEach(key => {\n Object.defineProperty(evt, key, {\n get() {\n return args[key]\n }\n })\n })\n }\n\n if (defaultPrevented) {\n evt.preventDefault()\n\n if (!defaultPreventedPreservedOnDispatch) {\n Object.defineProperty(evt, 'defaultPrevented', {\n get: () => true\n })\n }\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { find as findFn, findOne } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n matches(element, selector) {\n return element.matches(selector)\n },\n\n find(selector, element = document.documentElement) {\n return [].concat(...findFn.call(element, selector))\n },\n\n findOne(selector, element = document.documentElement) {\n return findOne.call(element, selector)\n },\n\n children(element, selector) {\n const children = [].concat(...element.children)\n\n return children.filter(child => child.matches(selector))\n },\n\n parents(element, selector) {\n const parents = []\n\n let ancestor = element.parentNode\n\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\n if (this.matches(ancestor, selector)) {\n parents.push(ancestor)\n }\n\n ancestor = ancestor.parentNode\n }\n\n return parents\n },\n\n closest(element, selector) {\n return element.closest(selector)\n },\n\n prev(element, selector) {\n let previous = element.previousElementSibling\n\n while (previous) {\n if (previous.matches(selector)) {\n return [previous]\n }\n\n previous = previous.previousElementSibling\n }\n\n return []\n },\n\n next(element, selector) {\n let next = element.nextElementSibling\n\n while (next) {\n if (this.matches(next, selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst SELECTOR_DISMISS = '[data-dismiss=\"alert\"]'\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASSNAME_ALERT = 'alert'\nconst CLASSNAME_FADE = 'fade'\nconst CLASSNAME_SHOW = 'show'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n\n if (this._element) {\n Data.setData(element, DATA_KEY, this)\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent === null || customEvent.defaultPrevented) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n let parent = getElementFromSelector(element)\n\n if (!parent) {\n parent = SelectorEngine.closest(element, `.${CLASSNAME_ALERT}`)\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n return EventHandler.trigger(element, EVENT_CLOSE)\n }\n\n _removeElement(element) {\n element.classList.remove(CLASSNAME_SHOW)\n\n if (!element.classList.contains(CLASSNAME_FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = getTransitionDurationFromElement(element)\n\n EventHandler\n .one(element, TRANSITION_END, () => this._destroyElement(element))\n emulateTransitionEnd(element, transitionDuration)\n }\n\n _destroyElement(element) {\n if (element.parentNode) {\n element.parentNode.removeChild(element)\n }\n\n EventHandler.trigger(element, EVENT_CLOSED)\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\nEventHandler\n .on(document, EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert.handleDismiss(new Alert()))\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .alert to jQuery only if jQuery is present\n */\n\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Alert.jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert.jQueryInterface\n }\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_BUTTON = 'btn'\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_FOCUS = 'focus'\n\nconst SELECTOR_DATA_TOGGLE_CARROT = '[data-toggle^=\"button\"]'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"buttons\"]'\nconst SELECTOR_INPUT = 'input:not([type=\"hidden\"])'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_BUTTON = '.btn'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_FOCUS_DATA_API = `focus${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_BLUR_DATA_API = `blur${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n\n const rootElement = SelectorEngine.closest(\n this._element,\n SELECTOR_DATA_TOGGLE\n )\n\n if (rootElement) {\n const input = SelectorEngine.findOne(SELECTOR_INPUT, this._element)\n\n if (input && input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(CLASS_NAME_ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE, rootElement)\n\n if (activeElement) {\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains(CLASS_NAME_DISABLED) ||\n rootElement.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n input.checked = !this._element.classList.contains(CLASS_NAME_ACTIVE)\n EventHandler.trigger(input, 'change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(CLASS_NAME_ACTIVE))\n }\n\n if (triggerChangeEvent) {\n this._element.classList.toggle(CLASS_NAME_ACTIVE)\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, event => {\n event.preventDefault()\n\n let button = event.target\n if (!button.classList.contains(CLASS_NAME_BUTTON)) {\n button = SelectorEngine.closest(button, SELECTOR_BUTTON)\n }\n\n let data = Data.getData(button, DATA_KEY)\n if (!data) {\n data = new Button(button)\n }\n\n data.toggle()\n})\n\nEventHandler.on(document, EVENT_FOCUS_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, event => {\n const button = SelectorEngine.closest(event.target, SELECTOR_BUTTON)\n\n if (button) {\n button.classList.add(CLASS_NAME_FOCUS)\n }\n})\n\nEventHandler.on(document, EVENT_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, event => {\n const button = SelectorEngine.closest(event.target, SELECTOR_BUTTON)\n\n if (button) {\n button.classList.remove(CLASS_NAME_FOCUS)\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .button to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Button.jQueryInterface\n $.fn[NAME].Constructor = Button\n\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button.jQueryInterface\n }\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(val) {\n if (val === 'true') {\n return true\n }\n\n if (val === 'false') {\n return false\n }\n\n if (val === Number(val).toString()) {\n return Number(val)\n }\n\n if (val === '' || val === 'null') {\n return null\n }\n\n return val\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {\n ...element.dataset\n }\n\n Object.keys(attributes).forEach(key => {\n attributes[key] = normalizeData(attributes[key])\n })\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-${normalizeDataKey(key)}`))\n },\n\n offset(element) {\n const rect = element.getBoundingClientRect()\n\n return {\n top: rect.top + document.body.scrollTop,\n left: rect.left + document.body.scrollLeft\n }\n },\n\n position(element) {\n return {\n top: element.offsetTop,\n left: element.offsetLeft\n }\n },\n\n toggleClass(element, className) {\n if (!element) {\n return\n }\n\n if (element.classList.contains(className)) {\n element.classList.remove(className)\n } else {\n element.classList.add(className)\n }\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n reflow,\n triggerTransitionEnd,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n}\n\nconst DIRECTION_NEXT = 'next'\nconst DIRECTION_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_RIGHT = 'carousel-item-right'\nconst CLASS_NAME_LEFT = 'carousel-item-left'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_ITEM = '.active.carousel-item'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-slide], [data-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-ride=\"carousel\"]'\n\nconst PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(DIRECTION_NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(DIRECTION_PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (SelectorEngine.findOne(SELECTOR_NEXT_PREV, this._element)) {\n triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config && this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex ?\n DIRECTION_NEXT :\n DIRECTION_PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n Data.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler\n .on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler\n .on(this._element, EVENT_MOUSEENTER, event => this.pause(event))\n EventHandler\n .on(this._element, EVENT_MOUSELEAVE, event => this.cycle(event))\n }\n\n if (this._config.touch && this._touchSupported) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n const start = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchStartX = event.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.touches[0].clientX\n }\n }\n\n const move = event => {\n // ensure swiping with one touch and not pinching\n if (event.touches && event.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n\n this.touchTimeout = setTimeout(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n SelectorEngine.find(SELECTOR_ITEM_IMG, this._element).forEach(itemImg => {\n EventHandler.on(itemImg, EVENT_DRAG_START, e => e.preventDefault())\n })\n\n if (this._pointerEvent) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => start(event))\n EventHandler.on(this._element, EVENT_POINTERUP, event => end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => start(event))\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => move(event))\n EventHandler.on(this._element, EVENT_TOUCHEND, event => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode ?\n SelectorEngine.find(SELECTOR_ITEM, element.parentNode) :\n []\n\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === DIRECTION_NEXT\n const isPrevDirection = direction === DIRECTION_PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = (isPrevDirection && activeIndex === 0) ||\n (isNextDirection && activeIndex === lastItemIndex)\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === DIRECTION_PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] :\n this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element))\n\n return EventHandler.trigger(this._element, EVENT_SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = SelectorEngine.find(SELECTOR_ACTIVE, this._indicatorsElement)\n for (let i = 0; i < indicators.length; i++) {\n indicators[i].classList.remove(CLASS_NAME_ACTIVE)\n }\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n nextIndicator.classList.add(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || (activeElement &&\n this._getItemByDirection(direction, activeElement))\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === DIRECTION_NEXT) {\n directionalClassName = CLASS_NAME_LEFT\n orderClassName = CLASS_NAME_NEXT\n eventDirectionName = DIRECTION_LEFT\n } else {\n directionalClassName = CLASS_NAME_RIGHT\n orderClassName = CLASS_NAME_PREV\n eventDirectionName = DIRECTION_RIGHT\n }\n\n if (nextElement && nextElement.classList.contains(CLASS_NAME_ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.defaultPrevented) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n if (this._element.classList.contains(CLASS_NAME_SLIDE)) {\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = getTransitionDurationFromElement(activeElement)\n\n EventHandler\n .one(activeElement, TRANSITION_END, () => {\n nextElement.classList.remove(directionalClassName)\n nextElement.classList.remove(orderClassName)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n activeElement.classList.remove(orderClassName)\n activeElement.classList.remove(directionalClassName)\n\n this._isSliding = false\n\n setTimeout(() => {\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }, 0)\n })\n\n emulateTransitionEnd(activeElement, transitionDuration)\n } else {\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n this._isSliding = false\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static carouselInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n let _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element)\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(element, _config)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Carousel.carouselInterface(this, config)\n })\n }\n\n static dataApiClickHandler(event) {\n const target = getElementFromSelector(this)\n\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel.carouselInterface(target, config)\n\n if (slideIndex) {\n Data.getData(target, DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler\n .on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel.dataApiClickHandler)\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n for (let i = 0, len = carousels.length; i < len; i++) {\n Carousel.carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY))\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .carousel to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Carousel.jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel.jQueryInterface\n }\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n toggle: true,\n parent: ''\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(string|element)'\n}\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.show, .collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"collapse\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = SelectorEngine.find(\n `${SELECTOR_DATA_TOGGLE}[href=\"#${element.id}\"],` +\n `${SELECTOR_DATA_TOGGLE}[data-target=\"#${element.id}\"]`\n )\n\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = getSelectorFromElement(elem)\n const filterElement = SelectorEngine.find(selector)\n .filter(foundElem => foundElem === element)\n\n if (selector !== null && filterElement.length) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = SelectorEngine.find(SELECTOR_ACTIVES, this._parent)\n .filter(elem => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(CLASS_NAME_COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n const container = SelectorEngine.findOne(this._selector)\n if (actives) {\n const tempActiveData = actives.filter(elem => container !== elem)\n activesData = tempActiveData[0] ? Data.getData(tempActiveData[0], DATA_KEY) : null\n\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n if (actives) {\n actives.forEach(elemActive => {\n if (container !== elemActive) {\n Collapse.collapseInterface(elemActive, 'hide')\n }\n\n if (!activesData) {\n Data.setData(elemActive, DATA_KEY, null)\n }\n })\n }\n\n const dimension = this._getDimension()\n\n this._element.classList.remove(CLASS_NAME_COLLAPSE)\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n this._triggerArray.forEach(element => {\n element.classList.remove(CLASS_NAME_COLLAPSED)\n element.setAttribute('aria-expanded', true)\n })\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE)\n this._element.classList.add(CLASS_NAME_SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n\n emulateTransitionEnd(this._element, transitionDuration)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n if (startEvent.defaultPrevented) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n reflow(this._element)\n\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n this._element.classList.remove(CLASS_NAME_COLLAPSE)\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const elem = getElementFromSelector(trigger)\n\n if (elem && !elem.classList.contains(CLASS_NAME_SHOW)) {\n trigger.classList.add(CLASS_NAME_COLLAPSED)\n trigger.setAttribute('aria-expanded', false)\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = this._element.classList.contains(WIDTH)\n return hasWidth ? WIDTH : HEIGHT\n }\n\n _getParent() {\n let { parent } = this._config\n\n if (isElement(parent)) {\n // it's a jQuery object\n if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {\n parent = parent[0]\n }\n } else {\n parent = SelectorEngine.findOne(parent)\n }\n\n const selector = `${SELECTOR_DATA_TOGGLE}[data-parent=\"${parent}\"]`\n\n SelectorEngine.find(selector, parent)\n .forEach(element => {\n const selected = getElementFromSelector(element)\n\n this._addAriaAndCollapsedClass(\n selected,\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (element) {\n const isOpen = element.classList.contains(CLASS_NAME_SHOW)\n\n if (triggerArray.length) {\n triggerArray.forEach(elem => {\n if (isOpen) {\n elem.classList.remove(CLASS_NAME_COLLAPSED)\n } else {\n elem.classList.add(CLASS_NAME_COLLAPSED)\n }\n\n elem.setAttribute('aria-expanded', isOpen)\n })\n }\n }\n }\n\n // Static\n\n static collapseInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Collapse.collapseInterface(this, config)\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A') {\n event.preventDefault()\n }\n\n const triggerData = Manipulator.getDataAttributes(this)\n const selector = getSelectorFromElement(this)\n const selectorElements = SelectorEngine.find(selector)\n\n selectorElements.forEach(element => {\n const data = Data.getData(element, DATA_KEY)\n let config\n if (data) {\n // update parent attribute\n if (data._parent === null && typeof triggerData.parent === 'string') {\n data._config.parent = triggerData.parent\n data._parent = data._getParent()\n }\n\n config = 'toggle'\n } else {\n config = triggerData\n }\n\n Collapse.collapseInterface(element, config)\n })\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .collapse to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Collapse.jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse.jQueryInterface\n }\n}\n\nexport default Collapse\n","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.16.0\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n\nvar timeoutDuration = function () {\n var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}();\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nfunction getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.width;\n var height = sizes.height || element.clientHeight || result.height;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop, 10);\n var marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n var parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is <html> the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n // flips variation if popper content overflows boundaries\n var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n\n var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.<br />\n * It will read the variation of the `placement` property.<br />\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.<br />\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.<br />\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.<br />\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.<br />\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overridden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getElementFromSelector,\n isElement,\n isVisible,\n noop,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\n\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPRIGHT = 'dropright'\nconst CLASS_NAME_DROPLEFT = 'dropleft'\nconst CLASS_NAME_MENURIGHT = 'dropdown-menu-right'\nconst CLASS_NAME_NAVBAR = 'navbar'\nconst CLASS_NAME_POSITION_STATIC = 'position-static'\n\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"dropdown\"]'\nconst SELECTOR_FORM_CHILD = '.dropdown form'\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = 'top-start'\nconst PLACEMENT_TOPEND = 'top-end'\nconst PLACEMENT_BOTTOM = 'bottom-start'\nconst PLACEMENT_BOTTOMEND = 'bottom-end'\nconst PLACEMENT_RIGHT = 'right-start'\nconst PLACEMENT_LEFT = 'left-start'\n\nconst Default = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n const isActive = this._element.classList.contains(CLASS_NAME_SHOW)\n\n Dropdown.clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show()\n }\n\n show() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || this._menu.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n parent.classList.add(CLASS_NAME_POSITION_STATIC)\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n !SelectorEngine.closest(parent, SELECTOR_NAVBAR_NAV)) {\n [].concat(...document.body.children)\n .forEach(elem => EventHandler.on(elem, 'mouseover', null, noop()))\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n Manipulator.toggleClass(this._menu, CLASS_NAME_SHOW)\n Manipulator.toggleClass(this._element, CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_SHOWN, relatedTarget)\n }\n\n hide() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || !this._menu.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n Manipulator.toggleClass(this._menu, CLASS_NAME_SHOW)\n Manipulator.toggleClass(this._element, CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._element, EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n return SelectorEngine.next(this._element, SELECTOR_MENU)[0]\n }\n\n _getPlacement() {\n const parentDropdown = this._element.parentNode\n let placement = PLACEMENT_BOTTOM\n\n // Handle dropup\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n placement = PLACEMENT_TOP\n if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_TOPEND\n }\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPRIGHT)) {\n placement = PLACEMENT_RIGHT\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPLEFT)) {\n placement = PLACEMENT_LEFT\n } else if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_BOTTOMEND\n }\n\n return placement\n }\n\n _detectNavbar() {\n return Boolean(SelectorEngine.closest(this._element, `.${CLASS_NAME_NAVBAR}`))\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets, this._element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static dropdownInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Dropdown.dropdownInterface(this, config)\n })\n }\n\n static clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n (event.type === 'keyup' && event.which !== TAB_KEYCODE))) {\n return\n }\n\n const toggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown.getParentFromElement(toggles[i])\n const context = Data.getData(toggles[i], DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!toggles[i].classList.contains(CLASS_NAME_SHOW)) {\n continue\n }\n\n if (event && ((event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName)) ||\n (event.type === 'keyup' && event.which === TAB_KEYCODE)) &&\n dropdownMenu.contains(event.target)) {\n continue\n }\n\n const hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n [].concat(...document.body.children)\n .forEach(elem => EventHandler.off(elem, 'mouseover', null, noop()))\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n dropdownMenu.classList.remove(CLASS_NAME_SHOW)\n toggles[i].classList.remove(CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget)\n }\n }\n\n static getParentFromElement(element) {\n return getElementFromSelector(element) || element.parentNode\n }\n\n static dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ?\n event.which === SPACE_KEYCODE || (event.which !== ESCAPE_KEYCODE &&\n ((event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE) ||\n SelectorEngine.closest(event.target, SELECTOR_MENU))) :\n !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || this.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this)\n const isActive = this.classList.contains(CLASS_NAME_SHOW)\n\n if (event.which === ESCAPE_KEYCODE) {\n const button = this.matches(SELECTOR_DATA_TOGGLE) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0]\n button.focus()\n Dropdown.clearMenus()\n return\n }\n\n if (!isActive || event.which === SPACE_KEYCODE) {\n Dropdown.clearMenus()\n return\n }\n\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, parent)\n .filter(isVisible)\n\n if (!items.length) {\n return\n }\n\n let index = items.indexOf(event.target) || 0\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n items[index].focus()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown.dropdownInterface(this, 'toggle')\n})\nEventHandler\n .on(document, EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, e => e.stopPropagation())\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .dropdown to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Dropdown.jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown.jQueryInterface\n }\n}\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: 'boolean'\n}\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SCROLLABLE = 'modal-dialog-scrollable'\nconst CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure'\nconst CLASS_NAME_BACKDROP = 'modal-backdrop'\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"modal\"]'\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"modal\"]'\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, element)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget\n })\n\n if (this._isShown || showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.on(this._element,\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n event => this.hide(event)\n )\n\n EventHandler.on(this._dialog, EVENT_MOUSEDOWN_DISMISS, () => {\n EventHandler.one(this._element, EVENT_MOUSEUP_DISMISS, event => {\n if (event.target === this._element) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n const transition = this._element.classList.contains(CLASS_NAME_FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.off(document, EVENT_FOCUSIN)\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n EventHandler.off(this._dialog, EVENT_MOUSEDOWN_DISMISS)\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, event => this._hideModal(event))\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\n\n /**\n * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `EVENT_CLICK_DATA_API` event that should remain\n */\n EventHandler.off(document, EVENT_FOCUSIN)\n\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = this._element.classList.contains(CLASS_NAME_FADE)\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n\n if (this._dialog.classList.contains(CLASS_NAME_SCROLLABLE) && modalBody) {\n modalBody.scrollTop = 0\n } else {\n this._element.scrollTop = 0\n }\n\n if (transition) {\n reflow(this._element)\n }\n\n this._element.classList.add(CLASS_NAME_SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget\n })\n }\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._dialog)\n\n EventHandler.one(this._dialog, TRANSITION_END, transitionComplete)\n emulateTransitionEnd(this._dialog, transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n EventHandler.off(document, EVENT_FOCUSIN) // guard against infinite focus loop\n EventHandler.on(document, EVENT_FOCUSIN, event => {\n if (document !== event.target &&\n this._element !== event.target &&\n !this._element.contains(event.target)) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown) {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (this._config.keyboard && event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n } else if (!this._config.keyboard && event.which === ESCAPE_KEYCODE) {\n this._triggerBackdropTransition()\n }\n })\n } else {\n EventHandler.off(this._element, EVENT_KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n EventHandler.on(window, EVENT_RESIZE, () => this._adjustDialog())\n } else {\n EventHandler.off(window, EVENT_RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._isTransitioning = false\n this._showBackdrop(() => {\n document.body.classList.remove(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n })\n }\n\n _removeBackdrop() {\n this._backdrop.parentNode.removeChild(this._backdrop)\n this._backdrop = null\n }\n\n _showBackdrop(callback) {\n const animate = this._element.classList.contains(CLASS_NAME_FADE) ?\n CLASS_NAME_FADE :\n ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = CLASS_NAME_BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n document.body.appendChild(this._backdrop)\n\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, event => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n\n if (event.target !== event.currentTarget) {\n return\n }\n\n this._triggerBackdropTransition()\n })\n\n if (animate) {\n reflow(this._backdrop)\n }\n\n this._backdrop.classList.add(CLASS_NAME_SHOW)\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n\n EventHandler.one(this._backdrop, TRANSITION_END, callback)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n this._backdrop.classList.remove(CLASS_NAME_SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n callback()\n }\n\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else {\n callback()\n }\n }\n\n _triggerBackdropTransition() {\n if (this._config.backdrop === 'static') {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n const modalTransitionDuration = getTransitionDurationFromElement(this._element)\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n })\n emulateTransitionEnd(this._element, modalTransitionDuration)\n this._element.focus()\n } else {\n this.hide()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n SelectorEngine.find(SELECTOR_FIXED_CONTENT)\n .forEach(element => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = window.getComputedStyle(element)['padding-right']\n Manipulator.setDataAttribute(element, 'padding-right', actualPadding)\n element.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n })\n\n // Adjust sticky content margin\n SelectorEngine.find(SELECTOR_STICKY_CONTENT)\n .forEach(element => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = window.getComputedStyle(element)['margin-right']\n Manipulator.setDataAttribute(element, 'margin-right', actualMargin)\n element.style.marginRight = `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = window.getComputedStyle(document.body)['padding-right']\n\n Manipulator.setDataAttribute(document.body, 'padding-right', actualPadding)\n document.body.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n }\n\n document.body.classList.add(CLASS_NAME_OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n SelectorEngine.find(SELECTOR_FIXED_CONTENT)\n .forEach(element => {\n const padding = Manipulator.getDataAttribute(element, 'padding-right')\n if (typeof padding !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'padding-right')\n element.style.paddingRight = padding\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n SelectorEngine.find(`${SELECTOR_STICKY_CONTENT}`)\n .forEach(element => {\n const margin = Manipulator.getDataAttribute(element, 'margin-right')\n if (typeof margin !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'margin-right')\n element.style.marginRight = margin\n }\n })\n\n // Restore body padding\n const padding = Manipulator.getDataAttribute(document.body, 'padding-right')\n if (typeof padding === 'undefined') {\n document.body.style.paddingRight = ''\n } else {\n Manipulator.removeDataAttribute(document.body, 'padding-right')\n document.body.style.paddingRight = padding\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(this),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n EventHandler.one(target, EVENT_SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n let data = Data.getData(target, DATA_KEY)\n if (!data) {\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n\n data = new Modal(target, config)\n }\n\n data.show(this)\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .modal to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Modal.jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal.jQueryInterface\n }\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+=*$/i\n\nconst allowedAttribute = (attr, allowedAttributeList) => {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return SAFE_URL_PATTERN.test(attr.nodeValue) || DATA_URL_PATTERN.test(attr.nodeValue)\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter(attrRegex => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, len = regExp.length; i < len; i++) {\n if (regExp[i].test(attrName)) {\n return true\n }\n }\n\n return false\n}\n\nexport const DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\nexport function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const whitelistKeys = Object.keys(whiteList)\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (whitelistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].concat(...el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n findShadowRoot,\n getTransitionDurationFromElement,\n getUID,\n isElement,\n noop,\n typeCheckConfig\n} from './util/index'\nimport {\n DefaultWhitelist,\n sanitizeHtml\n} from './util/sanitizer'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']\n\nconst DefaultType = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n whiteList: 'object',\n popperConfig: '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n}\n\nconst Default = {\n animation: true,\n template: '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"tooltip-arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\n sanitize: true,\n sanitizeFn: null,\n whiteList: DefaultWhitelist,\n popperConfig: null\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst HOVER_STATE_SHOW = 'show'\nconst HOVER_STATE_OUT = 'out'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n Data.setData(element, this.constructor.DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if (this.getTipElement().classList.contains(CLASS_NAME_SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n Data.removeData(this.element, this.constructor.DATA_KEY)\n\n EventHandler.off(this.element, this.constructor.EVENT_KEY)\n EventHandler.off(SelectorEngine.closest(this.element, `.${CLASS_NAME_MODAL}`), 'hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n this.tip.parentNode.removeChild(this.tip)\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if (this.element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (this.isWithContent() && this._isEnabled) {\n const showEvent = EventHandler.trigger(this.element, this.constructor.Event.SHOW)\n const shadowRoot = findShadowRoot(this.element)\n const isInTheDom = shadowRoot === null ?\n this.element.ownerDocument.documentElement.contains(this.element) :\n shadowRoot.contains(this.element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n tip.classList.add(CLASS_NAME_FADE)\n }\n\n const placement = typeof this.config.placement === 'function' ?\n this.config.placement.call(this, tip, this.element) :\n this.config.placement\n\n const attachment = this._getAttachment(placement)\n this._addAttachmentClass(attachment)\n\n const container = this._getContainer()\n Data.setData(tip, this.constructor.DATA_KEY, this)\n\n if (!this.element.ownerDocument.documentElement.contains(this.tip)) {\n container.appendChild(tip)\n }\n\n EventHandler.trigger(this.element, this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\n\n tip.classList.add(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n [].concat(...document.body.children).forEach(element => {\n EventHandler.on(element, 'mouseover', noop())\n })\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n EventHandler.trigger(this.element, this.constructor.Event.SHOWN)\n\n if (prevHoverState === HOVER_STATE_OUT) {\n this._leave(null, this)\n }\n }\n\n if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n const transitionDuration = getTransitionDurationFromElement(this.tip)\n EventHandler.one(this.tip, TRANSITION_END, complete)\n emulateTransitionEnd(this.tip, transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide() {\n const tip = this.getTipElement()\n const complete = () => {\n if (this._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n EventHandler.trigger(this.element, this.constructor.Event.HIDDEN)\n this._popper.destroy()\n }\n\n const hideEvent = EventHandler.trigger(this.element, this.constructor.Event.HIDE)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n tip.classList.remove(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n [].concat(...document.body.children)\n .forEach(element => EventHandler.off(element, 'mouseover', noop))\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n\n if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n const transitionDuration = getTransitionDurationFromElement(tip)\n\n EventHandler.one(tip, TRANSITION_END, complete)\n emulateTransitionEnd(tip, transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n getTipElement() {\n if (this.tip) {\n return this.tip\n }\n\n const element = document.createElement('div')\n element.innerHTML = this.config.template\n\n this.tip = element.children[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent(SelectorEngine.findOne(SELECTOR_TOOLTIP_INNER, tip), this.getTitle())\n tip.classList.remove(CLASS_NAME_FADE)\n tip.classList.remove(CLASS_NAME_SHOW)\n }\n\n setElementContent(element, content) {\n if (element === null) {\n return\n }\n\n if (typeof content === 'object' && isElement(content)) {\n if (content.jquery) {\n content = content[0]\n }\n\n // content is a DOM node or a jQuery\n if (this.config.html) {\n if (content.parentNode !== element) {\n element.innerHTML = ''\n element.appendChild(content)\n }\n } else {\n element.innerText = content.textContent\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn)\n }\n\n element.innerHTML = content\n } else {\n element.innerText = content\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function' ?\n this.config.title.call(this.element) :\n this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: `.${this.constructor.NAME}-arrow`\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: data => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: data => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...this.config.offset(data.offsets, this.element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (isElement(this.config.container)) {\n return this.config.container\n }\n\n return SelectorEngine.findOne(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach(trigger => {\n if (trigger === 'click') {\n EventHandler.on(this.element,\n this.constructor.Event.CLICK,\n this.config.selector,\n event => this.toggle(event)\n )\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n EventHandler.on(this.element,\n eventIn,\n this.config.selector,\n event => this._enter(event)\n )\n EventHandler.on(this.element,\n eventOut,\n this.config.selector,\n event => this._leave(event)\n )\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n EventHandler.on(SelectorEngine.closest(this.element, `.${CLASS_NAME_MODAL}`),\n 'hide.bs.modal',\n this._hideModalHandler\n )\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = true\n }\n\n if (context.getTipElement().classList.contains(CLASS_NAME_SHOW) ||\n context._hoverState === HOVER_STATE_SHOW) {\n context._hoverState = HOVER_STATE_SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this.element)\n\n Object.keys(dataAttributes)\n .forEach(dataAttr => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n if (config && typeof config.container === 'object' && config.container.jquery) {\n config.container = config.container[0]\n }\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n const popperInstance = popperData.instance\n this.tip = popperInstance.popper\n this._cleanTipClass()\n this._addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n tip.classList.remove(CLASS_NAME_FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tooltip to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tooltip.jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip.jQueryInterface\n }\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport SelectorEngine from './dom/selector-engine'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement: 'right',\n trigger: 'click',\n content: '',\n template: '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"popover-arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(string|element|function)'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n setContent() {\n const tip = this.getTipElement()\n\n // we use append for html objects to maintain js events\n this.setElementContent(SelectorEngine.findOne(SELECTOR_TITLE, tip), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n\n this.setElementContent(SelectorEngine.findOne(SELECTOR_CONTENT, tip), content)\n\n tip.classList.remove(CLASS_NAME_FADE)\n tip.classList.remove(CLASS_NAME_SHOW)\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n Data.setData(this, DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Popover.jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover.jQueryInterface\n }\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getSelectorFromElement,\n getUID,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n offset: 10,\n method: 'auto',\n target: ''\n}\n\nconst DefaultType = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n}\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_SCROLL = `scroll${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-spy=\"scroll\"]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst METHOD_OFFSET = 'offset'\nconst METHOD_POSITION = 'position'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${SELECTOR_NAV_LINKS},` +\n `${this._config.target} ${SELECTOR_LIST_ITEMS},` +\n `${this._config.target} .${CLASS_NAME_DROPDOWN_ITEM}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n EventHandler.on(this._scrollElement, EVENT_SCROLL, event => this._process(event))\n\n this.refresh()\n this._process()\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window ?\n METHOD_OFFSET :\n METHOD_POSITION\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod :\n this._config.method\n\n const offsetBase = offsetMethod === METHOD_POSITION ?\n this._getScrollTop() :\n 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = SelectorEngine.find(this._selector)\n\n targets\n .map(element => {\n let target\n const targetSelector = getSelectorFromElement(element)\n\n if (targetSelector) {\n target = SelectorEngine.findOne(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n return [\n Manipulator[offsetMethod](target).top + offsetBase,\n targetSelector\n ]\n }\n }\n\n return null\n })\n .filter(item => item)\n .sort((a, b) => a[0] - b[0])\n .forEach(item => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._scrollElement, EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.target !== 'string') {\n let { id } = config.target\n if (!id) {\n id = getUID(NAME)\n config.target.id = id\n }\n\n config.target = `#${id}`\n }\n\n typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset :\n this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight :\n this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n const offsetLength = this._offsets.length\n for (let i = offsetLength; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector.split(',')\n .map(selector => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const link = SelectorEngine.findOne(queries.join(','))\n\n if (link.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n SelectorEngine\n .findOne(SELECTOR_DROPDOWN_TOGGLE, SelectorEngine.closest(link, SELECTOR_DROPDOWN))\n .classList.add(CLASS_NAME_ACTIVE)\n\n link.classList.add(CLASS_NAME_ACTIVE)\n } else {\n // Set triggered link as active\n link.classList.add(CLASS_NAME_ACTIVE)\n\n SelectorEngine\n .parents(link, SELECTOR_NAV_LIST_GROUP)\n .forEach(listGroup => {\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n SelectorEngine.prev(listGroup, `${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`)\n .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n\n // Handle special case when .nav-link is inside .nav-item\n SelectorEngine.prev(listGroup, SELECTOR_NAV_ITEMS)\n .forEach(navItem => {\n SelectorEngine.children(navItem, SELECTOR_NAV_LINKS)\n .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n })\n })\n }\n\n EventHandler.trigger(this._scrollElement, EVENT_ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n SelectorEngine.find(this._selector)\n .filter(node => node.classList.contains(CLASS_NAME_ACTIVE))\n .forEach(node => node.classList.remove(CLASS_NAME_ACTIVE))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n SelectorEngine.find(SELECTOR_DATA_SPY)\n .forEach(spy => new ScrollSpy(spy, Manipulator.getDataAttributes(spy)))\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = ScrollSpy.jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy.jQueryInterface\n }\n}\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n reflow\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_UL = ':scope > li > .active'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_ACTIVE_CHILD = ':scope > .dropdown-menu .active'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n\n Data.setData(this._element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if ((this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n this._element.classList.contains(CLASS_NAME_ACTIVE)) ||\n this._element.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n let previous\n const target = getElementFromSelector(this._element)\n const listElement = SelectorEngine.closest(this._element, SELECTOR_NAV_LIST_GROUP)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE\n previous = SelectorEngine.find(itemSelector, listElement)\n previous = previous[previous.length - 1]\n }\n\n let hideEvent = null\n\n if (previous) {\n hideEvent = EventHandler.trigger(previous, EVENT_HIDE, {\n relatedTarget: this._element\n })\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget: previous\n })\n\n if (showEvent.defaultPrevented ||\n (hideEvent !== null && hideEvent.defaultPrevented)) {\n return\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n EventHandler.trigger(previous, EVENT_HIDDEN, {\n relatedTarget: this._element\n })\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget: previous\n })\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ?\n SelectorEngine.find(SELECTOR_ACTIVE_UL, container) :\n SelectorEngine.children(container, SELECTOR_ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n (active && active.classList.contains(CLASS_NAME_FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = getTransitionDurationFromElement(active)\n active.classList.remove(CLASS_NAME_SHOW)\n\n EventHandler.one(active, TRANSITION_END, complete)\n emulateTransitionEnd(active, transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n active.classList.remove(CLASS_NAME_ACTIVE)\n\n const dropdownChild = SelectorEngine.findOne(SELECTOR_DROPDOWN_ACTIVE_CHILD, active.parentNode)\n\n if (dropdownChild) {\n dropdownChild.classList.remove(CLASS_NAME_ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n element.classList.add(CLASS_NAME_ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n reflow(element)\n\n if (element.classList.contains(CLASS_NAME_FADE)) {\n element.classList.add(CLASS_NAME_SHOW)\n }\n\n if (element.parentNode && element.parentNode.classList.contains(CLASS_NAME_DROPDOWN_MENU)) {\n const dropdownElement = SelectorEngine.closest(element, SELECTOR_DROPDOWN)\n\n if (dropdownElement) {\n SelectorEngine.find(SELECTOR_DROPDOWN_TOGGLE)\n .forEach(dropdown => dropdown.classList.add(CLASS_NAME_ACTIVE))\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n data.show()\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tab to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tab.jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab.jQueryInterface\n }\n}\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getTransitionDurationFromElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n}\n\nconst Default = {\n animation: true,\n autohide: true,\n delay: 500\n}\n\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"toast\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n show() {\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n if (this._config.animation) {\n this._element.classList.add(CLASS_NAME_FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(CLASS_NAME_SHOWING)\n this._element.classList.add(CLASS_NAME_SHOW)\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(CLASS_NAME_HIDE)\n reflow(this._element)\n this._element.classList.add(CLASS_NAME_SHOWING)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const complete = () => {\n this._element.classList.add(CLASS_NAME_HIDE)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n this._timeout = null\n\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this._element.classList.remove(CLASS_NAME_SHOW)\n }\n\n EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n Data.removeData(this._element, DATA_KEY)\n\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...typeof config === 'object' && config ? config : {}\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(\n this._element,\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n () => this.hide()\n )\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .toast to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Toast.jQueryInterface\n $.fn[NAME].Constructor = Toast\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast.jQueryInterface\n }\n}\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): index.umd.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Alert from './src/alert'\nimport Button from './src/button'\nimport Carousel from './src/carousel'\nimport Collapse from './src/collapse'\nimport Dropdown from './src/dropdown'\nimport Modal from './src/modal'\nimport Popover from './src/popover'\nimport ScrollSpy from './src/scrollspy'\nimport Tab from './src/tab'\nimport Toast from './src/toast'\nimport Tooltip from './src/tooltip'\n\nexport default {\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n ScrollSpy,\n Tab,\n Toast,\n Tooltip\n}\n"]} \ No newline at end of file
diff --git a/dist/js/bootstrap.esm.js b/dist/js/bootstrap.esm.js
index 4259c854e0..a69d438851 100644
--- a/dist/js/bootstrap.esm.js
+++ b/dist/js/bootstrap.esm.js
@@ -1,6 +1,6 @@
/*!
* Bootstrap v4.3.1 (https://getbootstrap.com/)
- * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+ * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
import Popper from 'popper.js';
@@ -55,13 +55,13 @@ function _objectSpread2(target) {
var source = arguments[i] != null ? arguments[i] : {};
if (i % 2) {
- ownKeys(source, true).forEach(function (key) {
+ ownKeys(Object(source), true).forEach(function (key) {
_defineProperty(target, key, source[key]);
});
} else if (Object.getOwnPropertyDescriptors) {
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
} else {
- ownKeys(source).forEach(function (key) {
+ ownKeys(Object(source)).forEach(function (key) {
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
});
}
@@ -87,6 +87,10 @@ var MILLISECONDS_MULTIPLIER = 1000;
var TRANSITION_END = 'transitionend'; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
var toType = function toType(obj) {
+ if (obj === null || obj === undefined) {
+ return "" + obj;
+ }
+
return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
};
/**
@@ -154,9 +158,7 @@ var getTransitionDurationFromElement = function getTransitionDurationFromElement
};
var triggerTransitionEnd = function triggerTransitionEnd(element) {
- var evt = document.createEvent('HTMLEvents');
- evt.initEvent(TRANSITION_END, true, true);
- element.dispatchEvent(evt);
+ element.dispatchEvent(new Event(TRANSITION_END));
};
var isElement = function isElement(obj) {
@@ -193,14 +195,6 @@ var typeCheckConfig = function typeCheckConfig(componentName, config, configType
});
};
-var makeArray = function makeArray(nodeList) {
- if (!nodeList) {
- return [];
- }
-
- return [].slice.call(nodeList);
-};
-
var isVisible = function isVisible(element) {
if (!element) {
return false;
@@ -325,58 +319,11 @@ var Data = {
};
/* istanbul ignore file */
-var _Element$prototype = Element.prototype,
- matches = _Element$prototype.matches,
- closest = _Element$prototype.closest;
var find = Element.prototype.querySelectorAll;
-var findOne = Element.prototype.querySelector;
-
-var createCustomEvent = function createCustomEvent(eventName, params) {
- var cEvent = new CustomEvent(eventName, params);
- return cEvent;
-};
-
-if (typeof window.CustomEvent !== 'function') {
- createCustomEvent = function createCustomEvent(eventName, params) {
- params = params || {
- bubbles: false,
- cancelable: false,
- detail: null
- };
- var evt = document.createEvent('CustomEvent');
- evt.initCustomEvent(eventName, params.bubbles, params.cancelable, params.detail);
- return evt;
- };
-}
-
-var workingDefaultPrevented = function () {
- var e = document.createEvent('CustomEvent');
- e.initEvent('Bootstrap', true, true);
- e.preventDefault();
- return e.defaultPrevented;
-}();
-
-if (!workingDefaultPrevented) {
- var origPreventDefault = Event.prototype.preventDefault;
-
- Event.prototype.preventDefault = function () {
- if (!this.cancelable) {
- return;
- }
-
- origPreventDefault.call(this);
- Object.defineProperty(this, 'defaultPrevented', {
- get: function get() {
- return true;
- },
- configurable: true
- });
- };
-} // MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached
-
+var findOne = Element.prototype.querySelector; // MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached
var defaultPreventedPreservedOnDispatch = function () {
- var e = createCustomEvent('Bootstrap', {
+ var e = new CustomEvent('Bootstrap', {
cancelable: true
});
var element = document.createElement('div');
@@ -388,26 +335,6 @@ var defaultPreventedPreservedOnDispatch = function () {
return e.defaultPrevented;
}();
-if (!matches) {
- matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;
-}
-
-if (!closest) {
- closest = function closest(selector) {
- var element = this;
-
- do {
- if (matches.call(element, selector)) {
- return element;
- }
-
- element = element.parentElement || element.parentNode;
- } while (element !== null && element.nodeType === 1);
-
- return null;
- };
-}
-
var scopeSelectorRegex = /:scope\b/;
var supportScopeQuery = function () {
@@ -715,7 +642,7 @@ var EventHandler = {
evt = document.createEvent('HTMLEvents');
evt.initEvent(typeEvent, bubbles, true);
} else {
- evt = createCustomEvent(event, {
+ evt = new CustomEvent(event, {
bubbles: bubbles,
cancelable: true
});
@@ -770,15 +697,17 @@ var EventHandler = {
var NODE_TEXT = 3;
var SelectorEngine = {
- matches: function matches$1(element, selector) {
- return matches.call(element, selector);
+ matches: function matches(element, selector) {
+ return element.matches(selector);
},
find: function find$1(selector, element) {
+ var _ref;
+
if (element === void 0) {
element = document.documentElement;
}
- return find.call(element, selector);
+ return (_ref = []).concat.apply(_ref, find.call(element, selector));
},
findOne: function findOne$1(selector, element) {
if (element === void 0) {
@@ -788,11 +717,12 @@ var SelectorEngine = {
return findOne.call(element, selector);
},
children: function children(element, selector) {
- var _this = this;
+ var _ref2;
+
+ var children = (_ref2 = []).concat.apply(_ref2, element.children);
- var children = makeArray(element.children);
return children.filter(function (child) {
- return _this.matches(child, selector);
+ return child.matches(selector);
});
},
parents: function parents(element, selector) {
@@ -809,22 +739,34 @@ var SelectorEngine = {
return parents;
},
- closest: function closest$1(element, selector) {
- return closest.call(element, selector);
+ closest: function closest(element, selector) {
+ return element.closest(selector);
},
prev: function prev(element, selector) {
- var siblings = [];
- var previous = element.previousSibling;
+ var previous = element.previousElementSibling;
- while (previous && previous.nodeType === Node.ELEMENT_NODE && previous.nodeType !== NODE_TEXT) {
- if (this.matches(previous, selector)) {
- siblings.push(previous);
+ while (previous) {
+ if (previous.matches(selector)) {
+ return [previous];
}
- previous = previous.previousSibling;
+ previous = previous.previousElementSibling;
}
- return siblings;
+ return [];
+ },
+ next: function next(element, selector) {
+ var next = element.nextElementSibling;
+
+ while (next) {
+ if (this.matches(next, selector)) {
+ return [next];
+ }
+
+ next = next.nextElementSibling;
+ }
+
+ return [];
}
};
@@ -839,28 +781,20 @@ var VERSION = '4.3.1';
var DATA_KEY = 'bs.alert';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
-var Selector = {
- DISMISS: '[data-dismiss="alert"]'
-};
-var Event$1 = {
- CLOSE: "close" + EVENT_KEY,
- CLOSED: "closed" + EVENT_KEY,
- CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
-};
-var ClassName = {
- ALERT: 'alert',
- FADE: 'fade',
- SHOW: 'show'
-};
+var SELECTOR_DISMISS = '[data-dismiss="alert"]';
+var EVENT_CLOSE = "close" + EVENT_KEY;
+var EVENT_CLOSED = "closed" + EVENT_KEY;
+var EVENT_CLICK_DATA_API = "click" + EVENT_KEY + DATA_API_KEY;
+var CLASSNAME_ALERT = 'alert';
+var CLASSNAME_FADE = 'fade';
+var CLASSNAME_SHOW = 'show';
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
-var Alert =
-/*#__PURE__*/
-function () {
+var Alert = /*#__PURE__*/function () {
function Alert(element) {
this._element = element;
@@ -899,22 +833,22 @@ function () {
var parent = getElementFromSelector(element);
if (!parent) {
- parent = SelectorEngine.closest(element, "." + ClassName.ALERT);
+ parent = SelectorEngine.closest(element, "." + CLASSNAME_ALERT);
}
return parent;
};
_proto._triggerCloseEvent = function _triggerCloseEvent(element) {
- return EventHandler.trigger(element, Event$1.CLOSE);
+ return EventHandler.trigger(element, EVENT_CLOSE);
};
_proto._removeElement = function _removeElement(element) {
var _this = this;
- element.classList.remove(ClassName.SHOW);
+ element.classList.remove(CLASSNAME_SHOW);
- if (!element.classList.contains(ClassName.FADE)) {
+ if (!element.classList.contains(CLASSNAME_FADE)) {
this._destroyElement(element);
return;
@@ -932,7 +866,7 @@ function () {
element.parentNode.removeChild(element);
}
- EventHandler.trigger(element, Event$1.CLOSED);
+ EventHandler.trigger(element, EVENT_CLOSED);
} // Static
;
@@ -980,7 +914,7 @@ function () {
*/
-EventHandler.on(document, Event$1.CLICK_DATA_API, Selector.DISMISS, Alert.handleDismiss(new Alert()));
+EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert.handleDismiss(new Alert()));
var $$1 = getjQuery();
/**
* ------------------------------------------------------------------------
@@ -1013,32 +947,25 @@ var VERSION$1 = '4.3.1';
var DATA_KEY$1 = 'bs.button';
var EVENT_KEY$1 = "." + DATA_KEY$1;
var DATA_API_KEY$1 = '.data-api';
-var ClassName$1 = {
- ACTIVE: 'active',
- BUTTON: 'btn',
- FOCUS: 'focus'
-};
-var Selector$1 = {
- DATA_TOGGLE_CARROT: '[data-toggle^="button"]',
- DATA_TOGGLE: '[data-toggle="buttons"]',
- INPUT: 'input:not([type="hidden"])',
- ACTIVE: '.active',
- BUTTON: '.btn'
-};
-var Event$2 = {
- CLICK_DATA_API: "click" + EVENT_KEY$1 + DATA_API_KEY$1,
- FOCUS_DATA_API: "focus" + EVENT_KEY$1 + DATA_API_KEY$1,
- BLUR_DATA_API: "blur" + EVENT_KEY$1 + DATA_API_KEY$1
-};
+var CLASS_NAME_ACTIVE = 'active';
+var CLASS_NAME_BUTTON = 'btn';
+var CLASS_NAME_DISABLED = 'disabled';
+var CLASS_NAME_FOCUS = 'focus';
+var SELECTOR_DATA_TOGGLE_CARROT = '[data-toggle^="button"]';
+var SELECTOR_DATA_TOGGLE = '[data-toggle="buttons"]';
+var SELECTOR_INPUT = 'input:not([type="hidden"])';
+var SELECTOR_ACTIVE = '.active';
+var SELECTOR_BUTTON = '.btn';
+var EVENT_CLICK_DATA_API$1 = "click" + EVENT_KEY$1 + DATA_API_KEY$1;
+var EVENT_FOCUS_DATA_API = "focus" + EVENT_KEY$1 + DATA_API_KEY$1;
+var EVENT_BLUR_DATA_API = "blur" + EVENT_KEY$1 + DATA_API_KEY$1;
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
-var Button =
-/*#__PURE__*/
-function () {
+var Button = /*#__PURE__*/function () {
function Button(element) {
this._element = element;
Data.setData(element, DATA_KEY$1, this);
@@ -1051,28 +978,28 @@ function () {
_proto.toggle = function toggle() {
var triggerChangeEvent = true;
var addAriaPressed = true;
- var rootElement = SelectorEngine.closest(this._element, Selector$1.DATA_TOGGLE);
+ var rootElement = SelectorEngine.closest(this._element, SELECTOR_DATA_TOGGLE);
if (rootElement) {
- var input = SelectorEngine.findOne(Selector$1.INPUT, this._element);
+ var input = SelectorEngine.findOne(SELECTOR_INPUT, this._element);
if (input && input.type === 'radio') {
- if (input.checked && this._element.classList.contains(ClassName$1.ACTIVE)) {
+ if (input.checked && this._element.classList.contains(CLASS_NAME_ACTIVE)) {
triggerChangeEvent = false;
} else {
- var activeElement = SelectorEngine.findOne(Selector$1.ACTIVE, rootElement);
+ var activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE, rootElement);
if (activeElement) {
- activeElement.classList.remove(ClassName$1.ACTIVE);
+ activeElement.classList.remove(CLASS_NAME_ACTIVE);
}
}
if (triggerChangeEvent) {
- if (input.hasAttribute('disabled') || rootElement.hasAttribute('disabled') || input.classList.contains('disabled') || rootElement.classList.contains('disabled')) {
+ if (input.hasAttribute('disabled') || rootElement.hasAttribute('disabled') || input.classList.contains(CLASS_NAME_DISABLED) || rootElement.classList.contains(CLASS_NAME_DISABLED)) {
return;
}
- input.checked = !this._element.classList.contains(ClassName$1.ACTIVE);
+ input.checked = !this._element.classList.contains(CLASS_NAME_ACTIVE);
EventHandler.trigger(input, 'change');
}
@@ -1082,11 +1009,11 @@ function () {
}
if (addAriaPressed) {
- this._element.setAttribute('aria-pressed', !this._element.classList.contains(ClassName$1.ACTIVE));
+ this._element.setAttribute('aria-pressed', !this._element.classList.contains(CLASS_NAME_ACTIVE));
}
if (triggerChangeEvent) {
- this._element.classList.toggle(ClassName$1.ACTIVE);
+ this._element.classList.toggle(CLASS_NAME_ACTIVE);
}
};
@@ -1130,12 +1057,12 @@ function () {
*/
-EventHandler.on(document, Event$2.CLICK_DATA_API, Selector$1.DATA_TOGGLE_CARROT, function (event) {
+EventHandler.on(document, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE_CARROT, function (event) {
event.preventDefault();
var button = event.target;
- if (!button.classList.contains(ClassName$1.BUTTON)) {
- button = SelectorEngine.closest(button, Selector$1.BUTTON);
+ if (!button.classList.contains(CLASS_NAME_BUTTON)) {
+ button = SelectorEngine.closest(button, SELECTOR_BUTTON);
}
var data = Data.getData(button, DATA_KEY$1);
@@ -1146,18 +1073,18 @@ EventHandler.on(document, Event$2.CLICK_DATA_API, Selector$1.DATA_TOGGLE_CARROT,
data.toggle();
});
-EventHandler.on(document, Event$2.FOCUS_DATA_API, Selector$1.DATA_TOGGLE_CARROT, function (event) {
- var button = SelectorEngine.closest(event.target, Selector$1.BUTTON);
+EventHandler.on(document, EVENT_FOCUS_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, function (event) {
+ var button = SelectorEngine.closest(event.target, SELECTOR_BUTTON);
if (button) {
- button.classList.add(ClassName$1.FOCUS);
+ button.classList.add(CLASS_NAME_FOCUS);
}
});
-EventHandler.on(document, Event$2.BLUR_DATA_API, Selector$1.DATA_TOGGLE_CARROT, function (event) {
- var button = SelectorEngine.closest(event.target, Selector$1.BUTTON);
+EventHandler.on(document, EVENT_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, function (event) {
+ var button = SelectorEngine.closest(event.target, SELECTOR_BUTTON);
if (button) {
- button.classList.remove(ClassName$1.FOCUS);
+ button.classList.remove(CLASS_NAME_FOCUS);
}
});
var $$2 = getjQuery();
@@ -1295,48 +1222,39 @@ var DefaultType = {
wrap: 'boolean',
touch: 'boolean'
};
-var Direction = {
- NEXT: 'next',
- PREV: 'prev',
- LEFT: 'left',
- RIGHT: 'right'
-};
-var Event$3 = {
- SLIDE: "slide" + EVENT_KEY$2,
- SLID: "slid" + EVENT_KEY$2,
- KEYDOWN: "keydown" + EVENT_KEY$2,
- MOUSEENTER: "mouseenter" + EVENT_KEY$2,
- MOUSELEAVE: "mouseleave" + EVENT_KEY$2,
- TOUCHSTART: "touchstart" + EVENT_KEY$2,
- TOUCHMOVE: "touchmove" + EVENT_KEY$2,
- TOUCHEND: "touchend" + EVENT_KEY$2,
- POINTERDOWN: "pointerdown" + EVENT_KEY$2,
- POINTERUP: "pointerup" + EVENT_KEY$2,
- DRAG_START: "dragstart" + EVENT_KEY$2,
- LOAD_DATA_API: "load" + EVENT_KEY$2 + DATA_API_KEY$2,
- CLICK_DATA_API: "click" + EVENT_KEY$2 + DATA_API_KEY$2
-};
-var ClassName$2 = {
- CAROUSEL: 'carousel',
- ACTIVE: 'active',
- SLIDE: 'slide',
- RIGHT: 'carousel-item-right',
- LEFT: 'carousel-item-left',
- NEXT: 'carousel-item-next',
- PREV: 'carousel-item-prev',
- ITEM: 'carousel-item',
- POINTER_EVENT: 'pointer-event'
-};
-var Selector$2 = {
- ACTIVE: '.active',
- ACTIVE_ITEM: '.active.carousel-item',
- ITEM: '.carousel-item',
- ITEM_IMG: '.carousel-item img',
- NEXT_PREV: '.carousel-item-next, .carousel-item-prev',
- INDICATORS: '.carousel-indicators',
- DATA_SLIDE: '[data-slide], [data-slide-to]',
- DATA_RIDE: '[data-ride="carousel"]'
-};
+var DIRECTION_NEXT = 'next';
+var DIRECTION_PREV = 'prev';
+var DIRECTION_LEFT = 'left';
+var DIRECTION_RIGHT = 'right';
+var EVENT_SLIDE = "slide" + EVENT_KEY$2;
+var EVENT_SLID = "slid" + EVENT_KEY$2;
+var EVENT_KEYDOWN = "keydown" + EVENT_KEY$2;
+var EVENT_MOUSEENTER = "mouseenter" + EVENT_KEY$2;
+var EVENT_MOUSELEAVE = "mouseleave" + EVENT_KEY$2;
+var EVENT_TOUCHSTART = "touchstart" + EVENT_KEY$2;
+var EVENT_TOUCHMOVE = "touchmove" + EVENT_KEY$2;
+var EVENT_TOUCHEND = "touchend" + EVENT_KEY$2;
+var EVENT_POINTERDOWN = "pointerdown" + EVENT_KEY$2;
+var EVENT_POINTERUP = "pointerup" + EVENT_KEY$2;
+var EVENT_DRAG_START = "dragstart" + EVENT_KEY$2;
+var EVENT_LOAD_DATA_API = "load" + EVENT_KEY$2 + DATA_API_KEY$2;
+var EVENT_CLICK_DATA_API$2 = "click" + EVENT_KEY$2 + DATA_API_KEY$2;
+var CLASS_NAME_CAROUSEL = 'carousel';
+var CLASS_NAME_ACTIVE$1 = 'active';
+var CLASS_NAME_SLIDE = 'slide';
+var CLASS_NAME_RIGHT = 'carousel-item-right';
+var CLASS_NAME_LEFT = 'carousel-item-left';
+var CLASS_NAME_NEXT = 'carousel-item-next';
+var CLASS_NAME_PREV = 'carousel-item-prev';
+var CLASS_NAME_POINTER_EVENT = 'pointer-event';
+var SELECTOR_ACTIVE$1 = '.active';
+var SELECTOR_ACTIVE_ITEM = '.active.carousel-item';
+var SELECTOR_ITEM = '.carousel-item';
+var SELECTOR_ITEM_IMG = '.carousel-item img';
+var SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev';
+var SELECTOR_INDICATORS = '.carousel-indicators';
+var SELECTOR_DATA_SLIDE = '[data-slide], [data-slide-to]';
+var SELECTOR_DATA_RIDE = '[data-ride="carousel"]';
var PointerType = {
TOUCH: 'touch',
PEN: 'pen'
@@ -1347,9 +1265,7 @@ var PointerType = {
* ------------------------------------------------------------------------
*/
-var Carousel =
-/*#__PURE__*/
-function () {
+var Carousel = /*#__PURE__*/function () {
function Carousel(element, config) {
this._items = null;
this._interval = null;
@@ -1361,7 +1277,7 @@ function () {
this.touchDeltaX = 0;
this._config = this._getConfig(config);
this._element = element;
- this._indicatorsElement = SelectorEngine.findOne(Selector$2.INDICATORS, this._element);
+ this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element);
this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;
this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent);
@@ -1376,7 +1292,7 @@ function () {
// Public
_proto.next = function next() {
if (!this._isSliding) {
- this._slide(Direction.NEXT);
+ this._slide(DIRECTION_NEXT);
}
};
@@ -1390,7 +1306,7 @@ function () {
_proto.prev = function prev() {
if (!this._isSliding) {
- this._slide(Direction.PREV);
+ this._slide(DIRECTION_PREV);
}
};
@@ -1399,7 +1315,7 @@ function () {
this._isPaused = true;
}
- if (SelectorEngine.findOne(Selector$2.NEXT_PREV, this._element)) {
+ if (SelectorEngine.findOne(SELECTOR_NEXT_PREV, this._element)) {
triggerTransitionEnd(this._element);
this.cycle(true);
}
@@ -1426,7 +1342,7 @@ function () {
_proto.to = function to(index) {
var _this = this;
- this._activeElement = SelectorEngine.findOne(Selector$2.ACTIVE_ITEM, this._element);
+ this._activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element);
var activeIndex = this._getItemIndex(this._activeElement);
@@ -1435,7 +1351,7 @@ function () {
}
if (this._isSliding) {
- EventHandler.one(this._element, Event$3.SLID, function () {
+ EventHandler.one(this._element, EVENT_SLID, function () {
return _this.to(index);
});
return;
@@ -1447,7 +1363,7 @@ function () {
return;
}
- var direction = index > activeIndex ? Direction.NEXT : Direction.PREV;
+ var direction = index > activeIndex ? DIRECTION_NEXT : DIRECTION_PREV;
this._slide(direction, this._items[index]);
};
@@ -1496,16 +1412,16 @@ function () {
var _this2 = this;
if (this._config.keyboard) {
- EventHandler.on(this._element, Event$3.KEYDOWN, function (event) {
+ EventHandler.on(this._element, EVENT_KEYDOWN, function (event) {
return _this2._keydown(event);
});
}
if (this._config.pause === 'hover') {
- EventHandler.on(this._element, Event$3.MOUSEENTER, function (event) {
+ EventHandler.on(this._element, EVENT_MOUSEENTER, function (event) {
return _this2.pause(event);
});
- EventHandler.on(this._element, Event$3.MOUSELEAVE, function (event) {
+ EventHandler.on(this._element, EVENT_MOUSELEAVE, function (event) {
return _this2.cycle(event);
});
}
@@ -1562,29 +1478,29 @@ function () {
}
};
- makeArray(SelectorEngine.find(Selector$2.ITEM_IMG, this._element)).forEach(function (itemImg) {
- EventHandler.on(itemImg, Event$3.DRAG_START, function (e) {
+ SelectorEngine.find(SELECTOR_ITEM_IMG, this._element).forEach(function (itemImg) {
+ EventHandler.on(itemImg, EVENT_DRAG_START, function (e) {
return e.preventDefault();
});
});
if (this._pointerEvent) {
- EventHandler.on(this._element, Event$3.POINTERDOWN, function (event) {
+ EventHandler.on(this._element, EVENT_POINTERDOWN, function (event) {
return start(event);
});
- EventHandler.on(this._element, Event$3.POINTERUP, function (event) {
+ EventHandler.on(this._element, EVENT_POINTERUP, function (event) {
return end(event);
});
- this._element.classList.add(ClassName$2.POINTER_EVENT);
+ this._element.classList.add(CLASS_NAME_POINTER_EVENT);
} else {
- EventHandler.on(this._element, Event$3.TOUCHSTART, function (event) {
+ EventHandler.on(this._element, EVENT_TOUCHSTART, function (event) {
return start(event);
});
- EventHandler.on(this._element, Event$3.TOUCHMOVE, function (event) {
+ EventHandler.on(this._element, EVENT_TOUCHMOVE, function (event) {
return move(event);
});
- EventHandler.on(this._element, Event$3.TOUCHEND, function (event) {
+ EventHandler.on(this._element, EVENT_TOUCHEND, function (event) {
return end(event);
});
}
@@ -1609,13 +1525,13 @@ function () {
};
_proto._getItemIndex = function _getItemIndex(element) {
- this._items = element && element.parentNode ? makeArray(SelectorEngine.find(Selector$2.ITEM, element.parentNode)) : [];
+ this._items = element && element.parentNode ? SelectorEngine.find(SELECTOR_ITEM, element.parentNode) : [];
return this._items.indexOf(element);
};
_proto._getItemByDirection = function _getItemByDirection(direction, activeElement) {
- var isNextDirection = direction === Direction.NEXT;
- var isPrevDirection = direction === Direction.PREV;
+ var isNextDirection = direction === DIRECTION_NEXT;
+ var isPrevDirection = direction === DIRECTION_PREV;
var activeIndex = this._getItemIndex(activeElement);
@@ -1626,7 +1542,7 @@ function () {
return activeElement;
}
- var delta = direction === Direction.PREV ? -1 : 1;
+ var delta = direction === DIRECTION_PREV ? -1 : 1;
var itemIndex = (activeIndex + delta) % this._items.length;
return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];
};
@@ -1634,9 +1550,9 @@ function () {
_proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {
var targetIndex = this._getItemIndex(relatedTarget);
- var fromIndex = this._getItemIndex(SelectorEngine.findOne(Selector$2.ACTIVE_ITEM, this._element));
+ var fromIndex = this._getItemIndex(SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element));
- return EventHandler.trigger(this._element, Event$3.SLIDE, {
+ return EventHandler.trigger(this._element, EVENT_SLIDE, {
relatedTarget: relatedTarget,
direction: eventDirectionName,
from: fromIndex,
@@ -1646,16 +1562,16 @@ function () {
_proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {
if (this._indicatorsElement) {
- var indicators = SelectorEngine.find(Selector$2.ACTIVE, this._indicatorsElement);
+ var indicators = SelectorEngine.find(SELECTOR_ACTIVE$1, this._indicatorsElement);
for (var i = 0; i < indicators.length; i++) {
- indicators[i].classList.remove(ClassName$2.ACTIVE);
+ indicators[i].classList.remove(CLASS_NAME_ACTIVE$1);
}
var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];
if (nextIndicator) {
- nextIndicator.classList.add(ClassName$2.ACTIVE);
+ nextIndicator.classList.add(CLASS_NAME_ACTIVE$1);
}
}
};
@@ -1663,7 +1579,7 @@ function () {
_proto._slide = function _slide(direction, element) {
var _this4 = this;
- var activeElement = SelectorEngine.findOne(Selector$2.ACTIVE_ITEM, this._element);
+ var activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element);
var activeElementIndex = this._getItemIndex(activeElement);
@@ -1676,17 +1592,17 @@ function () {
var orderClassName;
var eventDirectionName;
- if (direction === Direction.NEXT) {
- directionalClassName = ClassName$2.LEFT;
- orderClassName = ClassName$2.NEXT;
- eventDirectionName = Direction.LEFT;
+ if (direction === DIRECTION_NEXT) {
+ directionalClassName = CLASS_NAME_LEFT;
+ orderClassName = CLASS_NAME_NEXT;
+ eventDirectionName = DIRECTION_LEFT;
} else {
- directionalClassName = ClassName$2.RIGHT;
- orderClassName = ClassName$2.PREV;
- eventDirectionName = Direction.RIGHT;
+ directionalClassName = CLASS_NAME_RIGHT;
+ orderClassName = CLASS_NAME_PREV;
+ eventDirectionName = DIRECTION_RIGHT;
}
- if (nextElement && nextElement.classList.contains(ClassName$2.ACTIVE)) {
+ if (nextElement && nextElement.classList.contains(CLASS_NAME_ACTIVE$1)) {
this._isSliding = false;
return;
}
@@ -1710,7 +1626,7 @@ function () {
this._setActiveIndicatorElement(nextElement);
- if (this._element.classList.contains(ClassName$2.SLIDE)) {
+ if (this._element.classList.contains(CLASS_NAME_SLIDE)) {
nextElement.classList.add(orderClassName);
reflow(nextElement);
activeElement.classList.add(directionalClassName);
@@ -1728,13 +1644,13 @@ function () {
EventHandler.one(activeElement, TRANSITION_END, function () {
nextElement.classList.remove(directionalClassName);
nextElement.classList.remove(orderClassName);
- nextElement.classList.add(ClassName$2.ACTIVE);
- activeElement.classList.remove(ClassName$2.ACTIVE);
+ nextElement.classList.add(CLASS_NAME_ACTIVE$1);
+ activeElement.classList.remove(CLASS_NAME_ACTIVE$1);
activeElement.classList.remove(orderClassName);
activeElement.classList.remove(directionalClassName);
_this4._isSliding = false;
setTimeout(function () {
- EventHandler.trigger(_this4._element, Event$3.SLID, {
+ EventHandler.trigger(_this4._element, EVENT_SLID, {
relatedTarget: nextElement,
direction: eventDirectionName,
from: activeElementIndex,
@@ -1744,10 +1660,10 @@ function () {
});
emulateTransitionEnd(activeElement, transitionDuration);
} else {
- activeElement.classList.remove(ClassName$2.ACTIVE);
- nextElement.classList.add(ClassName$2.ACTIVE);
+ activeElement.classList.remove(CLASS_NAME_ACTIVE$1);
+ nextElement.classList.add(CLASS_NAME_ACTIVE$1);
this._isSliding = false;
- EventHandler.trigger(this._element, Event$3.SLID, {
+ EventHandler.trigger(this._element, EVENT_SLID, {
relatedTarget: nextElement,
direction: eventDirectionName,
from: activeElementIndex,
@@ -1799,7 +1715,7 @@ function () {
Carousel.dataApiClickHandler = function dataApiClickHandler(event) {
var target = getElementFromSelector(this);
- if (!target || !target.classList.contains(ClassName$2.CAROUSEL)) {
+ if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {
return;
}
@@ -1845,9 +1761,9 @@ function () {
*/
-EventHandler.on(document, Event$3.CLICK_DATA_API, Selector$2.DATA_SLIDE, Carousel.dataApiClickHandler);
-EventHandler.on(window, Event$3.LOAD_DATA_API, function () {
- var carousels = makeArray(SelectorEngine.find(Selector$2.DATA_RIDE));
+EventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_SLIDE, Carousel.dataApiClickHandler);
+EventHandler.on(window, EVENT_LOAD_DATA_API, function () {
+ var carousels = SelectorEngine.find(SELECTOR_DATA_RIDE);
for (var i = 0, len = carousels.length; i < len; i++) {
Carousel.carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY$2));
@@ -1893,47 +1809,37 @@ var DefaultType$1 = {
toggle: 'boolean',
parent: '(string|element)'
};
-var Event$4 = {
- SHOW: "show" + EVENT_KEY$3,
- SHOWN: "shown" + EVENT_KEY$3,
- HIDE: "hide" + EVENT_KEY$3,
- HIDDEN: "hidden" + EVENT_KEY$3,
- CLICK_DATA_API: "click" + EVENT_KEY$3 + DATA_API_KEY$3
-};
-var ClassName$3 = {
- SHOW: 'show',
- COLLAPSE: 'collapse',
- COLLAPSING: 'collapsing',
- COLLAPSED: 'collapsed'
-};
-var Dimension = {
- WIDTH: 'width',
- HEIGHT: 'height'
-};
-var Selector$3 = {
- ACTIVES: '.show, .collapsing',
- DATA_TOGGLE: '[data-toggle="collapse"]'
-};
+var EVENT_SHOW = "show" + EVENT_KEY$3;
+var EVENT_SHOWN = "shown" + EVENT_KEY$3;
+var EVENT_HIDE = "hide" + EVENT_KEY$3;
+var EVENT_HIDDEN = "hidden" + EVENT_KEY$3;
+var EVENT_CLICK_DATA_API$3 = "click" + EVENT_KEY$3 + DATA_API_KEY$3;
+var CLASS_NAME_SHOW = 'show';
+var CLASS_NAME_COLLAPSE = 'collapse';
+var CLASS_NAME_COLLAPSING = 'collapsing';
+var CLASS_NAME_COLLAPSED = 'collapsed';
+var WIDTH = 'width';
+var HEIGHT = 'height';
+var SELECTOR_ACTIVES = '.show, .collapsing';
+var SELECTOR_DATA_TOGGLE$1 = '[data-toggle="collapse"]';
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
-var Collapse =
-/*#__PURE__*/
-function () {
+var Collapse = /*#__PURE__*/function () {
function Collapse(element, config) {
this._isTransitioning = false;
this._element = element;
this._config = this._getConfig(config);
- this._triggerArray = makeArray(SelectorEngine.find("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]")));
- var toggleList = makeArray(SelectorEngine.find(Selector$3.DATA_TOGGLE));
+ this._triggerArray = SelectorEngine.find(SELECTOR_DATA_TOGGLE$1 + "[href=\"#" + element.id + "\"]," + (SELECTOR_DATA_TOGGLE$1 + "[data-target=\"#" + element.id + "\"]"));
+ var toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$1);
for (var i = 0, len = toggleList.length; i < len; i++) {
var elem = toggleList[i];
var selector = getSelectorFromElement(elem);
- var filterElement = makeArray(SelectorEngine.find(selector)).filter(function (foundElem) {
+ var filterElement = SelectorEngine.find(selector).filter(function (foundElem) {
return foundElem === element;
});
@@ -1962,7 +1868,7 @@ function () {
// Public
_proto.toggle = function toggle() {
- if (this._element.classList.contains(ClassName$3.SHOW)) {
+ if (this._element.classList.contains(CLASS_NAME_SHOW)) {
this.hide();
} else {
this.show();
@@ -1972,7 +1878,7 @@ function () {
_proto.show = function show() {
var _this = this;
- if (this._isTransitioning || this._element.classList.contains(ClassName$3.SHOW)) {
+ if (this._isTransitioning || this._element.classList.contains(CLASS_NAME_SHOW)) {
return;
}
@@ -1980,12 +1886,12 @@ function () {
var activesData;
if (this._parent) {
- actives = makeArray(SelectorEngine.find(Selector$3.ACTIVES, this._parent)).filter(function (elem) {
+ actives = SelectorEngine.find(SELECTOR_ACTIVES, this._parent).filter(function (elem) {
if (typeof _this._config.parent === 'string') {
return elem.getAttribute('data-parent') === _this._config.parent;
}
- return elem.classList.contains(ClassName$3.COLLAPSE);
+ return elem.classList.contains(CLASS_NAME_COLLAPSE);
});
if (actives.length === 0) {
@@ -2006,7 +1912,7 @@ function () {
}
}
- var startEvent = EventHandler.trigger(this._element, Event$4.SHOW);
+ var startEvent = EventHandler.trigger(this._element, EVENT_SHOW);
if (startEvent.defaultPrevented) {
return;
@@ -2026,15 +1932,15 @@ function () {
var dimension = this._getDimension();
- this._element.classList.remove(ClassName$3.COLLAPSE);
+ this._element.classList.remove(CLASS_NAME_COLLAPSE);
- this._element.classList.add(ClassName$3.COLLAPSING);
+ this._element.classList.add(CLASS_NAME_COLLAPSING);
this._element.style[dimension] = 0;
if (this._triggerArray.length) {
this._triggerArray.forEach(function (element) {
- element.classList.remove(ClassName$3.COLLAPSED);
+ element.classList.remove(CLASS_NAME_COLLAPSED);
element.setAttribute('aria-expanded', true);
});
}
@@ -2042,17 +1948,17 @@ function () {
this.setTransitioning(true);
var complete = function complete() {
- _this._element.classList.remove(ClassName$3.COLLAPSING);
+ _this._element.classList.remove(CLASS_NAME_COLLAPSING);
- _this._element.classList.add(ClassName$3.COLLAPSE);
+ _this._element.classList.add(CLASS_NAME_COLLAPSE);
- _this._element.classList.add(ClassName$3.SHOW);
+ _this._element.classList.add(CLASS_NAME_SHOW);
_this._element.style[dimension] = '';
_this.setTransitioning(false);
- EventHandler.trigger(_this._element, Event$4.SHOWN);
+ EventHandler.trigger(_this._element, EVENT_SHOWN);
};
var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
@@ -2066,11 +1972,11 @@ function () {
_proto.hide = function hide() {
var _this2 = this;
- if (this._isTransitioning || !this._element.classList.contains(ClassName$3.SHOW)) {
+ if (this._isTransitioning || !this._element.classList.contains(CLASS_NAME_SHOW)) {
return;
}
- var startEvent = EventHandler.trigger(this._element, Event$4.HIDE);
+ var startEvent = EventHandler.trigger(this._element, EVENT_HIDE);
if (startEvent.defaultPrevented) {
return;
@@ -2081,11 +1987,11 @@ function () {
this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px";
reflow(this._element);
- this._element.classList.add(ClassName$3.COLLAPSING);
+ this._element.classList.add(CLASS_NAME_COLLAPSING);
- this._element.classList.remove(ClassName$3.COLLAPSE);
+ this._element.classList.remove(CLASS_NAME_COLLAPSE);
- this._element.classList.remove(ClassName$3.SHOW);
+ this._element.classList.remove(CLASS_NAME_SHOW);
var triggerArrayLength = this._triggerArray.length;
@@ -2094,8 +2000,8 @@ function () {
var trigger = this._triggerArray[i];
var elem = getElementFromSelector(trigger);
- if (elem && !elem.classList.contains(ClassName$3.SHOW)) {
- trigger.classList.add(ClassName$3.COLLAPSED);
+ if (elem && !elem.classList.contains(CLASS_NAME_SHOW)) {
+ trigger.classList.add(CLASS_NAME_COLLAPSED);
trigger.setAttribute('aria-expanded', false);
}
}
@@ -2106,11 +2012,11 @@ function () {
var complete = function complete() {
_this2.setTransitioning(false);
- _this2._element.classList.remove(ClassName$3.COLLAPSING);
+ _this2._element.classList.remove(CLASS_NAME_COLLAPSING);
- _this2._element.classList.add(ClassName$3.COLLAPSE);
+ _this2._element.classList.add(CLASS_NAME_COLLAPSE);
- EventHandler.trigger(_this2._element, Event$4.HIDDEN);
+ EventHandler.trigger(_this2._element, EVENT_HIDDEN);
};
this._element.style[dimension] = '';
@@ -2142,9 +2048,9 @@ function () {
};
_proto._getDimension = function _getDimension() {
- var hasWidth = this._element.classList.contains(Dimension.WIDTH);
+ var hasWidth = this._element.classList.contains(WIDTH);
- return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT;
+ return hasWidth ? WIDTH : HEIGHT;
};
_proto._getParent = function _getParent() {
@@ -2161,8 +2067,8 @@ function () {
parent = SelectorEngine.findOne(parent);
}
- var selector = "[data-toggle=\"collapse\"][data-parent=\"" + parent + "\"]";
- makeArray(SelectorEngine.find(selector, parent)).forEach(function (element) {
+ var selector = SELECTOR_DATA_TOGGLE$1 + "[data-parent=\"" + parent + "\"]";
+ SelectorEngine.find(selector, parent).forEach(function (element) {
var selected = getElementFromSelector(element);
_this3._addAriaAndCollapsedClass(selected, [element]);
@@ -2172,14 +2078,14 @@ function () {
_proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {
if (element) {
- var isOpen = element.classList.contains(ClassName$3.SHOW);
+ var isOpen = element.classList.contains(CLASS_NAME_SHOW);
if (triggerArray.length) {
triggerArray.forEach(function (elem) {
if (isOpen) {
- elem.classList.remove(ClassName$3.COLLAPSED);
+ elem.classList.remove(CLASS_NAME_COLLAPSED);
} else {
- elem.classList.add(ClassName$3.COLLAPSED);
+ elem.classList.add(CLASS_NAME_COLLAPSED);
}
elem.setAttribute('aria-expanded', isOpen);
@@ -2242,7 +2148,7 @@ function () {
*/
-EventHandler.on(document, Event$4.CLICK_DATA_API, Selector$3.DATA_TOGGLE, function (event) {
+EventHandler.on(document, EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$1, function (event) {
// preventDefault only for <a> elements (which change the URL) not inside the collapsible element
if (event.target.tagName === 'A') {
event.preventDefault();
@@ -2250,7 +2156,7 @@ EventHandler.on(document, Event$4.CLICK_DATA_API, Selector$3.DATA_TOGGLE, functi
var triggerData = Manipulator.getDataAttributes(this);
var selector = getSelectorFromElement(this);
- var selectorElements = makeArray(SelectorEngine.find(selector));
+ var selectorElements = SelectorEngine.find(selector);
selectorElements.forEach(function (element) {
var data = Data.getData(element, DATA_KEY$3);
var config;
@@ -2315,42 +2221,33 @@ var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key
var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)
var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + "|" + ARROW_DOWN_KEYCODE + "|" + ESCAPE_KEYCODE);
-var Event$5 = {
- HIDE: "hide" + EVENT_KEY$4,
- HIDDEN: "hidden" + EVENT_KEY$4,
- SHOW: "show" + EVENT_KEY$4,
- SHOWN: "shown" + EVENT_KEY$4,
- CLICK: "click" + EVENT_KEY$4,
- CLICK_DATA_API: "click" + EVENT_KEY$4 + DATA_API_KEY$4,
- KEYDOWN_DATA_API: "keydown" + EVENT_KEY$4 + DATA_API_KEY$4,
- KEYUP_DATA_API: "keyup" + EVENT_KEY$4 + DATA_API_KEY$4
-};
-var ClassName$4 = {
- DISABLED: 'disabled',
- SHOW: 'show',
- DROPUP: 'dropup',
- DROPRIGHT: 'dropright',
- DROPLEFT: 'dropleft',
- MENURIGHT: 'dropdown-menu-right',
- POSITION_STATIC: 'position-static'
-};
-var Selector$4 = {
- DATA_TOGGLE: '[data-toggle="dropdown"]',
- FORM_CHILD: '.dropdown form',
- MENU: '.dropdown-menu',
- NAVBAR_NAV: '.navbar-nav',
- VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'
-};
-var AttachmentMap = {
- TOP: 'top-start',
- TOPEND: 'top-end',
- BOTTOM: 'bottom-start',
- BOTTOMEND: 'bottom-end',
- RIGHT: 'right-start',
- RIGHTEND: 'right-end',
- LEFT: 'left-start',
- LEFTEND: 'left-end'
-};
+var EVENT_HIDE$1 = "hide" + EVENT_KEY$4;
+var EVENT_HIDDEN$1 = "hidden" + EVENT_KEY$4;
+var EVENT_SHOW$1 = "show" + EVENT_KEY$4;
+var EVENT_SHOWN$1 = "shown" + EVENT_KEY$4;
+var EVENT_CLICK = "click" + EVENT_KEY$4;
+var EVENT_CLICK_DATA_API$4 = "click" + EVENT_KEY$4 + DATA_API_KEY$4;
+var EVENT_KEYDOWN_DATA_API = "keydown" + EVENT_KEY$4 + DATA_API_KEY$4;
+var EVENT_KEYUP_DATA_API = "keyup" + EVENT_KEY$4 + DATA_API_KEY$4;
+var CLASS_NAME_DISABLED$1 = 'disabled';
+var CLASS_NAME_SHOW$1 = 'show';
+var CLASS_NAME_DROPUP = 'dropup';
+var CLASS_NAME_DROPRIGHT = 'dropright';
+var CLASS_NAME_DROPLEFT = 'dropleft';
+var CLASS_NAME_MENURIGHT = 'dropdown-menu-right';
+var CLASS_NAME_NAVBAR = 'navbar';
+var CLASS_NAME_POSITION_STATIC = 'position-static';
+var SELECTOR_DATA_TOGGLE$2 = '[data-toggle="dropdown"]';
+var SELECTOR_FORM_CHILD = '.dropdown form';
+var SELECTOR_MENU = '.dropdown-menu';
+var SELECTOR_NAVBAR_NAV = '.navbar-nav';
+var SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)';
+var PLACEMENT_TOP = 'top-start';
+var PLACEMENT_TOPEND = 'top-end';
+var PLACEMENT_BOTTOM = 'bottom-start';
+var PLACEMENT_BOTTOMEND = 'bottom-end';
+var PLACEMENT_RIGHT = 'right-start';
+var PLACEMENT_LEFT = 'left-start';
var Default$2 = {
offset: 0,
flip: true,
@@ -2373,9 +2270,7 @@ var DefaultType$2 = {
* ------------------------------------------------------------------------
*/
-var Dropdown =
-/*#__PURE__*/
-function () {
+var Dropdown = /*#__PURE__*/function () {
function Dropdown(element, config) {
this._element = element;
this._popper = null;
@@ -2393,11 +2288,11 @@ function () {
// Public
_proto.toggle = function toggle() {
- if (this._element.disabled || this._element.classList.contains(ClassName$4.DISABLED)) {
+ if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED$1)) {
return;
}
- var isActive = this._menu.classList.contains(ClassName$4.SHOW);
+ var isActive = this._element.classList.contains(CLASS_NAME_SHOW$1);
Dropdown.clearMenus();
@@ -2409,7 +2304,7 @@ function () {
};
_proto.show = function show() {
- if (this._element.disabled || this._element.classList.contains(ClassName$4.DISABLED) || this._menu.classList.contains(ClassName$4.SHOW)) {
+ if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED$1) || this._menu.classList.contains(CLASS_NAME_SHOW$1)) {
return;
}
@@ -2417,7 +2312,7 @@ function () {
var relatedTarget = {
relatedTarget: this._element
};
- var showEvent = EventHandler.trigger(parent, Event$5.SHOW, relatedTarget);
+ var showEvent = EventHandler.trigger(this._element, EVENT_SHOW$1, relatedTarget);
if (showEvent.defaultPrevented) {
return;
@@ -2445,7 +2340,7 @@ function () {
if (this._config.boundary !== 'scrollParent') {
- parent.classList.add(ClassName$4.POSITION_STATIC);
+ parent.classList.add(CLASS_NAME_POSITION_STATIC);
}
this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig());
@@ -2455,8 +2350,10 @@ function () {
// https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
- if ('ontouchstart' in document.documentElement && !makeArray(SelectorEngine.closest(parent, Selector$4.NAVBAR_NAV)).length) {
- makeArray(document.body.children).forEach(function (elem) {
+ if ('ontouchstart' in document.documentElement && !SelectorEngine.closest(parent, SELECTOR_NAVBAR_NAV)) {
+ var _ref;
+
+ (_ref = []).concat.apply(_ref, document.body.children).forEach(function (elem) {
return EventHandler.on(elem, 'mouseover', null, noop());
});
}
@@ -2465,13 +2362,13 @@ function () {
this._element.setAttribute('aria-expanded', true);
- Manipulator.toggleClass(this._menu, ClassName$4.SHOW);
- Manipulator.toggleClass(parent, ClassName$4.SHOW);
- EventHandler.trigger(parent, Event$5.SHOWN, relatedTarget);
+ Manipulator.toggleClass(this._menu, CLASS_NAME_SHOW$1);
+ Manipulator.toggleClass(this._element, CLASS_NAME_SHOW$1);
+ EventHandler.trigger(parent, EVENT_SHOWN$1, relatedTarget);
};
_proto.hide = function hide() {
- if (this._element.disabled || this._element.classList.contains(ClassName$4.DISABLED) || !this._menu.classList.contains(ClassName$4.SHOW)) {
+ if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED$1) || !this._menu.classList.contains(CLASS_NAME_SHOW$1)) {
return;
}
@@ -2479,7 +2376,7 @@ function () {
var relatedTarget = {
relatedTarget: this._element
};
- var hideEvent = EventHandler.trigger(parent, Event$5.HIDE, relatedTarget);
+ var hideEvent = EventHandler.trigger(parent, EVENT_HIDE$1, relatedTarget);
if (hideEvent.defaultPrevented) {
return;
@@ -2489,9 +2386,9 @@ function () {
this._popper.destroy();
}
- Manipulator.toggleClass(this._menu, ClassName$4.SHOW);
- Manipulator.toggleClass(parent, ClassName$4.SHOW);
- EventHandler.trigger(parent, Event$5.HIDDEN, relatedTarget);
+ Manipulator.toggleClass(this._menu, CLASS_NAME_SHOW$1);
+ Manipulator.toggleClass(this._element, CLASS_NAME_SHOW$1);
+ EventHandler.trigger(parent, EVENT_HIDDEN$1, relatedTarget);
};
_proto.dispose = function dispose() {
@@ -2519,7 +2416,7 @@ function () {
_proto._addEventListeners = function _addEventListeners() {
var _this = this;
- EventHandler.on(this._element, Event$5.CLICK, function (event) {
+ EventHandler.on(this._element, EVENT_CLICK, function (event) {
event.preventDefault();
event.stopPropagation();
@@ -2534,33 +2431,32 @@ function () {
};
_proto._getMenuElement = function _getMenuElement() {
- var parent = Dropdown.getParentFromElement(this._element);
- return SelectorEngine.findOne(Selector$4.MENU, parent);
+ return SelectorEngine.next(this._element, SELECTOR_MENU)[0];
};
_proto._getPlacement = function _getPlacement() {
var parentDropdown = this._element.parentNode;
- var placement = AttachmentMap.BOTTOM; // Handle dropup
+ var placement = PLACEMENT_BOTTOM; // Handle dropup
- if (parentDropdown.classList.contains(ClassName$4.DROPUP)) {
- placement = AttachmentMap.TOP;
+ if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {
+ placement = PLACEMENT_TOP;
- if (this._menu.classList.contains(ClassName$4.MENURIGHT)) {
- placement = AttachmentMap.TOPEND;
+ if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {
+ placement = PLACEMENT_TOPEND;
}
- } else if (parentDropdown.classList.contains(ClassName$4.DROPRIGHT)) {
- placement = AttachmentMap.RIGHT;
- } else if (parentDropdown.classList.contains(ClassName$4.DROPLEFT)) {
- placement = AttachmentMap.LEFT;
- } else if (this._menu.classList.contains(ClassName$4.MENURIGHT)) {
- placement = AttachmentMap.BOTTOMEND;
+ } else if (parentDropdown.classList.contains(CLASS_NAME_DROPRIGHT)) {
+ placement = PLACEMENT_RIGHT;
+ } else if (parentDropdown.classList.contains(CLASS_NAME_DROPLEFT)) {
+ placement = PLACEMENT_LEFT;
+ } else if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {
+ placement = PLACEMENT_BOTTOMEND;
}
return placement;
};
_proto._detectNavbar = function _detectNavbar() {
- return Boolean(SelectorEngine.closest(this._element, '.navbar'));
+ return Boolean(SelectorEngine.closest(this._element, "." + CLASS_NAME_NAVBAR));
};
_proto._getOffset = function _getOffset() {
@@ -2633,7 +2529,7 @@ function () {
return;
}
- var toggles = makeArray(SelectorEngine.find(Selector$4.DATA_TOGGLE));
+ var toggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE$2);
for (var i = 0, len = toggles.length; i < len; i++) {
var parent = Dropdown.getParentFromElement(toggles[i]);
@@ -2652,15 +2548,15 @@ function () {
var dropdownMenu = context._menu;
- if (!parent.classList.contains(ClassName$4.SHOW)) {
+ if (!toggles[i].classList.contains(CLASS_NAME_SHOW$1)) {
continue;
}
- if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && parent.contains(event.target)) {
+ if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && dropdownMenu.contains(event.target)) {
continue;
}
- var hideEvent = EventHandler.trigger(parent, Event$5.HIDE, relatedTarget);
+ var hideEvent = EventHandler.trigger(parent, EVENT_HIDE$1, relatedTarget);
if (hideEvent.defaultPrevented) {
continue;
@@ -2669,7 +2565,9 @@ function () {
if ('ontouchstart' in document.documentElement) {
- makeArray(document.body.children).forEach(function (elem) {
+ var _ref2;
+
+ (_ref2 = []).concat.apply(_ref2, document.body.children).forEach(function (elem) {
return EventHandler.off(elem, 'mouseover', null, noop());
});
}
@@ -2680,9 +2578,9 @@ function () {
context._popper.destroy();
}
- dropdownMenu.classList.remove(ClassName$4.SHOW);
- parent.classList.remove(ClassName$4.SHOW);
- EventHandler.trigger(parent, Event$5.HIDDEN, relatedTarget);
+ dropdownMenu.classList.remove(CLASS_NAME_SHOW$1);
+ toggles[i].classList.remove(CLASS_NAME_SHOW$1);
+ EventHandler.trigger(parent, EVENT_HIDDEN$1, relatedTarget);
}
};
@@ -2698,36 +2596,39 @@ function () {
// - If key is other than escape
// - If key is not up or down => not a dropdown command
// - If trigger inside the menu => not a dropdown command
- if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE && (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || SelectorEngine.closest(event.target, Selector$4.MENU)) : !REGEXP_KEYDOWN.test(event.which)) {
+ if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE && (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || SelectorEngine.closest(event.target, SELECTOR_MENU)) : !REGEXP_KEYDOWN.test(event.which)) {
return;
}
event.preventDefault();
event.stopPropagation();
- if (this.disabled || this.classList.contains(ClassName$4.DISABLED)) {
+ if (this.disabled || this.classList.contains(CLASS_NAME_DISABLED$1)) {
return;
}
var parent = Dropdown.getParentFromElement(this);
- var isActive = parent.classList.contains(ClassName$4.SHOW);
+ var isActive = this.classList.contains(CLASS_NAME_SHOW$1);
- if (!isActive || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {
- if (event.which === ESCAPE_KEYCODE) {
- SelectorEngine.findOne(Selector$4.DATA_TOGGLE, parent).focus();
- }
+ if (event.which === ESCAPE_KEYCODE) {
+ var button = this.matches(SELECTOR_DATA_TOGGLE$2) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$2)[0];
+ button.focus();
+ Dropdown.clearMenus();
+ return;
+ }
+ if (!isActive || event.which === SPACE_KEYCODE) {
Dropdown.clearMenus();
return;
}
- var items = makeArray(SelectorEngine.find(Selector$4.VISIBLE_ITEMS, parent)).filter(isVisible);
+ var items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, parent).filter(isVisible);
if (!items.length) {
return;
}
- var index = items.indexOf(event.target);
+ var index = items.indexOf(event.target) || 0;
if (event.which === ARROW_UP_KEYCODE && index > 0) {
// Up
@@ -2739,10 +2640,6 @@ function () {
index++;
}
- if (index < 0) {
- index = 0;
- }
-
items[index].focus();
};
@@ -2776,16 +2673,16 @@ function () {
*/
-EventHandler.on(document, Event$5.KEYDOWN_DATA_API, Selector$4.DATA_TOGGLE, Dropdown.dataApiKeydownHandler);
-EventHandler.on(document, Event$5.KEYDOWN_DATA_API, Selector$4.MENU, Dropdown.dataApiKeydownHandler);
-EventHandler.on(document, Event$5.CLICK_DATA_API, Dropdown.clearMenus);
-EventHandler.on(document, Event$5.KEYUP_DATA_API, Dropdown.clearMenus);
-EventHandler.on(document, Event$5.CLICK_DATA_API, Selector$4.DATA_TOGGLE, function (event) {
+EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$2, Dropdown.dataApiKeydownHandler);
+EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler);
+EventHandler.on(document, EVENT_CLICK_DATA_API$4, Dropdown.clearMenus);
+EventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus);
+EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$2, function (event) {
event.preventDefault();
event.stopPropagation();
Dropdown.dropdownInterface(this, 'toggle');
});
-EventHandler.on(document, Event$5.CLICK_DATA_API, Selector$4.FORM_CHILD, function (e) {
+EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_FORM_CHILD, function (e) {
return e.stopPropagation();
});
var $$5 = getjQuery();
@@ -2834,50 +2731,42 @@ var DefaultType$3 = {
focus: 'boolean',
show: 'boolean'
};
-var Event$6 = {
- HIDE: "hide" + EVENT_KEY$5,
- HIDE_PREVENTED: "hidePrevented" + EVENT_KEY$5,
- HIDDEN: "hidden" + EVENT_KEY$5,
- SHOW: "show" + EVENT_KEY$5,
- SHOWN: "shown" + EVENT_KEY$5,
- FOCUSIN: "focusin" + EVENT_KEY$5,
- RESIZE: "resize" + EVENT_KEY$5,
- CLICK_DISMISS: "click.dismiss" + EVENT_KEY$5,
- KEYDOWN_DISMISS: "keydown.dismiss" + EVENT_KEY$5,
- MOUSEUP_DISMISS: "mouseup.dismiss" + EVENT_KEY$5,
- MOUSEDOWN_DISMISS: "mousedown.dismiss" + EVENT_KEY$5,
- CLICK_DATA_API: "click" + EVENT_KEY$5 + DATA_API_KEY$5
-};
-var ClassName$5 = {
- SCROLLABLE: 'modal-dialog-scrollable',
- SCROLLBAR_MEASURER: 'modal-scrollbar-measure',
- BACKDROP: 'modal-backdrop',
- OPEN: 'modal-open',
- FADE: 'fade',
- SHOW: 'show',
- STATIC: 'modal-static'
-};
-var Selector$5 = {
- DIALOG: '.modal-dialog',
- MODAL_BODY: '.modal-body',
- DATA_TOGGLE: '[data-toggle="modal"]',
- DATA_DISMISS: '[data-dismiss="modal"]',
- FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
- STICKY_CONTENT: '.sticky-top'
-};
+var EVENT_HIDE$2 = "hide" + EVENT_KEY$5;
+var EVENT_HIDE_PREVENTED = "hidePrevented" + EVENT_KEY$5;
+var EVENT_HIDDEN$2 = "hidden" + EVENT_KEY$5;
+var EVENT_SHOW$2 = "show" + EVENT_KEY$5;
+var EVENT_SHOWN$2 = "shown" + EVENT_KEY$5;
+var EVENT_FOCUSIN = "focusin" + EVENT_KEY$5;
+var EVENT_RESIZE = "resize" + EVENT_KEY$5;
+var EVENT_CLICK_DISMISS = "click.dismiss" + EVENT_KEY$5;
+var EVENT_KEYDOWN_DISMISS = "keydown.dismiss" + EVENT_KEY$5;
+var EVENT_MOUSEUP_DISMISS = "mouseup.dismiss" + EVENT_KEY$5;
+var EVENT_MOUSEDOWN_DISMISS = "mousedown.dismiss" + EVENT_KEY$5;
+var EVENT_CLICK_DATA_API$5 = "click" + EVENT_KEY$5 + DATA_API_KEY$5;
+var CLASS_NAME_SCROLLABLE = 'modal-dialog-scrollable';
+var CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure';
+var CLASS_NAME_BACKDROP = 'modal-backdrop';
+var CLASS_NAME_OPEN = 'modal-open';
+var CLASS_NAME_FADE = 'fade';
+var CLASS_NAME_SHOW$2 = 'show';
+var CLASS_NAME_STATIC = 'modal-static';
+var SELECTOR_DIALOG = '.modal-dialog';
+var SELECTOR_MODAL_BODY = '.modal-body';
+var SELECTOR_DATA_TOGGLE$3 = '[data-toggle="modal"]';
+var SELECTOR_DATA_DISMISS = '[data-dismiss="modal"]';
+var SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';
+var SELECTOR_STICKY_CONTENT = '.sticky-top';
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
-var Modal =
-/*#__PURE__*/
-function () {
+var Modal = /*#__PURE__*/function () {
function Modal(element, config) {
this._config = this._getConfig(config);
this._element = element;
- this._dialog = SelectorEngine.findOne(Selector$5.DIALOG, element);
+ this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, element);
this._backdrop = null;
this._isShown = false;
this._isBodyOverflowing = false;
@@ -2902,11 +2791,11 @@ function () {
return;
}
- if (this._element.classList.contains(ClassName$5.FADE)) {
+ if (this._element.classList.contains(CLASS_NAME_FADE)) {
this._isTransitioning = true;
}
- var showEvent = EventHandler.trigger(this._element, Event$6.SHOW, {
+ var showEvent = EventHandler.trigger(this._element, EVENT_SHOW$2, {
relatedTarget: relatedTarget
});
@@ -2926,11 +2815,11 @@ function () {
this._setResizeEvent();
- EventHandler.on(this._element, Event$6.CLICK_DISMISS, Selector$5.DATA_DISMISS, function (event) {
+ EventHandler.on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, function (event) {
return _this.hide(event);
});
- EventHandler.on(this._dialog, Event$6.MOUSEDOWN_DISMISS, function () {
- EventHandler.one(_this._element, Event$6.MOUSEUP_DISMISS, function (event) {
+ EventHandler.on(this._dialog, EVENT_MOUSEDOWN_DISMISS, function () {
+ EventHandler.one(_this._element, EVENT_MOUSEUP_DISMISS, function (event) {
if (event.target === _this._element) {
_this._ignoreBackdropClick = true;
}
@@ -2953,7 +2842,7 @@ function () {
return;
}
- var hideEvent = EventHandler.trigger(this._element, Event$6.HIDE);
+ var hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$2);
if (hideEvent.defaultPrevented) {
return;
@@ -2961,7 +2850,7 @@ function () {
this._isShown = false;
- var transition = this._element.classList.contains(ClassName$5.FADE);
+ var transition = this._element.classList.contains(CLASS_NAME_FADE);
if (transition) {
this._isTransitioning = true;
@@ -2971,12 +2860,12 @@ function () {
this._setResizeEvent();
- EventHandler.off(document, Event$6.FOCUSIN);
+ EventHandler.off(document, EVENT_FOCUSIN);
- this._element.classList.remove(ClassName$5.SHOW);
+ this._element.classList.remove(CLASS_NAME_SHOW$2);
- EventHandler.off(this._element, Event$6.CLICK_DISMISS);
- EventHandler.off(this._dialog, Event$6.MOUSEDOWN_DISMISS);
+ EventHandler.off(this._element, EVENT_CLICK_DISMISS);
+ EventHandler.off(this._dialog, EVENT_MOUSEDOWN_DISMISS);
if (transition) {
var transitionDuration = getTransitionDurationFromElement(this._element);
@@ -2994,12 +2883,12 @@ function () {
return EventHandler.off(htmlElement, EVENT_KEY$5);
});
/**
- * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`
+ * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`
* Do not move `document` in `htmlElements` array
- * It will remove `Event.CLICK_DATA_API` event that should remain
+ * It will remove `EVENT_CLICK_DATA_API` event that should remain
*/
- EventHandler.off(document, Event$6.FOCUSIN);
+ EventHandler.off(document, EVENT_FOCUSIN);
Data.removeData(this._element, DATA_KEY$5);
this._config = null;
this._element = null;
@@ -3026,9 +2915,9 @@ function () {
_proto._showElement = function _showElement(relatedTarget) {
var _this3 = this;
- var transition = this._element.classList.contains(ClassName$5.FADE);
+ var transition = this._element.classList.contains(CLASS_NAME_FADE);
- var modalBody = SelectorEngine.findOne(Selector$5.MODAL_BODY, this._dialog);
+ var modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog);
if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
// Don't move modal's DOM position
@@ -3041,7 +2930,7 @@ function () {
this._element.setAttribute('aria-modal', true);
- if (this._dialog.classList.contains(ClassName$5.SCROLLABLE) && modalBody) {
+ if (this._dialog.classList.contains(CLASS_NAME_SCROLLABLE) && modalBody) {
modalBody.scrollTop = 0;
} else {
this._element.scrollTop = 0;
@@ -3051,7 +2940,7 @@ function () {
reflow(this._element);
}
- this._element.classList.add(ClassName$5.SHOW);
+ this._element.classList.add(CLASS_NAME_SHOW$2);
if (this._config.focus) {
this._enforceFocus();
@@ -3063,7 +2952,7 @@ function () {
}
_this3._isTransitioning = false;
- EventHandler.trigger(_this3._element, Event$6.SHOWN, {
+ EventHandler.trigger(_this3._element, EVENT_SHOWN$2, {
relatedTarget: relatedTarget
});
};
@@ -3080,9 +2969,9 @@ function () {
_proto._enforceFocus = function _enforceFocus() {
var _this4 = this;
- EventHandler.off(document, Event$6.FOCUSIN); // guard against infinite focus loop
+ EventHandler.off(document, EVENT_FOCUSIN); // guard against infinite focus loop
- EventHandler.on(document, Event$6.FOCUSIN, function (event) {
+ EventHandler.on(document, EVENT_FOCUSIN, function (event) {
if (document !== event.target && _this4._element !== event.target && !_this4._element.contains(event.target)) {
_this4._element.focus();
}
@@ -3092,14 +2981,18 @@ function () {
_proto._setEscapeEvent = function _setEscapeEvent() {
var _this5 = this;
- if (this._isShown && this._config.keyboard) {
- EventHandler.on(this._element, Event$6.KEYDOWN_DISMISS, function (event) {
- if (event.which === ESCAPE_KEYCODE$1) {
+ if (this._isShown) {
+ EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, function (event) {
+ if (_this5._config.keyboard && event.which === ESCAPE_KEYCODE$1) {
+ event.preventDefault();
+
+ _this5.hide();
+ } else if (!_this5._config.keyboard && event.which === ESCAPE_KEYCODE$1) {
_this5._triggerBackdropTransition();
}
});
} else {
- EventHandler.off(this._element, Event$6.KEYDOWN_DISMISS);
+ EventHandler.off(this._element, EVENT_KEYDOWN_DISMISS);
}
};
@@ -3107,11 +3000,11 @@ function () {
var _this6 = this;
if (this._isShown) {
- EventHandler.on(window, Event$6.RESIZE, function () {
+ EventHandler.on(window, EVENT_RESIZE, function () {
return _this6._adjustDialog();
});
} else {
- EventHandler.off(window, Event$6.RESIZE);
+ EventHandler.off(window, EVENT_RESIZE);
}
};
@@ -3127,13 +3020,13 @@ function () {
this._isTransitioning = false;
this._showBackdrop(function () {
- document.body.classList.remove(ClassName$5.OPEN);
+ document.body.classList.remove(CLASS_NAME_OPEN);
_this7._resetAdjustments();
_this7._resetScrollbar();
- EventHandler.trigger(_this7._element, Event$6.HIDDEN);
+ EventHandler.trigger(_this7._element, EVENT_HIDDEN$2);
});
};
@@ -3146,18 +3039,18 @@ function () {
_proto._showBackdrop = function _showBackdrop(callback) {
var _this8 = this;
- var animate = this._element.classList.contains(ClassName$5.FADE) ? ClassName$5.FADE : '';
+ var animate = this._element.classList.contains(CLASS_NAME_FADE) ? CLASS_NAME_FADE : '';
if (this._isShown && this._config.backdrop) {
this._backdrop = document.createElement('div');
- this._backdrop.className = ClassName$5.BACKDROP;
+ this._backdrop.className = CLASS_NAME_BACKDROP;
if (animate) {
this._backdrop.classList.add(animate);
}
document.body.appendChild(this._backdrop);
- EventHandler.on(this._element, Event$6.CLICK_DISMISS, function (event) {
+ EventHandler.on(this._element, EVENT_CLICK_DISMISS, function (event) {
if (_this8._ignoreBackdropClick) {
_this8._ignoreBackdropClick = false;
return;
@@ -3174,7 +3067,7 @@ function () {
reflow(this._backdrop);
}
- this._backdrop.classList.add(ClassName$5.SHOW);
+ this._backdrop.classList.add(CLASS_NAME_SHOW$2);
if (!animate) {
callback();
@@ -3185,7 +3078,7 @@ function () {
EventHandler.one(this._backdrop, TRANSITION_END, callback);
emulateTransitionEnd(this._backdrop, backdropTransitionDuration);
} else if (!this._isShown && this._backdrop) {
- this._backdrop.classList.remove(ClassName$5.SHOW);
+ this._backdrop.classList.remove(CLASS_NAME_SHOW$2);
var callbackRemove = function callbackRemove() {
_this8._removeBackdrop();
@@ -3193,7 +3086,7 @@ function () {
callback();
};
- if (this._element.classList.contains(ClassName$5.FADE)) {
+ if (this._element.classList.contains(CLASS_NAME_FADE)) {
var _backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop);
EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove);
@@ -3210,17 +3103,17 @@ function () {
var _this9 = this;
if (this._config.backdrop === 'static') {
- var hideEvent = EventHandler.trigger(this._element, Event$6.HIDE_PREVENTED);
+ var hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED);
if (hideEvent.defaultPrevented) {
return;
}
- this._element.classList.add(ClassName$5.STATIC);
+ this._element.classList.add(CLASS_NAME_STATIC);
var modalTransitionDuration = getTransitionDurationFromElement(this._element);
EventHandler.one(this._element, TRANSITION_END, function () {
- _this9._element.classList.remove(ClassName$5.STATIC);
+ _this9._element.classList.remove(CLASS_NAME_STATIC);
});
emulateTransitionEnd(this._element, modalTransitionDuration);
@@ -3263,14 +3156,14 @@ function () {
// Note: DOMNode.style.paddingRight returns the actual value or '' if not set
// while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set
// Adjust fixed content padding
- makeArray(SelectorEngine.find(Selector$5.FIXED_CONTENT)).forEach(function (element) {
+ SelectorEngine.find(SELECTOR_FIXED_CONTENT).forEach(function (element) {
var actualPadding = element.style.paddingRight;
var calculatedPadding = window.getComputedStyle(element)['padding-right'];
Manipulator.setDataAttribute(element, 'padding-right', actualPadding);
element.style.paddingRight = parseFloat(calculatedPadding) + _this10._scrollbarWidth + "px";
}); // Adjust sticky content margin
- makeArray(SelectorEngine.find(Selector$5.STICKY_CONTENT)).forEach(function (element) {
+ SelectorEngine.find(SELECTOR_STICKY_CONTENT).forEach(function (element) {
var actualMargin = element.style.marginRight;
var calculatedMargin = window.getComputedStyle(element)['margin-right'];
Manipulator.setDataAttribute(element, 'margin-right', actualMargin);
@@ -3283,12 +3176,12 @@ function () {
document.body.style.paddingRight = parseFloat(calculatedPadding) + this._scrollbarWidth + "px";
}
- document.body.classList.add(ClassName$5.OPEN);
+ document.body.classList.add(CLASS_NAME_OPEN);
};
_proto._resetScrollbar = function _resetScrollbar() {
// Restore fixed content padding
- makeArray(SelectorEngine.find(Selector$5.FIXED_CONTENT)).forEach(function (element) {
+ SelectorEngine.find(SELECTOR_FIXED_CONTENT).forEach(function (element) {
var padding = Manipulator.getDataAttribute(element, 'padding-right');
if (typeof padding !== 'undefined') {
@@ -3297,7 +3190,7 @@ function () {
}
}); // Restore sticky content and navbar-toggler margin
- makeArray(SelectorEngine.find("" + Selector$5.STICKY_CONTENT)).forEach(function (element) {
+ SelectorEngine.find("" + SELECTOR_STICKY_CONTENT).forEach(function (element) {
var margin = Manipulator.getDataAttribute(element, 'margin-right');
if (typeof margin !== 'undefined') {
@@ -3319,7 +3212,7 @@ function () {
_proto._getScrollbarWidth = function _getScrollbarWidth() {
// thx d.walsh
var scrollDiv = document.createElement('div');
- scrollDiv.className = ClassName$5.SCROLLBAR_MEASURER;
+ scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER;
document.body.appendChild(scrollDiv);
var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;
document.body.removeChild(scrollDiv);
@@ -3374,7 +3267,7 @@ function () {
*/
-EventHandler.on(document, Event$6.CLICK_DATA_API, Selector$5.DATA_TOGGLE, function (event) {
+EventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_TOGGLE$3, function (event) {
var _this11 = this;
var target = getElementFromSelector(this);
@@ -3383,13 +3276,13 @@ EventHandler.on(document, Event$6.CLICK_DATA_API, Selector$5.DATA_TOGGLE, functi
event.preventDefault();
}
- EventHandler.one(target, Event$6.SHOW, function (showEvent) {
+ EventHandler.one(target, EVENT_SHOW$2, function (showEvent) {
if (showEvent.defaultPrevented) {
// only register focus restorer if modal will actually get shown
return;
}
- EventHandler.one(target, Event$6.HIDDEN, function () {
+ EventHandler.one(target, EVENT_HIDDEN$2, function () {
if (isVisible(_this11)) {
_this11.focus();
}
@@ -3440,21 +3333,21 @@ var ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i;
* Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts
*/
-var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi;
+var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi;
/**
* A pattern that matches safe data URLs. Only matches image, video and audio types.
*
* Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts
*/
-var DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i;
+var DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i;
var allowedAttribute = function allowedAttribute(attr, allowedAttributeList) {
var attrName = attr.nodeName.toLowerCase();
if (allowedAttributeList.indexOf(attrName) !== -1) {
if (uriAttrs.indexOf(attrName) !== -1) {
- return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN));
+ return SAFE_URL_PATTERN.test(attr.nodeValue) || DATA_URL_PATTERN.test(attr.nodeValue);
}
return true;
@@ -3464,8 +3357,8 @@ var allowedAttribute = function allowedAttribute(attr, allowedAttributeList) {
return attrRegex instanceof RegExp;
}); // Check if a regular expression validates the attribute.
- for (var i = 0, l = regExp.length; i < l; i++) {
- if (attrName.match(regExp[i])) {
+ for (var i = 0, len = regExp.length; i < len; i++) {
+ if (regExp[i].test(attrName)) {
return true;
}
}
@@ -3492,7 +3385,7 @@ var DefaultWhitelist = {
h5: [],
h6: [],
i: [],
- img: ['src', 'alt', 'title', 'width', 'height'],
+ img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],
li: [],
ol: [],
p: [],
@@ -3507,6 +3400,8 @@ var DefaultWhitelist = {
ul: []
};
function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {
+ var _ref;
+
if (!unsafeHtml.length) {
return unsafeHtml;
}
@@ -3518,9 +3413,12 @@ function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {
var domParser = new window.DOMParser();
var createdDocument = domParser.parseFromString(unsafeHtml, 'text/html');
var whitelistKeys = Object.keys(whiteList);
- var elements = makeArray(createdDocument.body.querySelectorAll('*'));
+
+ var elements = (_ref = []).concat.apply(_ref, createdDocument.body.querySelectorAll('*'));
var _loop = function _loop(i, len) {
+ var _ref2;
+
var el = elements[i];
var elName = el.nodeName.toLowerCase();
@@ -3529,7 +3427,8 @@ function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {
return "continue";
}
- var attributeList = makeArray(el.attributes);
+ var attributeList = (_ref2 = []).concat.apply(_ref2, el.attributes);
+
var whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || []);
attributeList.forEach(function (attr) {
if (!allowedAttribute(attr, whitelistedAttributes)) {
@@ -3578,7 +3477,7 @@ var DefaultType$4 = {
whiteList: 'object',
popperConfig: '(null|object)'
};
-var AttachmentMap$1 = {
+var AttachmentMap = {
AUTO: 'auto',
TOP: 'top',
RIGHT: 'right',
@@ -3603,11 +3502,7 @@ var Default$4 = {
whiteList: DefaultWhitelist,
popperConfig: null
};
-var HoverState = {
- SHOW: 'show',
- OUT: 'out'
-};
-var Event$7 = {
+var Event$1 = {
HIDE: "hide" + EVENT_KEY$6,
HIDDEN: "hidden" + EVENT_KEY$6,
SHOW: "show" + EVENT_KEY$6,
@@ -3619,28 +3514,23 @@ var Event$7 = {
MOUSEENTER: "mouseenter" + EVENT_KEY$6,
MOUSELEAVE: "mouseleave" + EVENT_KEY$6
};
-var ClassName$6 = {
- FADE: 'fade',
- SHOW: 'show'
-};
-var Selector$6 = {
- TOOLTIP_INNER: '.tooltip-inner'
-};
-var Trigger = {
- HOVER: 'hover',
- FOCUS: 'focus',
- CLICK: 'click',
- MANUAL: 'manual'
-};
+var CLASS_NAME_FADE$1 = 'fade';
+var CLASS_NAME_MODAL = 'modal';
+var CLASS_NAME_SHOW$3 = 'show';
+var HOVER_STATE_SHOW = 'show';
+var HOVER_STATE_OUT = 'out';
+var SELECTOR_TOOLTIP_INNER = '.tooltip-inner';
+var TRIGGER_HOVER = 'hover';
+var TRIGGER_FOCUS = 'focus';
+var TRIGGER_CLICK = 'click';
+var TRIGGER_MANUAL = 'manual';
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
-var Tooltip =
-/*#__PURE__*/
-function () {
+var Tooltip = /*#__PURE__*/function () {
function Tooltip(element, config) {
if (typeof Popper === 'undefined') {
throw new TypeError('Bootstrap\'s tooltips require Popper.js (https://popper.js.org)');
@@ -3700,7 +3590,7 @@ function () {
context._leave(null, context);
}
} else {
- if (this.getTipElement().classList.contains(ClassName$6.SHOW)) {
+ if (this.getTipElement().classList.contains(CLASS_NAME_SHOW$3)) {
this._leave(null, this);
return;
@@ -3714,7 +3604,7 @@ function () {
clearTimeout(this._timeout);
Data.removeData(this.element, this.constructor.DATA_KEY);
EventHandler.off(this.element, this.constructor.EVENT_KEY);
- EventHandler.off(SelectorEngine.closest(this.element, '.modal'), 'hide.bs.modal', this._hideModalHandler);
+ EventHandler.off(SelectorEngine.closest(this.element, "." + CLASS_NAME_MODAL), 'hide.bs.modal', this._hideModalHandler);
if (this.tip) {
this.tip.parentNode.removeChild(this.tip);
@@ -3758,7 +3648,7 @@ function () {
this.setContent();
if (this.config.animation) {
- tip.classList.add(ClassName$6.FADE);
+ tip.classList.add(CLASS_NAME_FADE$1);
}
var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;
@@ -3777,13 +3667,15 @@ function () {
EventHandler.trigger(this.element, this.constructor.Event.INSERTED);
this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment));
- tip.classList.add(ClassName$6.SHOW); // If this is a touch-enabled device we add extra
+ tip.classList.add(CLASS_NAME_SHOW$3); // If this is a touch-enabled device we add extra
// empty mouseover listeners to the body's immediate children;
// only needed because of broken event delegation on iOS
// https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
if ('ontouchstart' in document.documentElement) {
- makeArray(document.body.children).forEach(function (element) {
+ var _ref;
+
+ (_ref = []).concat.apply(_ref, document.body.children).forEach(function (element) {
EventHandler.on(element, 'mouseover', noop());
});
}
@@ -3797,12 +3689,12 @@ function () {
_this._hoverState = null;
EventHandler.trigger(_this.element, _this.constructor.Event.SHOWN);
- if (prevHoverState === HoverState.OUT) {
+ if (prevHoverState === HOVER_STATE_OUT) {
_this._leave(null, _this);
}
};
- if (this.tip.classList.contains(ClassName$6.FADE)) {
+ if (this.tip.classList.contains(CLASS_NAME_FADE$1)) {
var transitionDuration = getTransitionDurationFromElement(this.tip);
EventHandler.one(this.tip, TRANSITION_END, complete);
emulateTransitionEnd(this.tip, transitionDuration);
@@ -3818,7 +3710,7 @@ function () {
var tip = this.getTipElement();
var complete = function complete() {
- if (_this2._hoverState !== HoverState.SHOW && tip.parentNode) {
+ if (_this2._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {
tip.parentNode.removeChild(tip);
}
@@ -3837,20 +3729,22 @@ function () {
return;
}
- tip.classList.remove(ClassName$6.SHOW); // If this is a touch-enabled device we remove the extra
+ tip.classList.remove(CLASS_NAME_SHOW$3); // If this is a touch-enabled device we remove the extra
// empty mouseover listeners we added for iOS support
if ('ontouchstart' in document.documentElement) {
- makeArray(document.body.children).forEach(function (element) {
+ var _ref2;
+
+ (_ref2 = []).concat.apply(_ref2, document.body.children).forEach(function (element) {
return EventHandler.off(element, 'mouseover', noop);
});
}
- this._activeTrigger[Trigger.CLICK] = false;
- this._activeTrigger[Trigger.FOCUS] = false;
- this._activeTrigger[Trigger.HOVER] = false;
+ this._activeTrigger[TRIGGER_CLICK] = false;
+ this._activeTrigger[TRIGGER_FOCUS] = false;
+ this._activeTrigger[TRIGGER_HOVER] = false;
- if (this.tip.classList.contains(ClassName$6.FADE)) {
+ if (this.tip.classList.contains(CLASS_NAME_FADE$1)) {
var transitionDuration = getTransitionDurationFromElement(tip);
EventHandler.one(tip, TRANSITION_END, complete);
emulateTransitionEnd(tip, transitionDuration);
@@ -3885,9 +3779,9 @@ function () {
_proto.setContent = function setContent() {
var tip = this.getTipElement();
- this.setElementContent(SelectorEngine.findOne(Selector$6.TOOLTIP_INNER, tip), this.getTitle());
- tip.classList.remove(ClassName$6.FADE);
- tip.classList.remove(ClassName$6.SHOW);
+ this.setElementContent(SelectorEngine.findOne(SELECTOR_TOOLTIP_INNER, tip), this.getTitle());
+ tip.classList.remove(CLASS_NAME_FADE$1);
+ tip.classList.remove(CLASS_NAME_SHOW$3);
};
_proto.setElementContent = function setElementContent(element, content) {
@@ -3998,7 +3892,7 @@ function () {
};
_proto._getAttachment = function _getAttachment(placement) {
- return AttachmentMap$1[placement.toUpperCase()];
+ return AttachmentMap[placement.toUpperCase()];
};
_proto._setListeners = function _setListeners() {
@@ -4010,9 +3904,9 @@ function () {
EventHandler.on(_this5.element, _this5.constructor.Event.CLICK, _this5.config.selector, function (event) {
return _this5.toggle(event);
});
- } else if (trigger !== Trigger.MANUAL) {
- var eventIn = trigger === Trigger.HOVER ? _this5.constructor.Event.MOUSEENTER : _this5.constructor.Event.FOCUSIN;
- var eventOut = trigger === Trigger.HOVER ? _this5.constructor.Event.MOUSELEAVE : _this5.constructor.Event.FOCUSOUT;
+ } else if (trigger !== TRIGGER_MANUAL) {
+ var eventIn = trigger === TRIGGER_HOVER ? _this5.constructor.Event.MOUSEENTER : _this5.constructor.Event.FOCUSIN;
+ var eventOut = trigger === TRIGGER_HOVER ? _this5.constructor.Event.MOUSELEAVE : _this5.constructor.Event.FOCUSOUT;
EventHandler.on(_this5.element, eventIn, _this5.config.selector, function (event) {
return _this5._enter(event);
});
@@ -4028,7 +3922,7 @@ function () {
}
};
- EventHandler.on(SelectorEngine.closest(this.element, '.modal'), 'hide.bs.modal', this._hideModalHandler);
+ EventHandler.on(SelectorEngine.closest(this.element, "." + CLASS_NAME_MODAL), 'hide.bs.modal', this._hideModalHandler);
if (this.config.selector) {
this.config = _objectSpread2({}, this.config, {
@@ -4059,16 +3953,16 @@ function () {
}
if (event) {
- context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true;
+ context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true;
}
- if (context.getTipElement().classList.contains(ClassName$6.SHOW) || context._hoverState === HoverState.SHOW) {
- context._hoverState = HoverState.SHOW;
+ if (context.getTipElement().classList.contains(CLASS_NAME_SHOW$3) || context._hoverState === HOVER_STATE_SHOW) {
+ context._hoverState = HOVER_STATE_SHOW;
return;
}
clearTimeout(context._timeout);
- context._hoverState = HoverState.SHOW;
+ context._hoverState = HOVER_STATE_SHOW;
if (!context.config.delay || !context.config.delay.show) {
context.show();
@@ -4076,7 +3970,7 @@ function () {
}
context._timeout = setTimeout(function () {
- if (context._hoverState === HoverState.SHOW) {
+ if (context._hoverState === HOVER_STATE_SHOW) {
context.show();
}
}, context.config.delay.show);
@@ -4092,7 +3986,7 @@ function () {
}
if (event) {
- context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false;
+ context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] = false;
}
if (context._isWithActiveTrigger()) {
@@ -4100,7 +3994,7 @@ function () {
}
clearTimeout(context._timeout);
- context._hoverState = HoverState.OUT;
+ context._hoverState = HOVER_STATE_OUT;
if (!context.config.delay || !context.config.delay.hide) {
context.hide();
@@ -4108,7 +4002,7 @@ function () {
}
context._timeout = setTimeout(function () {
- if (context._hoverState === HoverState.OUT) {
+ if (context._hoverState === HOVER_STATE_OUT) {
context.hide();
}
}, context.config.delay.hide);
@@ -4180,7 +4074,7 @@ function () {
var tip = this.getTipElement();
var tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX);
- if (tabClass !== null && tabClass.length) {
+ if (tabClass !== null && tabClass.length > 0) {
tabClass.map(function (token) {
return token.trim();
}).forEach(function (tClass) {
@@ -4206,7 +4100,7 @@ function () {
return;
}
- tip.classList.remove(ClassName$6.FADE);
+ tip.classList.remove(CLASS_NAME_FADE$1);
this.config.animation = false;
this.hide();
this.show();
@@ -4265,7 +4159,7 @@ function () {
}, {
key: "Event",
get: function get() {
- return Event$7;
+ return Event$1;
}
}, {
key: "EVENT_KEY",
@@ -4327,15 +4221,7 @@ var DefaultType$5 = _objectSpread2({}, Tooltip.DefaultType, {
content: '(string|element|function)'
});
-var ClassName$7 = {
- FADE: 'fade',
- SHOW: 'show'
-};
-var Selector$7 = {
- TITLE: '.popover-header',
- CONTENT: '.popover-body'
-};
-var Event$8 = {
+var Event$2 = {
HIDE: "hide" + EVENT_KEY$7,
HIDDEN: "hidden" + EVENT_KEY$7,
SHOW: "show" + EVENT_KEY$7,
@@ -4347,15 +4233,17 @@ var Event$8 = {
MOUSEENTER: "mouseenter" + EVENT_KEY$7,
MOUSELEAVE: "mouseleave" + EVENT_KEY$7
};
+var CLASS_NAME_FADE$2 = 'fade';
+var CLASS_NAME_SHOW$4 = 'show';
+var SELECTOR_TITLE = '.popover-header';
+var SELECTOR_CONTENT = '.popover-body';
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
-var Popover =
-/*#__PURE__*/
-function (_Tooltip) {
+var Popover = /*#__PURE__*/function (_Tooltip) {
_inheritsLoose(Popover, _Tooltip);
function Popover() {
@@ -4372,7 +4260,7 @@ function (_Tooltip) {
_proto.setContent = function setContent() {
var tip = this.getTipElement(); // we use append for html objects to maintain js events
- this.setElementContent(SelectorEngine.findOne(Selector$7.TITLE, tip), this.getTitle());
+ this.setElementContent(SelectorEngine.findOne(SELECTOR_TITLE, tip), this.getTitle());
var content = this._getContent();
@@ -4380,9 +4268,9 @@ function (_Tooltip) {
content = content.call(this.element);
}
- this.setElementContent(SelectorEngine.findOne(Selector$7.CONTENT, tip), content);
- tip.classList.remove(ClassName$7.FADE);
- tip.classList.remove(ClassName$7.SHOW);
+ this.setElementContent(SelectorEngine.findOne(SELECTOR_CONTENT, tip), content);
+ tip.classList.remove(CLASS_NAME_FADE$2);
+ tip.classList.remove(CLASS_NAME_SHOW$4);
};
_proto._addAttachmentClass = function _addAttachmentClass(attachment) {
@@ -4461,7 +4349,7 @@ function (_Tooltip) {
}, {
key: "Event",
get: function get() {
- return Event$8;
+ return Event$2;
}
}, {
key: "EVENT_KEY",
@@ -4519,49 +4407,39 @@ var DefaultType$6 = {
method: 'string',
target: '(string|element)'
};
-var Event$9 = {
- ACTIVATE: "activate" + EVENT_KEY$8,
- SCROLL: "scroll" + EVENT_KEY$8,
- LOAD_DATA_API: "load" + EVENT_KEY$8 + DATA_API_KEY$6
-};
-var ClassName$8 = {
- DROPDOWN_ITEM: 'dropdown-item',
- ACTIVE: 'active'
-};
-var Selector$8 = {
- DATA_SPY: '[data-spy="scroll"]',
- NAV_LIST_GROUP: '.nav, .list-group',
- NAV_LINKS: '.nav-link',
- NAV_ITEMS: '.nav-item',
- LIST_ITEMS: '.list-group-item',
- DROPDOWN: '.dropdown',
- DROPDOWN_TOGGLE: '.dropdown-toggle'
-};
-var OffsetMethod = {
- OFFSET: 'offset',
- POSITION: 'position'
-};
+var EVENT_ACTIVATE = "activate" + EVENT_KEY$8;
+var EVENT_SCROLL = "scroll" + EVENT_KEY$8;
+var EVENT_LOAD_DATA_API$1 = "load" + EVENT_KEY$8 + DATA_API_KEY$6;
+var CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';
+var CLASS_NAME_ACTIVE$2 = 'active';
+var SELECTOR_DATA_SPY = '[data-spy="scroll"]';
+var SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';
+var SELECTOR_NAV_LINKS = '.nav-link';
+var SELECTOR_NAV_ITEMS = '.nav-item';
+var SELECTOR_LIST_ITEMS = '.list-group-item';
+var SELECTOR_DROPDOWN = '.dropdown';
+var SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle';
+var METHOD_OFFSET = 'offset';
+var METHOD_POSITION = 'position';
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
-var ScrollSpy =
-/*#__PURE__*/
-function () {
+var ScrollSpy = /*#__PURE__*/function () {
function ScrollSpy(element, config) {
var _this = this;
this._element = element;
this._scrollElement = element.tagName === 'BODY' ? window : element;
this._config = this._getConfig(config);
- this._selector = this._config.target + " " + Selector$8.NAV_LINKS + "," + (this._config.target + " " + Selector$8.LIST_ITEMS + ",") + (this._config.target + " ." + ClassName$8.DROPDOWN_ITEM);
+ this._selector = this._config.target + " " + SELECTOR_NAV_LINKS + "," + (this._config.target + " " + SELECTOR_LIST_ITEMS + ",") + (this._config.target + " ." + CLASS_NAME_DROPDOWN_ITEM);
this._offsets = [];
this._targets = [];
this._activeTarget = null;
this._scrollHeight = 0;
- EventHandler.on(this._scrollElement, Event$9.SCROLL, function (event) {
+ EventHandler.on(this._scrollElement, EVENT_SCROLL, function (event) {
return _this._process(event);
});
this.refresh();
@@ -4578,13 +4456,13 @@ function () {
_proto.refresh = function refresh() {
var _this2 = this;
- var autoMethod = this._scrollElement === this._scrollElement.window ? OffsetMethod.OFFSET : OffsetMethod.POSITION;
+ var autoMethod = this._scrollElement === this._scrollElement.window ? METHOD_OFFSET : METHOD_POSITION;
var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
- var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0;
+ var offsetBase = offsetMethod === METHOD_POSITION ? this._getScrollTop() : 0;
this._offsets = [];
this._targets = [];
this._scrollHeight = this._getScrollHeight();
- var targets = makeArray(SelectorEngine.find(this._selector));
+ var targets = SelectorEngine.find(this._selector);
targets.map(function (element) {
var target;
var targetSelector = getSelectorFromElement(element);
@@ -4708,37 +4586,37 @@ function () {
var link = SelectorEngine.findOne(queries.join(','));
- if (link.classList.contains(ClassName$8.DROPDOWN_ITEM)) {
- SelectorEngine.findOne(Selector$8.DROPDOWN_TOGGLE, SelectorEngine.closest(link, Selector$8.DROPDOWN)).classList.add(ClassName$8.ACTIVE);
- link.classList.add(ClassName$8.ACTIVE);
+ if (link.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {
+ SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, SelectorEngine.closest(link, SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE$2);
+ link.classList.add(CLASS_NAME_ACTIVE$2);
} else {
// Set triggered link as active
- link.classList.add(ClassName$8.ACTIVE);
- SelectorEngine.parents(link, Selector$8.NAV_LIST_GROUP).forEach(function (listGroup) {
+ link.classList.add(CLASS_NAME_ACTIVE$2);
+ SelectorEngine.parents(link, SELECTOR_NAV_LIST_GROUP).forEach(function (listGroup) {
// Set triggered links parents as active
// With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
- SelectorEngine.prev(listGroup, Selector$8.NAV_LINKS + ", " + Selector$8.LIST_ITEMS).forEach(function (item) {
- return item.classList.add(ClassName$8.ACTIVE);
+ SelectorEngine.prev(listGroup, SELECTOR_NAV_LINKS + ", " + SELECTOR_LIST_ITEMS).forEach(function (item) {
+ return item.classList.add(CLASS_NAME_ACTIVE$2);
}); // Handle special case when .nav-link is inside .nav-item
- SelectorEngine.prev(listGroup, Selector$8.NAV_ITEMS).forEach(function (navItem) {
- SelectorEngine.children(navItem, Selector$8.NAV_LINKS).forEach(function (item) {
- return item.classList.add(ClassName$8.ACTIVE);
+ SelectorEngine.prev(listGroup, SELECTOR_NAV_ITEMS).forEach(function (navItem) {
+ SelectorEngine.children(navItem, SELECTOR_NAV_LINKS).forEach(function (item) {
+ return item.classList.add(CLASS_NAME_ACTIVE$2);
});
});
});
}
- EventHandler.trigger(this._scrollElement, Event$9.ACTIVATE, {
+ EventHandler.trigger(this._scrollElement, EVENT_ACTIVATE, {
relatedTarget: target
});
};
_proto._clear = function _clear() {
- makeArray(SelectorEngine.find(this._selector)).filter(function (node) {
- return node.classList.contains(ClassName$8.ACTIVE);
+ SelectorEngine.find(this._selector).filter(function (node) {
+ return node.classList.contains(CLASS_NAME_ACTIVE$2);
}).forEach(function (node) {
- return node.classList.remove(ClassName$8.ACTIVE);
+ return node.classList.remove(CLASS_NAME_ACTIVE$2);
});
} // Static
;
@@ -4788,8 +4666,8 @@ function () {
*/
-EventHandler.on(window, Event$9.LOAD_DATA_API, function () {
- makeArray(SelectorEngine.find(Selector$8.DATA_SPY)).forEach(function (spy) {
+EventHandler.on(window, EVENT_LOAD_DATA_API$1, function () {
+ SelectorEngine.find(SELECTOR_DATA_SPY).forEach(function (spy) {
return new ScrollSpy(spy, Manipulator.getDataAttributes(spy));
});
});
@@ -4824,38 +4702,30 @@ var VERSION$9 = '4.3.1';
var DATA_KEY$9 = 'bs.tab';
var EVENT_KEY$9 = "." + DATA_KEY$9;
var DATA_API_KEY$7 = '.data-api';
-var Event$a = {
- HIDE: "hide" + EVENT_KEY$9,
- HIDDEN: "hidden" + EVENT_KEY$9,
- SHOW: "show" + EVENT_KEY$9,
- SHOWN: "shown" + EVENT_KEY$9,
- CLICK_DATA_API: "click" + EVENT_KEY$9 + DATA_API_KEY$7
-};
-var ClassName$9 = {
- DROPDOWN_MENU: 'dropdown-menu',
- ACTIVE: 'active',
- DISABLED: 'disabled',
- FADE: 'fade',
- SHOW: 'show'
-};
-var Selector$9 = {
- DROPDOWN: '.dropdown',
- NAV_LIST_GROUP: '.nav, .list-group',
- ACTIVE: '.active',
- ACTIVE_UL: ':scope > li > .active',
- DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',
- DROPDOWN_TOGGLE: '.dropdown-toggle',
- DROPDOWN_ACTIVE_CHILD: ':scope > .dropdown-menu .active'
-};
+var EVENT_HIDE$3 = "hide" + EVENT_KEY$9;
+var EVENT_HIDDEN$3 = "hidden" + EVENT_KEY$9;
+var EVENT_SHOW$3 = "show" + EVENT_KEY$9;
+var EVENT_SHOWN$3 = "shown" + EVENT_KEY$9;
+var EVENT_CLICK_DATA_API$6 = "click" + EVENT_KEY$9 + DATA_API_KEY$7;
+var CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu';
+var CLASS_NAME_ACTIVE$3 = 'active';
+var CLASS_NAME_DISABLED$2 = 'disabled';
+var CLASS_NAME_FADE$3 = 'fade';
+var CLASS_NAME_SHOW$5 = 'show';
+var SELECTOR_DROPDOWN$1 = '.dropdown';
+var SELECTOR_NAV_LIST_GROUP$1 = '.nav, .list-group';
+var SELECTOR_ACTIVE$2 = '.active';
+var SELECTOR_ACTIVE_UL = ':scope > li > .active';
+var SELECTOR_DATA_TOGGLE$4 = '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]';
+var SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle';
+var SELECTOR_DROPDOWN_ACTIVE_CHILD = ':scope > .dropdown-menu .active';
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
-var Tab =
-/*#__PURE__*/
-function () {
+var Tab = /*#__PURE__*/function () {
function Tab(element) {
this._element = element;
Data.setData(this._element, DATA_KEY$9, this);
@@ -4868,29 +4738,29 @@ function () {
_proto.show = function show() {
var _this = this;
- if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && this._element.classList.contains(ClassName$9.ACTIVE) || this._element.classList.contains(ClassName$9.DISABLED)) {
+ if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && this._element.classList.contains(CLASS_NAME_ACTIVE$3) || this._element.classList.contains(CLASS_NAME_DISABLED$2)) {
return;
}
var previous;
var target = getElementFromSelector(this._element);
- var listElement = SelectorEngine.closest(this._element, Selector$9.NAV_LIST_GROUP);
+ var listElement = SelectorEngine.closest(this._element, SELECTOR_NAV_LIST_GROUP$1);
if (listElement) {
- var itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector$9.ACTIVE_UL : Selector$9.ACTIVE;
- previous = makeArray(SelectorEngine.find(itemSelector, listElement));
+ var itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE$2;
+ previous = SelectorEngine.find(itemSelector, listElement);
previous = previous[previous.length - 1];
}
var hideEvent = null;
if (previous) {
- hideEvent = EventHandler.trigger(previous, Event$a.HIDE, {
+ hideEvent = EventHandler.trigger(previous, EVENT_HIDE$3, {
relatedTarget: this._element
});
}
- var showEvent = EventHandler.trigger(this._element, Event$a.SHOW, {
+ var showEvent = EventHandler.trigger(this._element, EVENT_SHOW$3, {
relatedTarget: previous
});
@@ -4901,10 +4771,10 @@ function () {
this._activate(this._element, listElement);
var complete = function complete() {
- EventHandler.trigger(previous, Event$a.HIDDEN, {
+ EventHandler.trigger(previous, EVENT_HIDDEN$3, {
relatedTarget: _this._element
});
- EventHandler.trigger(_this._element, Event$a.SHOWN, {
+ EventHandler.trigger(_this._element, EVENT_SHOWN$3, {
relatedTarget: previous
});
};
@@ -4925,9 +4795,9 @@ function () {
_proto._activate = function _activate(element, container, callback) {
var _this2 = this;
- var activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ? SelectorEngine.find(Selector$9.ACTIVE_UL, container) : SelectorEngine.children(container, Selector$9.ACTIVE);
+ var activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ? SelectorEngine.find(SELECTOR_ACTIVE_UL, container) : SelectorEngine.children(container, SELECTOR_ACTIVE$2);
var active = activeElements[0];
- var isTransitioning = callback && active && active.classList.contains(ClassName$9.FADE);
+ var isTransitioning = callback && active && active.classList.contains(CLASS_NAME_FADE$3);
var complete = function complete() {
return _this2._transitionComplete(element, active, callback);
@@ -4935,7 +4805,7 @@ function () {
if (active && isTransitioning) {
var transitionDuration = getTransitionDurationFromElement(active);
- active.classList.remove(ClassName$9.SHOW);
+ active.classList.remove(CLASS_NAME_SHOW$5);
EventHandler.one(active, TRANSITION_END, complete);
emulateTransitionEnd(active, transitionDuration);
} else {
@@ -4945,11 +4815,11 @@ function () {
_proto._transitionComplete = function _transitionComplete(element, active, callback) {
if (active) {
- active.classList.remove(ClassName$9.ACTIVE);
- var dropdownChild = SelectorEngine.findOne(Selector$9.DROPDOWN_ACTIVE_CHILD, active.parentNode);
+ active.classList.remove(CLASS_NAME_ACTIVE$3);
+ var dropdownChild = SelectorEngine.findOne(SELECTOR_DROPDOWN_ACTIVE_CHILD, active.parentNode);
if (dropdownChild) {
- dropdownChild.classList.remove(ClassName$9.ACTIVE);
+ dropdownChild.classList.remove(CLASS_NAME_ACTIVE$3);
}
if (active.getAttribute('role') === 'tab') {
@@ -4957,7 +4827,7 @@ function () {
}
}
- element.classList.add(ClassName$9.ACTIVE);
+ element.classList.add(CLASS_NAME_ACTIVE$3);
if (element.getAttribute('role') === 'tab') {
element.setAttribute('aria-selected', true);
@@ -4965,16 +4835,16 @@ function () {
reflow(element);
- if (element.classList.contains(ClassName$9.FADE)) {
- element.classList.add(ClassName$9.SHOW);
+ if (element.classList.contains(CLASS_NAME_FADE$3)) {
+ element.classList.add(CLASS_NAME_SHOW$5);
}
- if (element.parentNode && element.parentNode.classList.contains(ClassName$9.DROPDOWN_MENU)) {
- var dropdownElement = SelectorEngine.closest(element, Selector$9.DROPDOWN);
+ if (element.parentNode && element.parentNode.classList.contains(CLASS_NAME_DROPDOWN_MENU)) {
+ var dropdownElement = SelectorEngine.closest(element, SELECTOR_DROPDOWN$1);
if (dropdownElement) {
- makeArray(SelectorEngine.find(Selector$9.DROPDOWN_TOGGLE)).forEach(function (dropdown) {
- return dropdown.classList.add(ClassName$9.ACTIVE);
+ SelectorEngine.find(SELECTOR_DROPDOWN_TOGGLE$1).forEach(function (dropdown) {
+ return dropdown.classList.add(CLASS_NAME_ACTIVE$3);
});
}
@@ -5021,7 +4891,7 @@ function () {
*/
-EventHandler.on(document, Event$a.CLICK_DATA_API, Selector$9.DATA_TOGGLE, function (event) {
+EventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$4, function (event) {
event.preventDefault();
var data = Data.getData(this, DATA_KEY$9) || new Tab(this);
data.show();
@@ -5057,19 +4927,15 @@ var NAME$a = 'toast';
var VERSION$a = '4.3.1';
var DATA_KEY$a = 'bs.toast';
var EVENT_KEY$a = "." + DATA_KEY$a;
-var Event$b = {
- CLICK_DISMISS: "click.dismiss" + EVENT_KEY$a,
- HIDE: "hide" + EVENT_KEY$a,
- HIDDEN: "hidden" + EVENT_KEY$a,
- SHOW: "show" + EVENT_KEY$a,
- SHOWN: "shown" + EVENT_KEY$a
-};
-var ClassName$a = {
- FADE: 'fade',
- HIDE: 'hide',
- SHOW: 'show',
- SHOWING: 'showing'
-};
+var EVENT_CLICK_DISMISS$1 = "click.dismiss" + EVENT_KEY$a;
+var EVENT_HIDE$4 = "hide" + EVENT_KEY$a;
+var EVENT_HIDDEN$4 = "hidden" + EVENT_KEY$a;
+var EVENT_SHOW$4 = "show" + EVENT_KEY$a;
+var EVENT_SHOWN$4 = "shown" + EVENT_KEY$a;
+var CLASS_NAME_FADE$4 = 'fade';
+var CLASS_NAME_HIDE = 'hide';
+var CLASS_NAME_SHOW$6 = 'show';
+var CLASS_NAME_SHOWING = 'showing';
var DefaultType$7 = {
animation: 'boolean',
autohide: 'boolean',
@@ -5080,18 +4946,14 @@ var Default$7 = {
autohide: true,
delay: 500
};
-var Selector$a = {
- DATA_DISMISS: '[data-dismiss="toast"]'
-};
+var SELECTOR_DATA_DISMISS$1 = '[data-dismiss="toast"]';
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
-var Toast =
-/*#__PURE__*/
-function () {
+var Toast = /*#__PURE__*/function () {
function Toast(element, config) {
this._element = element;
this._config = this._getConfig(config);
@@ -5109,22 +4971,22 @@ function () {
_proto.show = function show() {
var _this = this;
- var showEvent = EventHandler.trigger(this._element, Event$b.SHOW);
+ var showEvent = EventHandler.trigger(this._element, EVENT_SHOW$4);
if (showEvent.defaultPrevented) {
return;
}
if (this._config.animation) {
- this._element.classList.add(ClassName$a.FADE);
+ this._element.classList.add(CLASS_NAME_FADE$4);
}
var complete = function complete() {
- _this._element.classList.remove(ClassName$a.SHOWING);
+ _this._element.classList.remove(CLASS_NAME_SHOWING);
- _this._element.classList.add(ClassName$a.SHOW);
+ _this._element.classList.add(CLASS_NAME_SHOW$6);
- EventHandler.trigger(_this._element, Event$b.SHOWN);
+ EventHandler.trigger(_this._element, EVENT_SHOWN$4);
if (_this._config.autohide) {
_this._timeout = setTimeout(function () {
@@ -5133,11 +4995,11 @@ function () {
}
};
- this._element.classList.remove(ClassName$a.HIDE);
+ this._element.classList.remove(CLASS_NAME_HIDE);
reflow(this._element);
- this._element.classList.add(ClassName$a.SHOWING);
+ this._element.classList.add(CLASS_NAME_SHOWING);
if (this._config.animation) {
var transitionDuration = getTransitionDurationFromElement(this._element);
@@ -5151,23 +5013,23 @@ function () {
_proto.hide = function hide() {
var _this2 = this;
- if (!this._element.classList.contains(ClassName$a.SHOW)) {
+ if (!this._element.classList.contains(CLASS_NAME_SHOW$6)) {
return;
}
- var hideEvent = EventHandler.trigger(this._element, Event$b.HIDE);
+ var hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$4);
if (hideEvent.defaultPrevented) {
return;
}
var complete = function complete() {
- _this2._element.classList.add(ClassName$a.HIDE);
+ _this2._element.classList.add(CLASS_NAME_HIDE);
- EventHandler.trigger(_this2._element, Event$b.HIDDEN);
+ EventHandler.trigger(_this2._element, EVENT_HIDDEN$4);
};
- this._element.classList.remove(ClassName$a.SHOW);
+ this._element.classList.remove(CLASS_NAME_SHOW$6);
if (this._config.animation) {
var transitionDuration = getTransitionDurationFromElement(this._element);
@@ -5182,11 +5044,11 @@ function () {
clearTimeout(this._timeout);
this._timeout = null;
- if (this._element.classList.contains(ClassName$a.SHOW)) {
- this._element.classList.remove(ClassName$a.SHOW);
+ if (this._element.classList.contains(CLASS_NAME_SHOW$6)) {
+ this._element.classList.remove(CLASS_NAME_SHOW$6);
}
- EventHandler.off(this._element, Event$b.CLICK_DISMISS);
+ EventHandler.off(this._element, EVENT_CLICK_DISMISS$1);
Data.removeData(this._element, DATA_KEY$a);
this._element = null;
this._config = null;
@@ -5202,7 +5064,7 @@ function () {
_proto._setListeners = function _setListeners() {
var _this3 = this;
- EventHandler.on(this._element, Event$b.CLICK_DISMISS, Selector$a.DATA_DISMISS, function () {
+ EventHandler.on(this._element, EVENT_CLICK_DISMISS$1, SELECTOR_DATA_DISMISS$1, function () {
return _this3.hide();
});
} // Static
diff --git a/dist/js/bootstrap.esm.js.map b/dist/js/bootstrap.esm.js.map
index 393a1250ca..c73b678b67 100644
--- a/dist/js/bootstrap.esm.js.map
+++ b/dist/js/bootstrap.esm.js.map
@@ -1 +1 @@
-{"version":3,"file":"bootstrap.esm.js","sources":["../../js/src/util/index.js","../../js/src/dom/data.js","../../js/src/dom/polyfill.js","../../js/src/dom/event-handler.js","../../js/src/dom/selector-engine.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/dom/manipulator.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/util/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => ({}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase())\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n const evt = document.createEvent('HTMLEvents')\n\n evt.initEvent(TRANSITION_END, true, true)\n element.dispatchEvent(evt)\n}\n\nconst isElement = obj => (obj[0] || obj).nodeType\n\nconst emulateTransitionEnd = (element, duration) => {\n let called = false\n const durationPadding = 5\n const emulatedDuration = duration + durationPadding\n function listener() {\n called = true\n element.removeEventListener(TRANSITION_END, listener)\n }\n\n element.addEventListener(TRANSITION_END, listener)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(element)\n }\n }, emulatedDuration)\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes)\n .forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst makeArray = nodeList => {\n if (!nodeList) {\n return []\n }\n\n return [].slice.call(nodeList)\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n const elementStyle = getComputedStyle(element)\n const parentNodeStyle = getComputedStyle(element.parentNode)\n\n return elementStyle.display !== 'none' &&\n parentNodeStyle.display !== 'none' &&\n elementStyle.visibility !== 'hidden'\n }\n\n return false\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n makeArray,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst mapData = (() => {\n const storeData = {}\n let id = 1\n return {\n set(element, key, data) {\n if (typeof element.key === 'undefined') {\n element.key = {\n key,\n id\n }\n id++\n }\n\n storeData[element.key.id] = data\n },\n get(element, key) {\n if (!element || typeof element.key === 'undefined') {\n return null\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.key === 'undefined') {\n return\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.key\n }\n }\n }\n})()\n\nconst Data = {\n setData(instance, key, data) {\n mapData.set(instance, key, data)\n },\n getData(instance, key) {\n return mapData.get(instance, key)\n },\n removeData(instance, key) {\n mapData.delete(instance, key)\n }\n}\n\nexport default Data\n","/* istanbul ignore file */\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/polyfill.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getUID } from '../util/index'\n\nlet { matches, closest } = Element.prototype\nlet find = Element.prototype.querySelectorAll\nlet findOne = Element.prototype.querySelector\nlet createCustomEvent = (eventName, params) => {\n const cEvent = new CustomEvent(eventName, params)\n\n return cEvent\n}\n\nif (typeof window.CustomEvent !== 'function') {\n createCustomEvent = (eventName, params) => {\n params = params || { bubbles: false, cancelable: false, detail: null }\n\n const evt = document.createEvent('CustomEvent')\n\n evt.initCustomEvent(eventName, params.bubbles, params.cancelable, params.detail)\n return evt\n }\n}\n\nconst workingDefaultPrevented = (() => {\n const e = document.createEvent('CustomEvent')\n\n e.initEvent('Bootstrap', true, true)\n e.preventDefault()\n return e.defaultPrevented\n})()\n\nif (!workingDefaultPrevented) {\n const origPreventDefault = Event.prototype.preventDefault\n\n Event.prototype.preventDefault = function () {\n if (!this.cancelable) {\n return\n }\n\n origPreventDefault.call(this)\n Object.defineProperty(this, 'defaultPrevented', {\n get() {\n return true\n },\n configurable: true\n })\n }\n}\n\n// MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached\nconst defaultPreventedPreservedOnDispatch = (() => {\n const e = createCustomEvent('Bootstrap', {\n cancelable: true\n })\n\n const element = document.createElement('div')\n element.addEventListener('Bootstrap', () => null)\n\n e.preventDefault()\n element.dispatchEvent(e)\n return e.defaultPrevented\n})()\n\nif (!matches) {\n matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector\n}\n\nif (!closest) {\n closest = function (selector) {\n let element = this\n\n do {\n if (matches.call(element, selector)) {\n return element\n }\n\n element = element.parentElement || element.parentNode\n } while (element !== null && element.nodeType === 1)\n\n return null\n }\n}\n\nconst scopeSelectorRegex = /:scope\\b/\nconst supportScopeQuery = (() => {\n const element = document.createElement('div')\n\n try {\n element.querySelectorAll(':scope *')\n } catch (_) {\n return false\n }\n\n return true\n})()\n\nif (!supportScopeQuery) {\n find = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelectorAll(selector)\n }\n\n const hasId = Boolean(this.id)\n\n if (!hasId) {\n this.id = getUID('scope')\n }\n\n let nodeList = null\n try {\n selector = selector.replace(scopeSelectorRegex, `#${this.id}`)\n nodeList = this.querySelectorAll(selector)\n } finally {\n if (!hasId) {\n this.removeAttribute('id')\n }\n }\n\n return nodeList\n }\n\n findOne = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelector(selector)\n }\n\n const matches = find.call(this, selector)\n\n if (typeof matches[0] !== 'undefined') {\n return matches[0]\n }\n\n return null\n }\n}\n\nexport {\n createCustomEvent,\n find,\n findOne,\n matches,\n closest,\n defaultPreventedPreservedOnDispatch\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\nimport { createCustomEvent, defaultPreventedPreservedOnDispatch } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst $ = getjQuery()\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst keyEventRegex = /^key/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\nconst nativeEvents = [\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n]\n\n/**\n * ------------------------------------------------------------------------\n * Private methods\n * ------------------------------------------------------------------------\n */\n\nfunction getUidEvent(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getEvent(element) {\n const uid = getUidEvent(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction fixEvent(event, element) {\n // Add which for key events\n if (event.which === null && keyEventRegex.test(event.type)) {\n event.which = event.charCode === null ? event.keyCode : event.charCode\n }\n\n event.delegateTarget = element\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n fixEvent(event, element)\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = target.parentNode) {\n for (let i = domElements.length; i--;) {\n if (domElements[i] === target) {\n fixEvent(event, target)\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n\n // To please ESLint\n return null\n }\n}\n\nfunction findHandler(events, handler, delegationSelector = null) {\n const uidEventList = Object.keys(events)\n\n for (let i = 0, len = uidEventList.length; i < len; i++) {\n const event = events[uidEventList[i]]\n\n if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\n return event\n }\n }\n\n return null\n}\n\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\n const delegation = typeof handler === 'string'\n const originalHandler = delegation ? delegationFn : handler\n\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n let typeEvent = originalTypeEvent.replace(stripNameRegex, '')\n const custom = customEvents[typeEvent]\n\n if (custom) {\n typeEvent = custom\n }\n\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n if (!isNative) {\n typeEvent = originalTypeEvent\n }\n\n return [delegation, originalHandler, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n if (!handler) {\n handler = delegationFn\n delegationFn = null\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const events = getEvent(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null)\n\n if (previousFn) {\n previousFn.oneOff = previousFn.oneOff && oneOff\n\n return\n }\n\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = delegation ?\n bootstrapDelegationHandler(element, handler, delegationFn) :\n bootstrapHandler(element, handler)\n\n fn.delegationSelector = delegation ? handler : null\n fn.originalHandler = originalHandler\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, delegation)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {}\n\n Object.keys(storeElementEvent)\n .forEach(handlerKey => {\n if (handlerKey.indexOf(namespace) > -1) {\n const event = storeElementEvent[handlerKey]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, false)\n },\n\n one(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFn) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getEvent(element)\n const isNamespace = originalTypeEvent.charAt(0) === '.'\n\n if (typeof originalHandler !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!events || !events[typeEvent]) {\n return\n }\n\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null)\n return\n }\n\n if (isNamespace) {\n Object.keys(events)\n .forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent)\n .forEach(keyHandlers => {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.indexOf(handlerKey) > -1) {\n const event = storeElementEvent[keyHandlers]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const typeEvent = event.replace(stripNameRegex, '')\n const inNamespace = event !== typeEvent\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n let jQueryEvent\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n let evt = null\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n if (isNative) {\n evt = document.createEvent('HTMLEvents')\n evt.initEvent(typeEvent, bubbles, true)\n } else {\n evt = createCustomEvent(event, {\n bubbles,\n cancelable: true\n })\n }\n\n // merge custom informations in our event\n if (typeof args !== 'undefined') {\n Object.keys(args)\n .forEach(key => {\n Object.defineProperty(evt, key, {\n get() {\n return args[key]\n }\n })\n })\n }\n\n if (defaultPrevented) {\n evt.preventDefault()\n\n if (!defaultPreventedPreservedOnDispatch) {\n Object.defineProperty(evt, 'defaultPrevented', {\n get: () => true\n })\n }\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { find as findFn, findOne, matches, closest } from './polyfill'\nimport { makeArray } from '../util/index'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n matches(element, selector) {\n return matches.call(element, selector)\n },\n\n find(selector, element = document.documentElement) {\n return findFn.call(element, selector)\n },\n\n findOne(selector, element = document.documentElement) {\n return findOne.call(element, selector)\n },\n\n children(element, selector) {\n const children = makeArray(element.children)\n\n return children.filter(child => this.matches(child, selector))\n },\n\n parents(element, selector) {\n const parents = []\n\n let ancestor = element.parentNode\n\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\n if (this.matches(ancestor, selector)) {\n parents.push(ancestor)\n }\n\n ancestor = ancestor.parentNode\n }\n\n return parents\n },\n\n closest(element, selector) {\n return closest.call(element, selector)\n },\n\n prev(element, selector) {\n const siblings = []\n\n let previous = element.previousSibling\n\n while (previous && previous.nodeType === Node.ELEMENT_NODE && previous.nodeType !== NODE_TEXT) {\n if (this.matches(previous, selector)) {\n siblings.push(previous)\n }\n\n previous = previous.previousSibling\n }\n\n return siblings\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Selector = {\n DISMISS: '[data-dismiss=\"alert\"]'\n}\n\nconst Event = {\n CLOSE: `close${EVENT_KEY}`,\n CLOSED: `closed${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n ALERT: 'alert',\n FADE: 'fade',\n SHOW: 'show'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n\n if (this._element) {\n Data.setData(element, DATA_KEY, this)\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent === null || customEvent.defaultPrevented) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n let parent = getElementFromSelector(element)\n\n if (!parent) {\n parent = SelectorEngine.closest(element, `.${ClassName.ALERT}`)\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n return EventHandler.trigger(element, Event.CLOSE)\n }\n\n _removeElement(element) {\n element.classList.remove(ClassName.SHOW)\n\n if (!element.classList.contains(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = getTransitionDurationFromElement(element)\n\n EventHandler\n .one(element, TRANSITION_END, () => this._destroyElement(element))\n emulateTransitionEnd(element, transitionDuration)\n }\n\n _destroyElement(element) {\n if (element.parentNode) {\n element.parentNode.removeChild(element)\n }\n\n EventHandler.trigger(element, Event.CLOSED)\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.DISMISS, Alert.handleDismiss(new Alert()))\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .alert to jQuery only if jQuery is present\n */\n\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Alert.jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert.jQueryInterface\n }\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ClassName = {\n ACTIVE: 'active',\n BUTTON: 'btn',\n FOCUS: 'focus'\n}\n\nconst Selector = {\n DATA_TOGGLE_CARROT: '[data-toggle^=\"button\"]',\n DATA_TOGGLE: '[data-toggle=\"buttons\"]',\n INPUT: 'input:not([type=\"hidden\"])',\n ACTIVE: '.active',\n BUTTON: '.btn'\n}\n\nconst Event = {\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_DATA_API: `focus${EVENT_KEY}${DATA_API_KEY}`,\n BLUR_DATA_API: `blur${EVENT_KEY}${DATA_API_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n\n const rootElement = SelectorEngine.closest(\n this._element,\n Selector.DATA_TOGGLE\n )\n\n if (rootElement) {\n const input = SelectorEngine.findOne(Selector.INPUT, this._element)\n\n if (input && input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = SelectorEngine.findOne(Selector.ACTIVE, rootElement)\n\n if (activeElement) {\n activeElement.classList.remove(ClassName.ACTIVE)\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains('disabled') ||\n rootElement.classList.contains('disabled')) {\n return\n }\n\n input.checked = !this._element.classList.contains(ClassName.ACTIVE)\n EventHandler.trigger(input, 'change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n this._element.classList.toggle(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n event.preventDefault()\n\n let button = event.target\n if (!button.classList.contains(ClassName.BUTTON)) {\n button = SelectorEngine.closest(button, Selector.BUTTON)\n }\n\n let data = Data.getData(button, DATA_KEY)\n if (!data) {\n data = new Button(button)\n }\n\n data.toggle()\n})\n\nEventHandler.on(document, Event.FOCUS_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n const button = SelectorEngine.closest(event.target, Selector.BUTTON)\n\n if (button) {\n button.classList.add(ClassName.FOCUS)\n }\n})\n\nEventHandler.on(document, Event.BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n const button = SelectorEngine.closest(event.target, Selector.BUTTON)\n\n if (button) {\n button.classList.remove(ClassName.FOCUS)\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .button to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Button.jQueryInterface\n $.fn[NAME].Constructor = Button\n\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button.jQueryInterface\n }\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(val) {\n if (val === 'true') {\n return true\n }\n\n if (val === 'false') {\n return false\n }\n\n if (val === Number(val).toString()) {\n return Number(val)\n }\n\n if (val === '' || val === 'null') {\n return null\n }\n\n return val\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {\n ...element.dataset\n }\n\n Object.keys(attributes).forEach(key => {\n attributes[key] = normalizeData(attributes[key])\n })\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-${normalizeDataKey(key)}`))\n },\n\n offset(element) {\n const rect = element.getBoundingClientRect()\n\n return {\n top: rect.top + document.body.scrollTop,\n left: rect.left + document.body.scrollLeft\n }\n },\n\n position(element) {\n return {\n top: element.offsetTop,\n left: element.offsetLeft\n }\n },\n\n toggleClass(element, className) {\n if (!element) {\n return\n }\n\n if (element.classList.contains(className)) {\n element.classList.remove(className)\n } else {\n element.classList.add(className)\n }\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n makeArray,\n reflow,\n triggerTransitionEnd,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n}\n\nconst Direction = {\n NEXT: 'next',\n PREV: 'prev',\n LEFT: 'left',\n RIGHT: 'right'\n}\n\nconst Event = {\n SLIDE: `slide${EVENT_KEY}`,\n SLID: `slid${EVENT_KEY}`,\n KEYDOWN: `keydown${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`,\n TOUCHSTART: `touchstart${EVENT_KEY}`,\n TOUCHMOVE: `touchmove${EVENT_KEY}`,\n TOUCHEND: `touchend${EVENT_KEY}`,\n POINTERDOWN: `pointerdown${EVENT_KEY}`,\n POINTERUP: `pointerup${EVENT_KEY}`,\n DRAG_START: `dragstart${EVENT_KEY}`,\n LOAD_DATA_API: `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n CAROUSEL: 'carousel',\n ACTIVE: 'active',\n SLIDE: 'slide',\n RIGHT: 'carousel-item-right',\n LEFT: 'carousel-item-left',\n NEXT: 'carousel-item-next',\n PREV: 'carousel-item-prev',\n ITEM: 'carousel-item',\n POINTER_EVENT: 'pointer-event'\n}\n\nconst Selector = {\n ACTIVE: '.active',\n ACTIVE_ITEM: '.active.carousel-item',\n ITEM: '.carousel-item',\n ITEM_IMG: '.carousel-item img',\n NEXT_PREV: '.carousel-item-next, .carousel-item-prev',\n INDICATORS: '.carousel-indicators',\n DATA_SLIDE: '[data-slide], [data-slide-to]',\n DATA_RIDE: '[data-ride=\"carousel\"]'\n}\n\nconst PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = SelectorEngine.findOne(Selector.INDICATORS, this._element)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (SelectorEngine.findOne(Selector.NEXT_PREV, this._element)) {\n triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config && this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element)\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex ?\n Direction.NEXT :\n Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n Data.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler\n .on(this._element, Event.KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler\n .on(this._element, Event.MOUSEENTER, event => this.pause(event))\n EventHandler\n .on(this._element, Event.MOUSELEAVE, event => this.cycle(event))\n }\n\n if (this._config.touch && this._touchSupported) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n const start = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchStartX = event.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.touches[0].clientX\n }\n }\n\n const move = event => {\n // ensure swiping with one touch and not pinching\n if (event.touches && event.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n\n this.touchTimeout = setTimeout(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n makeArray(SelectorEngine.find(Selector.ITEM_IMG, this._element)).forEach(itemImg => {\n EventHandler.on(itemImg, Event.DRAG_START, e => e.preventDefault())\n })\n\n if (this._pointerEvent) {\n EventHandler.on(this._element, Event.POINTERDOWN, event => start(event))\n EventHandler.on(this._element, Event.POINTERUP, event => end(event))\n\n this._element.classList.add(ClassName.POINTER_EVENT)\n } else {\n EventHandler.on(this._element, Event.TOUCHSTART, event => start(event))\n EventHandler.on(this._element, Event.TOUCHMOVE, event => move(event))\n EventHandler.on(this._element, Event.TOUCHEND, event => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode ?\n makeArray(SelectorEngine.find(Selector.ITEM, element.parentNode)) :\n []\n\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = (isPrevDirection && activeIndex === 0) ||\n (isNextDirection && activeIndex === lastItemIndex)\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] :\n this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element))\n\n return EventHandler.trigger(this._element, Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = SelectorEngine.find(Selector.ACTIVE, this._indicatorsElement)\n for (let i = 0; i < indicators.length; i++) {\n indicators[i].classList.remove(ClassName.ACTIVE)\n }\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n nextIndicator.classList.add(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || (activeElement &&\n this._getItemByDirection(direction, activeElement))\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && nextElement.classList.contains(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.defaultPrevented) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n if (this._element.classList.contains(ClassName.SLIDE)) {\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = getTransitionDurationFromElement(activeElement)\n\n EventHandler\n .one(activeElement, TRANSITION_END, () => {\n nextElement.classList.remove(directionalClassName)\n nextElement.classList.remove(orderClassName)\n nextElement.classList.add(ClassName.ACTIVE)\n\n activeElement.classList.remove(ClassName.ACTIVE)\n activeElement.classList.remove(orderClassName)\n activeElement.classList.remove(directionalClassName)\n\n this._isSliding = false\n\n setTimeout(() => {\n EventHandler.trigger(this._element, Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }, 0)\n })\n\n emulateTransitionEnd(activeElement, transitionDuration)\n } else {\n activeElement.classList.remove(ClassName.ACTIVE)\n nextElement.classList.add(ClassName.ACTIVE)\n\n this._isSliding = false\n EventHandler.trigger(this._element, Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static carouselInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n let _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element)\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(element, _config)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Carousel.carouselInterface(this, config)\n })\n }\n\n static dataApiClickHandler(event) {\n const target = getElementFromSelector(this)\n\n if (!target || !target.classList.contains(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel.carouselInterface(target, config)\n\n if (slideIndex) {\n Data.getData(target, DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel.dataApiClickHandler)\n\nEventHandler.on(window, Event.LOAD_DATA_API, () => {\n const carousels = makeArray(SelectorEngine.find(Selector.DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n Carousel.carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY))\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .carousel to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Carousel.jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel.jQueryInterface\n }\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isElement,\n makeArray,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n toggle: true,\n parent: ''\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(string|element)'\n}\n\nconst Event = {\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SHOW: 'show',\n COLLAPSE: 'collapse',\n COLLAPSING: 'collapsing',\n COLLAPSED: 'collapsed'\n}\n\nconst Dimension = {\n WIDTH: 'width',\n HEIGHT: 'height'\n}\n\nconst Selector = {\n ACTIVES: '.show, .collapsing',\n DATA_TOGGLE: '[data-toggle=\"collapse\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = makeArray(SelectorEngine.find(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n\n const toggleList = makeArray(SelectorEngine.find(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = getSelectorFromElement(elem)\n const filterElement = makeArray(SelectorEngine.find(selector))\n .filter(foundElem => foundElem === element)\n\n if (selector !== null && filterElement.length) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if (this._element.classList.contains(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = makeArray(SelectorEngine.find(Selector.ACTIVES, this._parent))\n .filter(elem => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(ClassName.COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n const container = SelectorEngine.findOne(this._selector)\n if (actives) {\n const tempActiveData = actives.filter(elem => container !== elem)\n activesData = tempActiveData[0] ? Data.getData(tempActiveData[0], DATA_KEY) : null\n\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = EventHandler.trigger(this._element, Event.SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n if (actives) {\n actives.forEach(elemActive => {\n if (container !== elemActive) {\n Collapse.collapseInterface(elemActive, 'hide')\n }\n\n if (!activesData) {\n Data.setData(elemActive, DATA_KEY, null)\n }\n })\n }\n\n const dimension = this._getDimension()\n\n this._element.classList.remove(ClassName.COLLAPSE)\n this._element.classList.add(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n this._triggerArray.forEach(element => {\n element.classList.remove(ClassName.COLLAPSED)\n element.setAttribute('aria-expanded', true)\n })\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this._element.classList.remove(ClassName.COLLAPSING)\n this._element.classList.add(ClassName.COLLAPSE)\n this._element.classList.add(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n EventHandler.trigger(this._element, Event.SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n\n emulateTransitionEnd(this._element, transitionDuration)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, Event.HIDE)\n if (startEvent.defaultPrevented) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n reflow(this._element)\n\n this._element.classList.add(ClassName.COLLAPSING)\n this._element.classList.remove(ClassName.COLLAPSE)\n this._element.classList.remove(ClassName.SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const elem = getElementFromSelector(trigger)\n\n if (elem && !elem.classList.contains(ClassName.SHOW)) {\n trigger.classList.add(ClassName.COLLAPSED)\n trigger.setAttribute('aria-expanded', false)\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n this._element.classList.remove(ClassName.COLLAPSING)\n this._element.classList.add(ClassName.COLLAPSE)\n EventHandler.trigger(this._element, Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = this._element.classList.contains(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let { parent } = this._config\n\n if (isElement(parent)) {\n // it's a jQuery object\n if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {\n parent = parent[0]\n }\n } else {\n parent = SelectorEngine.findOne(parent)\n }\n\n const selector = `[data-toggle=\"collapse\"][data-parent=\"${parent}\"]`\n\n makeArray(SelectorEngine.find(selector, parent))\n .forEach(element => {\n const selected = getElementFromSelector(element)\n\n this._addAriaAndCollapsedClass(\n selected,\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (element) {\n const isOpen = element.classList.contains(ClassName.SHOW)\n\n if (triggerArray.length) {\n triggerArray.forEach(elem => {\n if (isOpen) {\n elem.classList.remove(ClassName.COLLAPSED)\n } else {\n elem.classList.add(ClassName.COLLAPSED)\n }\n\n elem.setAttribute('aria-expanded', isOpen)\n })\n }\n }\n }\n\n // Static\n\n static collapseInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Collapse.collapseInterface(this, config)\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A') {\n event.preventDefault()\n }\n\n const triggerData = Manipulator.getDataAttributes(this)\n const selector = getSelectorFromElement(this)\n const selectorElements = makeArray(SelectorEngine.find(selector))\n\n selectorElements.forEach(element => {\n const data = Data.getData(element, DATA_KEY)\n let config\n if (data) {\n // update parent attribute\n if (data._parent === null && typeof triggerData.parent === 'string') {\n data._config.parent = triggerData.parent\n data._parent = data._getParent()\n }\n\n config = 'toggle'\n } else {\n config = triggerData\n }\n\n Collapse.collapseInterface(element, config)\n })\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .collapse to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Collapse.jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse.jQueryInterface\n }\n}\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getElementFromSelector,\n isElement,\n isVisible,\n makeArray,\n noop,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API: `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API: `keyup${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DISABLED: 'disabled',\n SHOW: 'show',\n DROPUP: 'dropup',\n DROPRIGHT: 'dropright',\n DROPLEFT: 'dropleft',\n MENURIGHT: 'dropdown-menu-right',\n POSITION_STATIC: 'position-static'\n}\n\nconst Selector = {\n DATA_TOGGLE: '[data-toggle=\"dropdown\"]',\n FORM_CHILD: '.dropdown form',\n MENU: '.dropdown-menu',\n NAVBAR_NAV: '.navbar-nav',\n VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n}\n\nconst AttachmentMap = {\n TOP: 'top-start',\n TOPEND: 'top-end',\n BOTTOM: 'bottom-start',\n BOTTOMEND: 'bottom-end',\n RIGHT: 'right-start',\n RIGHTEND: 'right-end',\n LEFT: 'left-start',\n LEFTEND: 'left-end'\n}\n\nconst Default = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n const isActive = this._menu.classList.contains(ClassName.SHOW)\n\n Dropdown.clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show()\n }\n\n show() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED) || this._menu.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const showEvent = EventHandler.trigger(parent, Event.SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n parent.classList.add(ClassName.POSITION_STATIC)\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n !makeArray(SelectorEngine.closest(parent, Selector.NAVBAR_NAV)).length) {\n makeArray(document.body.children)\n .forEach(elem => EventHandler.on(elem, 'mouseover', null, noop()))\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n Manipulator.toggleClass(this._menu, ClassName.SHOW)\n Manipulator.toggleClass(parent, ClassName.SHOW)\n EventHandler.trigger(parent, Event.SHOWN, relatedTarget)\n }\n\n hide() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED) || !this._menu.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const hideEvent = EventHandler.trigger(parent, Event.HIDE, relatedTarget)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n Manipulator.toggleClass(this._menu, ClassName.SHOW)\n Manipulator.toggleClass(parent, ClassName.SHOW)\n EventHandler.trigger(parent, Event.HIDDEN, relatedTarget)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._element, EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n EventHandler.on(this._element, Event.CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n const parent = Dropdown.getParentFromElement(this._element)\n\n return SelectorEngine.findOne(Selector.MENU, parent)\n }\n\n _getPlacement() {\n const parentDropdown = this._element.parentNode\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if (parentDropdown.classList.contains(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if (this._menu.classList.contains(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if (parentDropdown.classList.contains(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if (parentDropdown.classList.contains(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if (this._menu.classList.contains(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n\n return placement\n }\n\n _detectNavbar() {\n return Boolean(SelectorEngine.closest(this._element, '.navbar'))\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets, this._element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static dropdownInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Dropdown.dropdownInterface(this, config)\n })\n }\n\n static clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n (event.type === 'keyup' && event.which !== TAB_KEYCODE))) {\n return\n }\n\n const toggles = makeArray(SelectorEngine.find(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown.getParentFromElement(toggles[i])\n const context = Data.getData(toggles[i], DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!parent.classList.contains(ClassName.SHOW)) {\n continue\n }\n\n if (event && ((event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName)) ||\n (event.type === 'keyup' && event.which === TAB_KEYCODE)) &&\n parent.contains(event.target)) {\n continue\n }\n\n const hideEvent = EventHandler.trigger(parent, Event.HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children)\n .forEach(elem => EventHandler.off(elem, 'mouseover', null, noop()))\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n dropdownMenu.classList.remove(ClassName.SHOW)\n parent.classList.remove(ClassName.SHOW)\n EventHandler.trigger(parent, Event.HIDDEN, relatedTarget)\n }\n }\n\n static getParentFromElement(element) {\n return getElementFromSelector(element) || element.parentNode\n }\n\n static dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ?\n event.which === SPACE_KEYCODE || (event.which !== ESCAPE_KEYCODE &&\n ((event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE) ||\n SelectorEngine.closest(event.target, Selector.MENU))) :\n !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || this.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this)\n const isActive = parent.classList.contains(ClassName.SHOW)\n\n if (!isActive || (isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE))) {\n if (event.which === ESCAPE_KEYCODE) {\n SelectorEngine.findOne(Selector.DATA_TOGGLE, parent).focus()\n }\n\n Dropdown.clearMenus()\n return\n }\n\n const items = makeArray(SelectorEngine.find(Selector.VISIBLE_ITEMS, parent))\n .filter(isVisible)\n\n if (!items.length) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, Event.CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, Event.KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown.dropdownInterface(this, 'toggle')\n})\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.FORM_CHILD, e => e.stopPropagation())\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .dropdown to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Dropdown.jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown.jQueryInterface\n }\n}\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n makeArray,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: 'boolean'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDE_PREVENTED: `hidePrevented${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n RESIZE: `resize${EVENT_KEY}`,\n CLICK_DISMISS: `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS: `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS: `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS: `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SCROLLABLE: 'modal-dialog-scrollable',\n SCROLLBAR_MEASURER: 'modal-scrollbar-measure',\n BACKDROP: 'modal-backdrop',\n OPEN: 'modal-open',\n FADE: 'fade',\n SHOW: 'show',\n STATIC: 'modal-static'\n}\n\nconst Selector = {\n DIALOG: '.modal-dialog',\n MODAL_BODY: '.modal-body',\n DATA_TOGGLE: '[data-toggle=\"modal\"]',\n DATA_DISMISS: '[data-dismiss=\"modal\"]',\n FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT: '.sticky-top'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = SelectorEngine.findOne(Selector.DIALOG, element)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if (this._element.classList.contains(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = EventHandler.trigger(this._element, Event.SHOW, {\n relatedTarget\n })\n\n if (this._isShown || showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.on(this._element,\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n event => this.hide(event)\n )\n\n EventHandler.on(this._dialog, Event.MOUSEDOWN_DISMISS, () => {\n EventHandler.one(this._element, Event.MOUSEUP_DISMISS, event => {\n if (event.target === this._element) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, Event.HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n const transition = this._element.classList.contains(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.off(document, Event.FOCUSIN)\n\n this._element.classList.remove(ClassName.SHOW)\n\n EventHandler.off(this._element, Event.CLICK_DISMISS)\n EventHandler.off(this._dialog, Event.MOUSEDOWN_DISMISS)\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, event => this._hideModal(event))\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\n\n /**\n * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `Event.CLICK_DATA_API` event that should remain\n */\n EventHandler.off(document, Event.FOCUSIN)\n\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = this._element.classList.contains(ClassName.FADE)\n const modalBody = SelectorEngine.findOne(Selector.MODAL_BODY, this._dialog)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n\n if (this._dialog.classList.contains(ClassName.SCROLLABLE) && modalBody) {\n modalBody.scrollTop = 0\n } else {\n this._element.scrollTop = 0\n }\n\n if (transition) {\n reflow(this._element)\n }\n\n this._element.classList.add(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, Event.SHOWN, {\n relatedTarget\n })\n }\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._dialog)\n\n EventHandler.one(this._dialog, TRANSITION_END, transitionComplete)\n emulateTransitionEnd(this._dialog, transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n EventHandler.off(document, Event.FOCUSIN) // guard against infinite focus loop\n EventHandler.on(document, Event.FOCUSIN, event => {\n if (document !== event.target &&\n this._element !== event.target &&\n !this._element.contains(event.target)) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n EventHandler.on(this._element, Event.KEYDOWN_DISMISS, event => {\n if (event.which === ESCAPE_KEYCODE) {\n this._triggerBackdropTransition()\n }\n })\n } else {\n EventHandler.off(this._element, Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n EventHandler.on(window, Event.RESIZE, () => this._adjustDialog())\n } else {\n EventHandler.off(window, Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._isTransitioning = false\n this._showBackdrop(() => {\n document.body.classList.remove(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n EventHandler.trigger(this._element, Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n this._backdrop.parentNode.removeChild(this._backdrop)\n this._backdrop = null\n }\n\n _showBackdrop(callback) {\n const animate = this._element.classList.contains(ClassName.FADE) ?\n ClassName.FADE :\n ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n document.body.appendChild(this._backdrop)\n\n EventHandler.on(this._element, Event.CLICK_DISMISS, event => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n\n if (event.target !== event.currentTarget) {\n return\n }\n\n this._triggerBackdropTransition()\n })\n\n if (animate) {\n reflow(this._backdrop)\n }\n\n this._backdrop.classList.add(ClassName.SHOW)\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n\n EventHandler.one(this._backdrop, TRANSITION_END, callback)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n this._backdrop.classList.remove(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n callback()\n }\n\n if (this._element.classList.contains(ClassName.FADE)) {\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else {\n callback()\n }\n }\n\n _triggerBackdropTransition() {\n if (this._config.backdrop === 'static') {\n const hideEvent = EventHandler.trigger(this._element, Event.HIDE_PREVENTED)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._element.classList.add(ClassName.STATIC)\n const modalTransitionDuration = getTransitionDurationFromElement(this._element)\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.classList.remove(ClassName.STATIC)\n })\n emulateTransitionEnd(this._element, modalTransitionDuration)\n this._element.focus()\n } else {\n this.hide()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n makeArray(SelectorEngine.find(Selector.FIXED_CONTENT))\n .forEach(element => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = window.getComputedStyle(element)['padding-right']\n Manipulator.setDataAttribute(element, 'padding-right', actualPadding)\n element.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n })\n\n // Adjust sticky content margin\n makeArray(SelectorEngine.find(Selector.STICKY_CONTENT))\n .forEach(element => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = window.getComputedStyle(element)['margin-right']\n Manipulator.setDataAttribute(element, 'margin-right', actualMargin)\n element.style.marginRight = `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = window.getComputedStyle(document.body)['padding-right']\n\n Manipulator.setDataAttribute(document.body, 'padding-right', actualPadding)\n document.body.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n }\n\n document.body.classList.add(ClassName.OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n makeArray(SelectorEngine.find(Selector.FIXED_CONTENT))\n .forEach(element => {\n const padding = Manipulator.getDataAttribute(element, 'padding-right')\n if (typeof padding !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'padding-right')\n element.style.paddingRight = padding\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n makeArray(SelectorEngine.find(`${Selector.STICKY_CONTENT}`))\n .forEach(element => {\n const margin = Manipulator.getDataAttribute(element, 'margin-right')\n if (typeof margin !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'margin-right')\n element.style.marginRight = margin\n }\n })\n\n // Restore body padding\n const padding = Manipulator.getDataAttribute(document.body, 'padding-right')\n if (typeof padding === 'undefined') {\n document.body.style.paddingRight = ''\n } else {\n Manipulator.removeDataAttribute(document.body, 'padding-right')\n document.body.style.paddingRight = padding\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(this),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n EventHandler.one(target, Event.SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, Event.HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n let data = Data.getData(target, DATA_KEY)\n if (!data) {\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n\n data = new Modal(target, config)\n }\n\n data.show(this)\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .modal to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Modal.jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal.jQueryInterface\n }\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { makeArray } from './index'\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i\n\nconst allowedAttribute = (attr, allowedAttributeList) => {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter(attrRegex => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, l = regExp.length; i < l; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\n\nexport const DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\nexport function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const whitelistKeys = Object.keys(whiteList)\n const elements = makeArray(createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (whitelistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = makeArray(el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n findShadowRoot,\n getTransitionDurationFromElement,\n getUID,\n isElement,\n makeArray,\n noop,\n typeCheckConfig\n} from './util/index'\nimport {\n DefaultWhitelist,\n sanitizeHtml\n} from './util/sanitizer'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']\n\nconst DefaultType = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n whiteList: 'object',\n popperConfig: '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n}\n\nconst Default = {\n animation: true,\n template: '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"tooltip-arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\n sanitize: true,\n sanitizeFn: null,\n whiteList: DefaultWhitelist,\n popperConfig: null\n}\n\nconst HoverState = {\n SHOW: 'show',\n OUT: 'out'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n TOOLTIP_INNER: '.tooltip-inner'\n}\n\nconst Trigger = {\n HOVER: 'hover',\n FOCUS: 'focus',\n CLICK: 'click',\n MANUAL: 'manual'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n Data.setData(element, this.constructor.DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if (this.getTipElement().classList.contains(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n Data.removeData(this.element, this.constructor.DATA_KEY)\n\n EventHandler.off(this.element, this.constructor.EVENT_KEY)\n EventHandler.off(SelectorEngine.closest(this.element, '.modal'), 'hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n this.tip.parentNode.removeChild(this.tip)\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if (this.element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (this.isWithContent() && this._isEnabled) {\n const showEvent = EventHandler.trigger(this.element, this.constructor.Event.SHOW)\n const shadowRoot = findShadowRoot(this.element)\n const isInTheDom = shadowRoot === null ?\n this.element.ownerDocument.documentElement.contains(this.element) :\n shadowRoot.contains(this.element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n tip.classList.add(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function' ?\n this.config.placement.call(this, tip, this.element) :\n this.config.placement\n\n const attachment = this._getAttachment(placement)\n this._addAttachmentClass(attachment)\n\n const container = this._getContainer()\n Data.setData(tip, this.constructor.DATA_KEY, this)\n\n if (!this.element.ownerDocument.documentElement.contains(this.tip)) {\n container.appendChild(tip)\n }\n\n EventHandler.trigger(this.element, this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\n\n tip.classList.add(ClassName.SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children).forEach(element => {\n EventHandler.on(element, 'mouseover', noop())\n })\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n EventHandler.trigger(this.element, this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if (this.tip.classList.contains(ClassName.FADE)) {\n const transitionDuration = getTransitionDurationFromElement(this.tip)\n EventHandler.one(this.tip, TRANSITION_END, complete)\n emulateTransitionEnd(this.tip, transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide() {\n const tip = this.getTipElement()\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n EventHandler.trigger(this.element, this.constructor.Event.HIDDEN)\n this._popper.destroy()\n }\n\n const hideEvent = EventHandler.trigger(this.element, this.constructor.Event.HIDE)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n tip.classList.remove(ClassName.SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children)\n .forEach(element => EventHandler.off(element, 'mouseover', noop))\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if (this.tip.classList.contains(ClassName.FADE)) {\n const transitionDuration = getTransitionDurationFromElement(tip)\n\n EventHandler.one(tip, TRANSITION_END, complete)\n emulateTransitionEnd(tip, transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n getTipElement() {\n if (this.tip) {\n return this.tip\n }\n\n const element = document.createElement('div')\n element.innerHTML = this.config.template\n\n this.tip = element.children[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent(SelectorEngine.findOne(Selector.TOOLTIP_INNER, tip), this.getTitle())\n tip.classList.remove(ClassName.FADE)\n tip.classList.remove(ClassName.SHOW)\n }\n\n setElementContent(element, content) {\n if (element === null) {\n return\n }\n\n if (typeof content === 'object' && isElement(content)) {\n if (content.jquery) {\n content = content[0]\n }\n\n // content is a DOM node or a jQuery\n if (this.config.html) {\n if (content.parentNode !== element) {\n element.innerHTML = ''\n element.appendChild(content)\n }\n } else {\n element.innerText = content.textContent\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn)\n }\n\n element.innerHTML = content\n } else {\n element.innerText = content\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function' ?\n this.config.title.call(this.element) :\n this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: `.${this.constructor.NAME}-arrow`\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: data => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: data => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...this.config.offset(data.offsets, this.element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (isElement(this.config.container)) {\n return this.config.container\n }\n\n return SelectorEngine.findOne(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach(trigger => {\n if (trigger === 'click') {\n EventHandler.on(this.element,\n this.constructor.Event.CLICK,\n this.config.selector,\n event => this.toggle(event)\n )\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n EventHandler.on(this.element,\n eventIn,\n this.config.selector,\n event => this._enter(event)\n )\n EventHandler.on(this.element,\n eventOut,\n this.config.selector,\n event => this._leave(event)\n )\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n EventHandler.on(SelectorEngine.closest(this.element, '.modal'),\n 'hide.bs.modal',\n this._hideModalHandler\n )\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if (context.getTipElement().classList.contains(ClassName.SHOW) ||\n context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this.element)\n\n Object.keys(dataAttributes)\n .forEach(dataAttr => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n if (config && typeof config.container === 'object' && config.container.jquery) {\n config.container = config.container[0]\n }\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length) {\n tabClass\n .map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n const popperInstance = popperData.instance\n this.tip = popperInstance.popper\n this._cleanTipClass()\n this._addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n tip.classList.remove(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tooltip to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tooltip.jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip.jQueryInterface\n }\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport SelectorEngine from './dom/selector-engine'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement: 'right',\n trigger: 'click',\n content: '',\n template: '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"popover-arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(string|element|function)'\n}\n\nconst ClassName = {\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n TITLE: '.popover-header',\n CONTENT: '.popover-body'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n setContent() {\n const tip = this.getTipElement()\n\n // we use append for html objects to maintain js events\n this.setElementContent(SelectorEngine.findOne(Selector.TITLE, tip), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n\n this.setElementContent(SelectorEngine.findOne(Selector.CONTENT, tip), content)\n\n tip.classList.remove(ClassName.FADE)\n tip.classList.remove(ClassName.SHOW)\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n Data.setData(this, DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Popover.jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover.jQueryInterface\n }\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getSelectorFromElement,\n getUID,\n makeArray,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n offset: 10,\n method: 'auto',\n target: ''\n}\n\nconst DefaultType = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n}\n\nconst Event = {\n ACTIVATE: `activate${EVENT_KEY}`,\n SCROLL: `scroll${EVENT_KEY}`,\n LOAD_DATA_API: `load${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_ITEM: 'dropdown-item',\n ACTIVE: 'active'\n}\n\nconst Selector = {\n DATA_SPY: '[data-spy=\"scroll\"]',\n NAV_LIST_GROUP: '.nav, .list-group',\n NAV_LINKS: '.nav-link',\n NAV_ITEMS: '.nav-item',\n LIST_ITEMS: '.list-group-item',\n DROPDOWN: '.dropdown',\n DROPDOWN_TOGGLE: '.dropdown-toggle'\n}\n\nconst OffsetMethod = {\n OFFSET: 'offset',\n POSITION: 'position'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +\n `${this._config.target} ${Selector.LIST_ITEMS},` +\n `${this._config.target} .${ClassName.DROPDOWN_ITEM}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n EventHandler.on(this._scrollElement, Event.SCROLL, event => this._process(event))\n\n this.refresh()\n this._process()\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window ?\n OffsetMethod.OFFSET :\n OffsetMethod.POSITION\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod :\n this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION ?\n this._getScrollTop() :\n 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = makeArray(SelectorEngine.find(this._selector))\n\n targets\n .map(element => {\n let target\n const targetSelector = getSelectorFromElement(element)\n\n if (targetSelector) {\n target = SelectorEngine.findOne(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n return [\n Manipulator[offsetMethod](target).top + offsetBase,\n targetSelector\n ]\n }\n }\n\n return null\n })\n .filter(item => item)\n .sort((a, b) => a[0] - b[0])\n .forEach(item => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._scrollElement, EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.target !== 'string') {\n let { id } = config.target\n if (!id) {\n id = getUID(NAME)\n config.target.id = id\n }\n\n config.target = `#${id}`\n }\n\n typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset :\n this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight :\n this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n const offsetLength = this._offsets.length\n for (let i = offsetLength; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector.split(',')\n .map(selector => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const link = SelectorEngine.findOne(queries.join(','))\n\n if (link.classList.contains(ClassName.DROPDOWN_ITEM)) {\n SelectorEngine\n .findOne(Selector.DROPDOWN_TOGGLE, SelectorEngine.closest(link, Selector.DROPDOWN))\n .classList.add(ClassName.ACTIVE)\n\n link.classList.add(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n link.classList.add(ClassName.ACTIVE)\n\n SelectorEngine\n .parents(link, Selector.NAV_LIST_GROUP)\n .forEach(listGroup => {\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n SelectorEngine.prev(listGroup, `${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`)\n .forEach(item => item.classList.add(ClassName.ACTIVE))\n\n // Handle special case when .nav-link is inside .nav-item\n SelectorEngine.prev(listGroup, Selector.NAV_ITEMS)\n .forEach(navItem => {\n SelectorEngine.children(navItem, Selector.NAV_LINKS)\n .forEach(item => item.classList.add(ClassName.ACTIVE))\n })\n })\n }\n\n EventHandler.trigger(this._scrollElement, Event.ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n makeArray(SelectorEngine.find(this._selector))\n .filter(node => node.classList.contains(ClassName.ACTIVE))\n .forEach(node => node.classList.remove(ClassName.ACTIVE))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(window, Event.LOAD_DATA_API, () => {\n makeArray(SelectorEngine.find(Selector.DATA_SPY))\n .forEach(spy => new ScrollSpy(spy, Manipulator.getDataAttributes(spy)))\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = ScrollSpy.jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy.jQueryInterface\n }\n}\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n makeArray,\n reflow\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_MENU: 'dropdown-menu',\n ACTIVE: 'active',\n DISABLED: 'disabled',\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n DROPDOWN: '.dropdown',\n NAV_LIST_GROUP: '.nav, .list-group',\n ACTIVE: '.active',\n ACTIVE_UL: ':scope > li > .active',\n DATA_TOGGLE: '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n DROPDOWN_TOGGLE: '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD: ':scope > .dropdown-menu .active'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n\n Data.setData(this._element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if ((this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n this._element.classList.contains(ClassName.ACTIVE)) ||\n this._element.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n let previous\n const target = getElementFromSelector(this._element)\n const listElement = SelectorEngine.closest(this._element, Selector.NAV_LIST_GROUP)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n previous = makeArray(SelectorEngine.find(itemSelector, listElement))\n previous = previous[previous.length - 1]\n }\n\n let hideEvent = null\n\n if (previous) {\n hideEvent = EventHandler.trigger(previous, Event.HIDE, {\n relatedTarget: this._element\n })\n }\n\n const showEvent = EventHandler.trigger(this._element, Event.SHOW, {\n relatedTarget: previous\n })\n\n if (showEvent.defaultPrevented ||\n (hideEvent !== null && hideEvent.defaultPrevented)) {\n return\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n EventHandler.trigger(previous, Event.HIDDEN, {\n relatedTarget: this._element\n })\n EventHandler.trigger(this._element, Event.SHOWN, {\n relatedTarget: previous\n })\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ?\n SelectorEngine.find(Selector.ACTIVE_UL, container) :\n SelectorEngine.children(container, Selector.ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n (active && active.classList.contains(ClassName.FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = getTransitionDurationFromElement(active)\n active.classList.remove(ClassName.SHOW)\n\n EventHandler.one(active, TRANSITION_END, complete)\n emulateTransitionEnd(active, transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n active.classList.remove(ClassName.ACTIVE)\n\n const dropdownChild = SelectorEngine.findOne(Selector.DROPDOWN_ACTIVE_CHILD, active.parentNode)\n\n if (dropdownChild) {\n dropdownChild.classList.remove(ClassName.ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n element.classList.add(ClassName.ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n reflow(element)\n\n if (element.classList.contains(ClassName.FADE)) {\n element.classList.add(ClassName.SHOW)\n }\n\n if (element.parentNode && element.parentNode.classList.contains(ClassName.DROPDOWN_MENU)) {\n const dropdownElement = SelectorEngine.closest(element, Selector.DROPDOWN)\n\n if (dropdownElement) {\n makeArray(SelectorEngine.find(Selector.DROPDOWN_TOGGLE))\n .forEach(dropdown => dropdown.classList.add(ClassName.ACTIVE))\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n data.show()\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tab to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tab.jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab.jQueryInterface\n }\n}\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getTransitionDurationFromElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst Event = {\n CLICK_DISMISS: `click.dismiss${EVENT_KEY}`,\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE: 'fade',\n HIDE: 'hide',\n SHOW: 'show',\n SHOWING: 'showing'\n}\n\nconst DefaultType = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n}\n\nconst Default = {\n animation: true,\n autohide: true,\n delay: 500\n}\n\nconst Selector = {\n DATA_DISMISS: '[data-dismiss=\"toast\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n show() {\n const showEvent = EventHandler.trigger(this._element, Event.SHOW)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n if (this._config.animation) {\n this._element.classList.add(ClassName.FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(ClassName.SHOWING)\n this._element.classList.add(ClassName.SHOW)\n\n EventHandler.trigger(this._element, Event.SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(ClassName.HIDE)\n reflow(this._element)\n this._element.classList.add(ClassName.SHOWING)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, Event.HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const complete = () => {\n this._element.classList.add(ClassName.HIDE)\n EventHandler.trigger(this._element, Event.HIDDEN)\n }\n\n this._element.classList.remove(ClassName.SHOW)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n this._timeout = null\n\n if (this._element.classList.contains(ClassName.SHOW)) {\n this._element.classList.remove(ClassName.SHOW)\n }\n\n EventHandler.off(this._element, Event.CLICK_DISMISS)\n Data.removeData(this._element, DATA_KEY)\n\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...typeof config === 'object' && config ? config : {}\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(\n this._element,\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n () => this.hide()\n )\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .toast to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Toast.jQueryInterface\n $.fn[NAME].Constructor = Toast\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast.jQueryInterface\n }\n}\n\nexport default Toast\n"],"names":["MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","toString","call","match","toLowerCase","getUID","prefix","Math","random","document","getElementById","getSelector","element","selector","getAttribute","hrefAttr","trim","getSelectorFromElement","querySelector","getElementFromSelector","getTransitionDurationFromElement","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","evt","createEvent","initEvent","dispatchEvent","isElement","nodeType","emulateTransitionEnd","duration","called","durationPadding","emulatedDuration","listener","removeEventListener","addEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","makeArray","nodeList","slice","isVisible","style","parentNode","elementStyle","parentNodeStyle","display","visibility","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","mapData","storeData","id","set","key","data","get","keyProperties","delete","Data","setData","instance","getData","removeData","Element","prototype","matches","closest","find","querySelectorAll","findOne","createCustomEvent","eventName","params","cEvent","CustomEvent","bubbles","cancelable","detail","initCustomEvent","workingDefaultPrevented","e","preventDefault","defaultPrevented","origPreventDefault","Event","defineProperty","configurable","defaultPreventedPreservedOnDispatch","createElement","msMatchesSelector","webkitMatchesSelector","parentElement","scopeSelectorRegex","supportScopeQuery","_","hasId","Boolean","replace","removeAttribute","$","namespaceRegex","stripNameRegex","keyEventRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","getUidEvent","uid","getEvent","fixEvent","event","which","type","charCode","keyCode","delegateTarget","bootstrapHandler","fn","handler","oneOff","EventHandler","off","apply","bootstrapDelegationHandler","domElements","target","i","length","findHandler","events","delegationSelector","uidEventList","len","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","custom","isNative","indexOf","addHandler","handlers","previousFn","removeHandler","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","on","one","inNamespace","isNamespace","charAt","elementEvent","keyHandlers","trigger","args","jQueryEvent","nativeDispatch","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","NODE_TEXT","SelectorEngine","findFn","children","filter","child","parents","ancestor","Node","ELEMENT_NODE","push","prev","siblings","previous","previousSibling","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","Selector","DISMISS","CLOSE","CLOSED","CLICK_DATA_API","ClassName","ALERT","FADE","SHOW","Alert","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","_removeElement","dispose","parent","classList","remove","contains","_destroyElement","removeChild","jQueryInterface","each","handleDismiss","alertInstance","getInstance","JQUERY_NO_CONFLICT","Constructor","noConflict","ACTIVE","BUTTON","FOCUS","DATA_TOGGLE_CARROT","DATA_TOGGLE","INPUT","FOCUS_DATA_API","BLUR_DATA_API","Button","toggle","triggerChangeEvent","addAriaPressed","input","checked","activeElement","focus","setAttribute","button","add","normalizeData","val","Number","normalizeDataKey","chr","Manipulator","setDataAttribute","removeDataAttribute","getDataAttributes","attributes","dataset","getDataAttribute","offset","rect","getBoundingClientRect","top","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft","toggleClass","className","ARROW_LEFT_KEYCODE","ARROW_RIGHT_KEYCODE","TOUCHEVENT_COMPAT_WAIT","SWIPE_THRESHOLD","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","Direction","NEXT","PREV","LEFT","RIGHT","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","TOUCHSTART","TOUCHMOVE","TOUCHEND","POINTERDOWN","POINTERUP","DRAG_START","LOAD_DATA_API","CAROUSEL","ITEM","POINTER_EVENT","ACTIVE_ITEM","ITEM_IMG","NEXT_PREV","INDICATORS","DATA_SLIDE","DATA_RIDE","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","MSPointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","_handleSwipe","absDeltax","abs","_keydown","_addTouchEventListeners","start","pointerType","clientX","touches","move","end","clearTimeout","itemImg","tagName","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","from","_setActiveIndicatorElement","indicators","nextIndicator","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","slideEvent","nextElementInterval","parseInt","defaultInterval","carouselInterface","action","TypeError","ride","dataApiClickHandler","slideIndex","carousels","SHOWN","HIDE","HIDDEN","COLLAPSE","COLLAPSING","COLLAPSED","Dimension","WIDTH","HEIGHT","ACTIVES","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","container","tempActiveData","startEvent","elemActive","collapseInterface","dimension","_getDimension","setTransitioning","complete","capitalizedDimension","scrollSize","triggerArrayLength","isTransitioning","hasWidth","jquery","selected","triggerArray","isOpen","triggerData","selectorElements","ESCAPE_KEYCODE","SPACE_KEYCODE","TAB_KEYCODE","ARROW_UP_KEYCODE","ARROW_DOWN_KEYCODE","RIGHT_MOUSE_BUTTON_WHICH","REGEXP_KEYDOWN","CLICK","KEYDOWN_DATA_API","KEYUP_DATA_API","DISABLED","DROPUP","DROPRIGHT","DROPLEFT","MENURIGHT","POSITION_STATIC","FORM_CHILD","MENU","NAVBAR_NAV","VISIBLE_ITEMS","AttachmentMap","TOP","TOPEND","BOTTOM","BOTTOMEND","RIGHTEND","LEFTEND","flip","boundary","reference","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","clearMenus","getParentFromElement","showEvent","Popper","referenceElement","_getPopperConfig","hideEvent","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","parentDropdown","placement","_getOffset","offsets","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","dropdownInterface","toggles","context","clickEvent","dropdownMenu","dataApiKeydownHandler","items","backdrop","HIDE_PREVENTED","FOCUSIN","RESIZE","CLICK_DISMISS","KEYDOWN_DISMISS","MOUSEUP_DISMISS","MOUSEDOWN_DISMISS","SCROLLABLE","SCROLLBAR_MEASURER","BACKDROP","OPEN","STATIC","DIALOG","MODAL_BODY","DATA_DISMISS","FIXED_CONTENT","STICKY_CONTENT","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","handleUpdate","modalBody","appendChild","_enforceFocus","transitionComplete","_triggerBackdropTransition","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","animate","currentTarget","backdropTransitionDuration","callbackRemove","modalTransitionDuration","isModalOverflowing","scrollHeight","clientHeight","paddingLeft","paddingRight","right","innerWidth","_getScrollbarWidth","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","margin","scrollDiv","scrollbarWidth","width","clientWidth","uriAttrs","ARIA_ATTRIBUTE_PATTERN","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attr","allowedAttributeList","attrName","nodeName","nodeValue","regExp","attrRegex","l","DefaultWhitelist","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","sanitizeHtml","unsafeHtml","whiteList","sanitizeFn","domParser","DOMParser","createdDocument","parseFromString","whitelistKeys","elements","el","elName","attributeList","whitelistedAttributes","concat","innerHTML","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","fallbackPlacement","sanitize","AUTO","HoverState","OUT","INSERTED","FOCUSOUT","TOOLTIP_INNER","Trigger","HOVER","MANUAL","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","_addAttachmentClass","_getContainer","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","innerText","textContent","defaultBsConfig","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","triggers","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","tabClass","map","token","tClass","popperData","popperInstance","popper","initConfigAnimation","TITLE","CONTENT","Popover","_getContent","method","ACTIVATE","SCROLL","DROPDOWN_ITEM","DATA_SPY","NAV_LIST_GROUP","NAV_LINKS","NAV_ITEMS","LIST_ITEMS","DROPDOWN","DROPDOWN_TOGGLE","OffsetMethod","OFFSET","POSITION","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targets","targetSelector","targetBCR","height","item","sort","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","offsetLength","isActiveTarget","queries","link","join","listGroup","navItem","node","spy","DROPDOWN_MENU","ACTIVE_UL","DROPDOWN_ACTIVE_CHILD","Tab","listElement","itemSelector","activeElements","active","_transitionComplete","dropdownChild","dropdownElement","dropdown","SHOWING","autohide","Toast"],"mappings":"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"} \ No newline at end of file
+{"version":3,"file":"bootstrap.esm.js","sources":["../../js/src/util/index.js","../../js/src/dom/data.js","../../js/src/dom/polyfill.js","../../js/src/dom/event-handler.js","../../js/src/dom/selector-engine.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/dom/manipulator.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/util/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => {\n if (obj === null || obj === undefined) {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = obj => (obj[0] || obj).nodeType\n\nconst emulateTransitionEnd = (element, duration) => {\n let called = false\n const durationPadding = 5\n const emulatedDuration = duration + durationPadding\n function listener() {\n called = true\n element.removeEventListener(TRANSITION_END, listener)\n }\n\n element.addEventListener(TRANSITION_END, listener)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(element)\n }\n }, emulatedDuration)\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes)\n .forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n const elementStyle = getComputedStyle(element)\n const parentNodeStyle = getComputedStyle(element.parentNode)\n\n return elementStyle.display !== 'none' &&\n parentNodeStyle.display !== 'none' &&\n elementStyle.visibility !== 'hidden'\n }\n\n return false\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst mapData = (() => {\n const storeData = {}\n let id = 1\n return {\n set(element, key, data) {\n if (typeof element.key === 'undefined') {\n element.key = {\n key,\n id\n }\n id++\n }\n\n storeData[element.key.id] = data\n },\n get(element, key) {\n if (!element || typeof element.key === 'undefined') {\n return null\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.key === 'undefined') {\n return\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.key\n }\n }\n }\n})()\n\nconst Data = {\n setData(instance, key, data) {\n mapData.set(instance, key, data)\n },\n getData(instance, key) {\n return mapData.get(instance, key)\n },\n removeData(instance, key) {\n mapData.delete(instance, key)\n }\n}\n\nexport default Data\n","/* istanbul ignore file */\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/polyfill.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getUID } from '../util/index'\n\nlet find = Element.prototype.querySelectorAll\nlet findOne = Element.prototype.querySelector\n\n// MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached\nconst defaultPreventedPreservedOnDispatch = (() => {\n const e = new CustomEvent('Bootstrap', {\n cancelable: true\n })\n\n const element = document.createElement('div')\n element.addEventListener('Bootstrap', () => null)\n\n e.preventDefault()\n element.dispatchEvent(e)\n return e.defaultPrevented\n})()\n\nconst scopeSelectorRegex = /:scope\\b/\nconst supportScopeQuery = (() => {\n const element = document.createElement('div')\n\n try {\n element.querySelectorAll(':scope *')\n } catch (_) {\n return false\n }\n\n return true\n})()\n\nif (!supportScopeQuery) {\n find = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelectorAll(selector)\n }\n\n const hasId = Boolean(this.id)\n\n if (!hasId) {\n this.id = getUID('scope')\n }\n\n let nodeList = null\n try {\n selector = selector.replace(scopeSelectorRegex, `#${this.id}`)\n nodeList = this.querySelectorAll(selector)\n } finally {\n if (!hasId) {\n this.removeAttribute('id')\n }\n }\n\n return nodeList\n }\n\n findOne = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelector(selector)\n }\n\n const matches = find.call(this, selector)\n\n if (typeof matches[0] !== 'undefined') {\n return matches[0]\n }\n\n return null\n }\n}\n\nexport {\n find,\n findOne,\n defaultPreventedPreservedOnDispatch\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\nimport { defaultPreventedPreservedOnDispatch } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst $ = getjQuery()\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst keyEventRegex = /^key/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\nconst nativeEvents = [\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n]\n\n/**\n * ------------------------------------------------------------------------\n * Private methods\n * ------------------------------------------------------------------------\n */\n\nfunction getUidEvent(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getEvent(element) {\n const uid = getUidEvent(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction fixEvent(event, element) {\n // Add which for key events\n if (event.which === null && keyEventRegex.test(event.type)) {\n event.which = event.charCode === null ? event.keyCode : event.charCode\n }\n\n event.delegateTarget = element\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n fixEvent(event, element)\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = target.parentNode) {\n for (let i = domElements.length; i--;) {\n if (domElements[i] === target) {\n fixEvent(event, target)\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n\n // To please ESLint\n return null\n }\n}\n\nfunction findHandler(events, handler, delegationSelector = null) {\n const uidEventList = Object.keys(events)\n\n for (let i = 0, len = uidEventList.length; i < len; i++) {\n const event = events[uidEventList[i]]\n\n if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\n return event\n }\n }\n\n return null\n}\n\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\n const delegation = typeof handler === 'string'\n const originalHandler = delegation ? delegationFn : handler\n\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n let typeEvent = originalTypeEvent.replace(stripNameRegex, '')\n const custom = customEvents[typeEvent]\n\n if (custom) {\n typeEvent = custom\n }\n\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n if (!isNative) {\n typeEvent = originalTypeEvent\n }\n\n return [delegation, originalHandler, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n if (!handler) {\n handler = delegationFn\n delegationFn = null\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const events = getEvent(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null)\n\n if (previousFn) {\n previousFn.oneOff = previousFn.oneOff && oneOff\n\n return\n }\n\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = delegation ?\n bootstrapDelegationHandler(element, handler, delegationFn) :\n bootstrapHandler(element, handler)\n\n fn.delegationSelector = delegation ? handler : null\n fn.originalHandler = originalHandler\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, delegation)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {}\n\n Object.keys(storeElementEvent)\n .forEach(handlerKey => {\n if (handlerKey.indexOf(namespace) > -1) {\n const event = storeElementEvent[handlerKey]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, false)\n },\n\n one(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFn) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getEvent(element)\n const isNamespace = originalTypeEvent.charAt(0) === '.'\n\n if (typeof originalHandler !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!events || !events[typeEvent]) {\n return\n }\n\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null)\n return\n }\n\n if (isNamespace) {\n Object.keys(events)\n .forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent)\n .forEach(keyHandlers => {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.indexOf(handlerKey) > -1) {\n const event = storeElementEvent[keyHandlers]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const typeEvent = event.replace(stripNameRegex, '')\n const inNamespace = event !== typeEvent\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n let jQueryEvent\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n let evt = null\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n if (isNative) {\n evt = document.createEvent('HTMLEvents')\n evt.initEvent(typeEvent, bubbles, true)\n } else {\n evt = new CustomEvent(event, {\n bubbles,\n cancelable: true\n })\n }\n\n // merge custom informations in our event\n if (typeof args !== 'undefined') {\n Object.keys(args)\n .forEach(key => {\n Object.defineProperty(evt, key, {\n get() {\n return args[key]\n }\n })\n })\n }\n\n if (defaultPrevented) {\n evt.preventDefault()\n\n if (!defaultPreventedPreservedOnDispatch) {\n Object.defineProperty(evt, 'defaultPrevented', {\n get: () => true\n })\n }\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { find as findFn, findOne } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n matches(element, selector) {\n return element.matches(selector)\n },\n\n find(selector, element = document.documentElement) {\n return [].concat(...findFn.call(element, selector))\n },\n\n findOne(selector, element = document.documentElement) {\n return findOne.call(element, selector)\n },\n\n children(element, selector) {\n const children = [].concat(...element.children)\n\n return children.filter(child => child.matches(selector))\n },\n\n parents(element, selector) {\n const parents = []\n\n let ancestor = element.parentNode\n\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\n if (this.matches(ancestor, selector)) {\n parents.push(ancestor)\n }\n\n ancestor = ancestor.parentNode\n }\n\n return parents\n },\n\n closest(element, selector) {\n return element.closest(selector)\n },\n\n prev(element, selector) {\n let previous = element.previousElementSibling\n\n while (previous) {\n if (previous.matches(selector)) {\n return [previous]\n }\n\n previous = previous.previousElementSibling\n }\n\n return []\n },\n\n next(element, selector) {\n let next = element.nextElementSibling\n\n while (next) {\n if (this.matches(next, selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst SELECTOR_DISMISS = '[data-dismiss=\"alert\"]'\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASSNAME_ALERT = 'alert'\nconst CLASSNAME_FADE = 'fade'\nconst CLASSNAME_SHOW = 'show'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n\n if (this._element) {\n Data.setData(element, DATA_KEY, this)\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent === null || customEvent.defaultPrevented) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n let parent = getElementFromSelector(element)\n\n if (!parent) {\n parent = SelectorEngine.closest(element, `.${CLASSNAME_ALERT}`)\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n return EventHandler.trigger(element, EVENT_CLOSE)\n }\n\n _removeElement(element) {\n element.classList.remove(CLASSNAME_SHOW)\n\n if (!element.classList.contains(CLASSNAME_FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = getTransitionDurationFromElement(element)\n\n EventHandler\n .one(element, TRANSITION_END, () => this._destroyElement(element))\n emulateTransitionEnd(element, transitionDuration)\n }\n\n _destroyElement(element) {\n if (element.parentNode) {\n element.parentNode.removeChild(element)\n }\n\n EventHandler.trigger(element, EVENT_CLOSED)\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\nEventHandler\n .on(document, EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert.handleDismiss(new Alert()))\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .alert to jQuery only if jQuery is present\n */\n\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Alert.jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert.jQueryInterface\n }\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_BUTTON = 'btn'\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_FOCUS = 'focus'\n\nconst SELECTOR_DATA_TOGGLE_CARROT = '[data-toggle^=\"button\"]'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"buttons\"]'\nconst SELECTOR_INPUT = 'input:not([type=\"hidden\"])'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_BUTTON = '.btn'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_FOCUS_DATA_API = `focus${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_BLUR_DATA_API = `blur${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n\n const rootElement = SelectorEngine.closest(\n this._element,\n SELECTOR_DATA_TOGGLE\n )\n\n if (rootElement) {\n const input = SelectorEngine.findOne(SELECTOR_INPUT, this._element)\n\n if (input && input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(CLASS_NAME_ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE, rootElement)\n\n if (activeElement) {\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains(CLASS_NAME_DISABLED) ||\n rootElement.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n input.checked = !this._element.classList.contains(CLASS_NAME_ACTIVE)\n EventHandler.trigger(input, 'change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(CLASS_NAME_ACTIVE))\n }\n\n if (triggerChangeEvent) {\n this._element.classList.toggle(CLASS_NAME_ACTIVE)\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, event => {\n event.preventDefault()\n\n let button = event.target\n if (!button.classList.contains(CLASS_NAME_BUTTON)) {\n button = SelectorEngine.closest(button, SELECTOR_BUTTON)\n }\n\n let data = Data.getData(button, DATA_KEY)\n if (!data) {\n data = new Button(button)\n }\n\n data.toggle()\n})\n\nEventHandler.on(document, EVENT_FOCUS_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, event => {\n const button = SelectorEngine.closest(event.target, SELECTOR_BUTTON)\n\n if (button) {\n button.classList.add(CLASS_NAME_FOCUS)\n }\n})\n\nEventHandler.on(document, EVENT_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, event => {\n const button = SelectorEngine.closest(event.target, SELECTOR_BUTTON)\n\n if (button) {\n button.classList.remove(CLASS_NAME_FOCUS)\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .button to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Button.jQueryInterface\n $.fn[NAME].Constructor = Button\n\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button.jQueryInterface\n }\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(val) {\n if (val === 'true') {\n return true\n }\n\n if (val === 'false') {\n return false\n }\n\n if (val === Number(val).toString()) {\n return Number(val)\n }\n\n if (val === '' || val === 'null') {\n return null\n }\n\n return val\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {\n ...element.dataset\n }\n\n Object.keys(attributes).forEach(key => {\n attributes[key] = normalizeData(attributes[key])\n })\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-${normalizeDataKey(key)}`))\n },\n\n offset(element) {\n const rect = element.getBoundingClientRect()\n\n return {\n top: rect.top + document.body.scrollTop,\n left: rect.left + document.body.scrollLeft\n }\n },\n\n position(element) {\n return {\n top: element.offsetTop,\n left: element.offsetLeft\n }\n },\n\n toggleClass(element, className) {\n if (!element) {\n return\n }\n\n if (element.classList.contains(className)) {\n element.classList.remove(className)\n } else {\n element.classList.add(className)\n }\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n reflow,\n triggerTransitionEnd,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n}\n\nconst DIRECTION_NEXT = 'next'\nconst DIRECTION_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_RIGHT = 'carousel-item-right'\nconst CLASS_NAME_LEFT = 'carousel-item-left'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_ITEM = '.active.carousel-item'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-slide], [data-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-ride=\"carousel\"]'\n\nconst PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(DIRECTION_NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(DIRECTION_PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (SelectorEngine.findOne(SELECTOR_NEXT_PREV, this._element)) {\n triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config && this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex ?\n DIRECTION_NEXT :\n DIRECTION_PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n Data.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler\n .on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler\n .on(this._element, EVENT_MOUSEENTER, event => this.pause(event))\n EventHandler\n .on(this._element, EVENT_MOUSELEAVE, event => this.cycle(event))\n }\n\n if (this._config.touch && this._touchSupported) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n const start = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchStartX = event.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.touches[0].clientX\n }\n }\n\n const move = event => {\n // ensure swiping with one touch and not pinching\n if (event.touches && event.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n\n this.touchTimeout = setTimeout(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n SelectorEngine.find(SELECTOR_ITEM_IMG, this._element).forEach(itemImg => {\n EventHandler.on(itemImg, EVENT_DRAG_START, e => e.preventDefault())\n })\n\n if (this._pointerEvent) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => start(event))\n EventHandler.on(this._element, EVENT_POINTERUP, event => end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => start(event))\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => move(event))\n EventHandler.on(this._element, EVENT_TOUCHEND, event => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode ?\n SelectorEngine.find(SELECTOR_ITEM, element.parentNode) :\n []\n\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === DIRECTION_NEXT\n const isPrevDirection = direction === DIRECTION_PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = (isPrevDirection && activeIndex === 0) ||\n (isNextDirection && activeIndex === lastItemIndex)\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === DIRECTION_PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] :\n this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element))\n\n return EventHandler.trigger(this._element, EVENT_SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = SelectorEngine.find(SELECTOR_ACTIVE, this._indicatorsElement)\n for (let i = 0; i < indicators.length; i++) {\n indicators[i].classList.remove(CLASS_NAME_ACTIVE)\n }\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n nextIndicator.classList.add(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || (activeElement &&\n this._getItemByDirection(direction, activeElement))\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === DIRECTION_NEXT) {\n directionalClassName = CLASS_NAME_LEFT\n orderClassName = CLASS_NAME_NEXT\n eventDirectionName = DIRECTION_LEFT\n } else {\n directionalClassName = CLASS_NAME_RIGHT\n orderClassName = CLASS_NAME_PREV\n eventDirectionName = DIRECTION_RIGHT\n }\n\n if (nextElement && nextElement.classList.contains(CLASS_NAME_ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.defaultPrevented) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n if (this._element.classList.contains(CLASS_NAME_SLIDE)) {\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = getTransitionDurationFromElement(activeElement)\n\n EventHandler\n .one(activeElement, TRANSITION_END, () => {\n nextElement.classList.remove(directionalClassName)\n nextElement.classList.remove(orderClassName)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n activeElement.classList.remove(orderClassName)\n activeElement.classList.remove(directionalClassName)\n\n this._isSliding = false\n\n setTimeout(() => {\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }, 0)\n })\n\n emulateTransitionEnd(activeElement, transitionDuration)\n } else {\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n this._isSliding = false\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static carouselInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n let _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element)\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(element, _config)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Carousel.carouselInterface(this, config)\n })\n }\n\n static dataApiClickHandler(event) {\n const target = getElementFromSelector(this)\n\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel.carouselInterface(target, config)\n\n if (slideIndex) {\n Data.getData(target, DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler\n .on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel.dataApiClickHandler)\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n for (let i = 0, len = carousels.length; i < len; i++) {\n Carousel.carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY))\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .carousel to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Carousel.jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel.jQueryInterface\n }\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n toggle: true,\n parent: ''\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(string|element)'\n}\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.show, .collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"collapse\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = SelectorEngine.find(\n `${SELECTOR_DATA_TOGGLE}[href=\"#${element.id}\"],` +\n `${SELECTOR_DATA_TOGGLE}[data-target=\"#${element.id}\"]`\n )\n\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = getSelectorFromElement(elem)\n const filterElement = SelectorEngine.find(selector)\n .filter(foundElem => foundElem === element)\n\n if (selector !== null && filterElement.length) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = SelectorEngine.find(SELECTOR_ACTIVES, this._parent)\n .filter(elem => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(CLASS_NAME_COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n const container = SelectorEngine.findOne(this._selector)\n if (actives) {\n const tempActiveData = actives.filter(elem => container !== elem)\n activesData = tempActiveData[0] ? Data.getData(tempActiveData[0], DATA_KEY) : null\n\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n if (actives) {\n actives.forEach(elemActive => {\n if (container !== elemActive) {\n Collapse.collapseInterface(elemActive, 'hide')\n }\n\n if (!activesData) {\n Data.setData(elemActive, DATA_KEY, null)\n }\n })\n }\n\n const dimension = this._getDimension()\n\n this._element.classList.remove(CLASS_NAME_COLLAPSE)\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n this._triggerArray.forEach(element => {\n element.classList.remove(CLASS_NAME_COLLAPSED)\n element.setAttribute('aria-expanded', true)\n })\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE)\n this._element.classList.add(CLASS_NAME_SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n\n emulateTransitionEnd(this._element, transitionDuration)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n if (startEvent.defaultPrevented) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n reflow(this._element)\n\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n this._element.classList.remove(CLASS_NAME_COLLAPSE)\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const elem = getElementFromSelector(trigger)\n\n if (elem && !elem.classList.contains(CLASS_NAME_SHOW)) {\n trigger.classList.add(CLASS_NAME_COLLAPSED)\n trigger.setAttribute('aria-expanded', false)\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = this._element.classList.contains(WIDTH)\n return hasWidth ? WIDTH : HEIGHT\n }\n\n _getParent() {\n let { parent } = this._config\n\n if (isElement(parent)) {\n // it's a jQuery object\n if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {\n parent = parent[0]\n }\n } else {\n parent = SelectorEngine.findOne(parent)\n }\n\n const selector = `${SELECTOR_DATA_TOGGLE}[data-parent=\"${parent}\"]`\n\n SelectorEngine.find(selector, parent)\n .forEach(element => {\n const selected = getElementFromSelector(element)\n\n this._addAriaAndCollapsedClass(\n selected,\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (element) {\n const isOpen = element.classList.contains(CLASS_NAME_SHOW)\n\n if (triggerArray.length) {\n triggerArray.forEach(elem => {\n if (isOpen) {\n elem.classList.remove(CLASS_NAME_COLLAPSED)\n } else {\n elem.classList.add(CLASS_NAME_COLLAPSED)\n }\n\n elem.setAttribute('aria-expanded', isOpen)\n })\n }\n }\n }\n\n // Static\n\n static collapseInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Collapse.collapseInterface(this, config)\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A') {\n event.preventDefault()\n }\n\n const triggerData = Manipulator.getDataAttributes(this)\n const selector = getSelectorFromElement(this)\n const selectorElements = SelectorEngine.find(selector)\n\n selectorElements.forEach(element => {\n const data = Data.getData(element, DATA_KEY)\n let config\n if (data) {\n // update parent attribute\n if (data._parent === null && typeof triggerData.parent === 'string') {\n data._config.parent = triggerData.parent\n data._parent = data._getParent()\n }\n\n config = 'toggle'\n } else {\n config = triggerData\n }\n\n Collapse.collapseInterface(element, config)\n })\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .collapse to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Collapse.jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse.jQueryInterface\n }\n}\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getElementFromSelector,\n isElement,\n isVisible,\n noop,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\n\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPRIGHT = 'dropright'\nconst CLASS_NAME_DROPLEFT = 'dropleft'\nconst CLASS_NAME_MENURIGHT = 'dropdown-menu-right'\nconst CLASS_NAME_NAVBAR = 'navbar'\nconst CLASS_NAME_POSITION_STATIC = 'position-static'\n\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"dropdown\"]'\nconst SELECTOR_FORM_CHILD = '.dropdown form'\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = 'top-start'\nconst PLACEMENT_TOPEND = 'top-end'\nconst PLACEMENT_BOTTOM = 'bottom-start'\nconst PLACEMENT_BOTTOMEND = 'bottom-end'\nconst PLACEMENT_RIGHT = 'right-start'\nconst PLACEMENT_LEFT = 'left-start'\n\nconst Default = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n const isActive = this._element.classList.contains(CLASS_NAME_SHOW)\n\n Dropdown.clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show()\n }\n\n show() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || this._menu.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n parent.classList.add(CLASS_NAME_POSITION_STATIC)\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n !SelectorEngine.closest(parent, SELECTOR_NAVBAR_NAV)) {\n [].concat(...document.body.children)\n .forEach(elem => EventHandler.on(elem, 'mouseover', null, noop()))\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n Manipulator.toggleClass(this._menu, CLASS_NAME_SHOW)\n Manipulator.toggleClass(this._element, CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_SHOWN, relatedTarget)\n }\n\n hide() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || !this._menu.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n Manipulator.toggleClass(this._menu, CLASS_NAME_SHOW)\n Manipulator.toggleClass(this._element, CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._element, EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n return SelectorEngine.next(this._element, SELECTOR_MENU)[0]\n }\n\n _getPlacement() {\n const parentDropdown = this._element.parentNode\n let placement = PLACEMENT_BOTTOM\n\n // Handle dropup\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n placement = PLACEMENT_TOP\n if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_TOPEND\n }\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPRIGHT)) {\n placement = PLACEMENT_RIGHT\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPLEFT)) {\n placement = PLACEMENT_LEFT\n } else if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_BOTTOMEND\n }\n\n return placement\n }\n\n _detectNavbar() {\n return Boolean(SelectorEngine.closest(this._element, `.${CLASS_NAME_NAVBAR}`))\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets, this._element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static dropdownInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Dropdown.dropdownInterface(this, config)\n })\n }\n\n static clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n (event.type === 'keyup' && event.which !== TAB_KEYCODE))) {\n return\n }\n\n const toggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown.getParentFromElement(toggles[i])\n const context = Data.getData(toggles[i], DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!toggles[i].classList.contains(CLASS_NAME_SHOW)) {\n continue\n }\n\n if (event && ((event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName)) ||\n (event.type === 'keyup' && event.which === TAB_KEYCODE)) &&\n dropdownMenu.contains(event.target)) {\n continue\n }\n\n const hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n [].concat(...document.body.children)\n .forEach(elem => EventHandler.off(elem, 'mouseover', null, noop()))\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n dropdownMenu.classList.remove(CLASS_NAME_SHOW)\n toggles[i].classList.remove(CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget)\n }\n }\n\n static getParentFromElement(element) {\n return getElementFromSelector(element) || element.parentNode\n }\n\n static dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ?\n event.which === SPACE_KEYCODE || (event.which !== ESCAPE_KEYCODE &&\n ((event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE) ||\n SelectorEngine.closest(event.target, SELECTOR_MENU))) :\n !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || this.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this)\n const isActive = this.classList.contains(CLASS_NAME_SHOW)\n\n if (event.which === ESCAPE_KEYCODE) {\n const button = this.matches(SELECTOR_DATA_TOGGLE) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0]\n button.focus()\n Dropdown.clearMenus()\n return\n }\n\n if (!isActive || event.which === SPACE_KEYCODE) {\n Dropdown.clearMenus()\n return\n }\n\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, parent)\n .filter(isVisible)\n\n if (!items.length) {\n return\n }\n\n let index = items.indexOf(event.target) || 0\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n items[index].focus()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown.dropdownInterface(this, 'toggle')\n})\nEventHandler\n .on(document, EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, e => e.stopPropagation())\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .dropdown to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Dropdown.jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown.jQueryInterface\n }\n}\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: 'boolean'\n}\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SCROLLABLE = 'modal-dialog-scrollable'\nconst CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure'\nconst CLASS_NAME_BACKDROP = 'modal-backdrop'\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"modal\"]'\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"modal\"]'\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, element)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget\n })\n\n if (this._isShown || showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.on(this._element,\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n event => this.hide(event)\n )\n\n EventHandler.on(this._dialog, EVENT_MOUSEDOWN_DISMISS, () => {\n EventHandler.one(this._element, EVENT_MOUSEUP_DISMISS, event => {\n if (event.target === this._element) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n const transition = this._element.classList.contains(CLASS_NAME_FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.off(document, EVENT_FOCUSIN)\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n EventHandler.off(this._dialog, EVENT_MOUSEDOWN_DISMISS)\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, event => this._hideModal(event))\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\n\n /**\n * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `EVENT_CLICK_DATA_API` event that should remain\n */\n EventHandler.off(document, EVENT_FOCUSIN)\n\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = this._element.classList.contains(CLASS_NAME_FADE)\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n\n if (this._dialog.classList.contains(CLASS_NAME_SCROLLABLE) && modalBody) {\n modalBody.scrollTop = 0\n } else {\n this._element.scrollTop = 0\n }\n\n if (transition) {\n reflow(this._element)\n }\n\n this._element.classList.add(CLASS_NAME_SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget\n })\n }\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._dialog)\n\n EventHandler.one(this._dialog, TRANSITION_END, transitionComplete)\n emulateTransitionEnd(this._dialog, transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n EventHandler.off(document, EVENT_FOCUSIN) // guard against infinite focus loop\n EventHandler.on(document, EVENT_FOCUSIN, event => {\n if (document !== event.target &&\n this._element !== event.target &&\n !this._element.contains(event.target)) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown) {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (this._config.keyboard && event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n } else if (!this._config.keyboard && event.which === ESCAPE_KEYCODE) {\n this._triggerBackdropTransition()\n }\n })\n } else {\n EventHandler.off(this._element, EVENT_KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n EventHandler.on(window, EVENT_RESIZE, () => this._adjustDialog())\n } else {\n EventHandler.off(window, EVENT_RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._isTransitioning = false\n this._showBackdrop(() => {\n document.body.classList.remove(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n })\n }\n\n _removeBackdrop() {\n this._backdrop.parentNode.removeChild(this._backdrop)\n this._backdrop = null\n }\n\n _showBackdrop(callback) {\n const animate = this._element.classList.contains(CLASS_NAME_FADE) ?\n CLASS_NAME_FADE :\n ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = CLASS_NAME_BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n document.body.appendChild(this._backdrop)\n\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, event => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n\n if (event.target !== event.currentTarget) {\n return\n }\n\n this._triggerBackdropTransition()\n })\n\n if (animate) {\n reflow(this._backdrop)\n }\n\n this._backdrop.classList.add(CLASS_NAME_SHOW)\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n\n EventHandler.one(this._backdrop, TRANSITION_END, callback)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n this._backdrop.classList.remove(CLASS_NAME_SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n callback()\n }\n\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else {\n callback()\n }\n }\n\n _triggerBackdropTransition() {\n if (this._config.backdrop === 'static') {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n const modalTransitionDuration = getTransitionDurationFromElement(this._element)\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n })\n emulateTransitionEnd(this._element, modalTransitionDuration)\n this._element.focus()\n } else {\n this.hide()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n SelectorEngine.find(SELECTOR_FIXED_CONTENT)\n .forEach(element => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = window.getComputedStyle(element)['padding-right']\n Manipulator.setDataAttribute(element, 'padding-right', actualPadding)\n element.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n })\n\n // Adjust sticky content margin\n SelectorEngine.find(SELECTOR_STICKY_CONTENT)\n .forEach(element => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = window.getComputedStyle(element)['margin-right']\n Manipulator.setDataAttribute(element, 'margin-right', actualMargin)\n element.style.marginRight = `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = window.getComputedStyle(document.body)['padding-right']\n\n Manipulator.setDataAttribute(document.body, 'padding-right', actualPadding)\n document.body.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n }\n\n document.body.classList.add(CLASS_NAME_OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n SelectorEngine.find(SELECTOR_FIXED_CONTENT)\n .forEach(element => {\n const padding = Manipulator.getDataAttribute(element, 'padding-right')\n if (typeof padding !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'padding-right')\n element.style.paddingRight = padding\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n SelectorEngine.find(`${SELECTOR_STICKY_CONTENT}`)\n .forEach(element => {\n const margin = Manipulator.getDataAttribute(element, 'margin-right')\n if (typeof margin !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'margin-right')\n element.style.marginRight = margin\n }\n })\n\n // Restore body padding\n const padding = Manipulator.getDataAttribute(document.body, 'padding-right')\n if (typeof padding === 'undefined') {\n document.body.style.paddingRight = ''\n } else {\n Manipulator.removeDataAttribute(document.body, 'padding-right')\n document.body.style.paddingRight = padding\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(this),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n EventHandler.one(target, EVENT_SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n let data = Data.getData(target, DATA_KEY)\n if (!data) {\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n\n data = new Modal(target, config)\n }\n\n data.show(this)\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .modal to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Modal.jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal.jQueryInterface\n }\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+=*$/i\n\nconst allowedAttribute = (attr, allowedAttributeList) => {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return SAFE_URL_PATTERN.test(attr.nodeValue) || DATA_URL_PATTERN.test(attr.nodeValue)\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter(attrRegex => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, len = regExp.length; i < len; i++) {\n if (regExp[i].test(attrName)) {\n return true\n }\n }\n\n return false\n}\n\nexport const DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\nexport function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const whitelistKeys = Object.keys(whiteList)\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (whitelistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].concat(...el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n findShadowRoot,\n getTransitionDurationFromElement,\n getUID,\n isElement,\n noop,\n typeCheckConfig\n} from './util/index'\nimport {\n DefaultWhitelist,\n sanitizeHtml\n} from './util/sanitizer'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']\n\nconst DefaultType = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n whiteList: 'object',\n popperConfig: '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n}\n\nconst Default = {\n animation: true,\n template: '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"tooltip-arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\n sanitize: true,\n sanitizeFn: null,\n whiteList: DefaultWhitelist,\n popperConfig: null\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst HOVER_STATE_SHOW = 'show'\nconst HOVER_STATE_OUT = 'out'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n Data.setData(element, this.constructor.DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if (this.getTipElement().classList.contains(CLASS_NAME_SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n Data.removeData(this.element, this.constructor.DATA_KEY)\n\n EventHandler.off(this.element, this.constructor.EVENT_KEY)\n EventHandler.off(SelectorEngine.closest(this.element, `.${CLASS_NAME_MODAL}`), 'hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n this.tip.parentNode.removeChild(this.tip)\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if (this.element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (this.isWithContent() && this._isEnabled) {\n const showEvent = EventHandler.trigger(this.element, this.constructor.Event.SHOW)\n const shadowRoot = findShadowRoot(this.element)\n const isInTheDom = shadowRoot === null ?\n this.element.ownerDocument.documentElement.contains(this.element) :\n shadowRoot.contains(this.element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n tip.classList.add(CLASS_NAME_FADE)\n }\n\n const placement = typeof this.config.placement === 'function' ?\n this.config.placement.call(this, tip, this.element) :\n this.config.placement\n\n const attachment = this._getAttachment(placement)\n this._addAttachmentClass(attachment)\n\n const container = this._getContainer()\n Data.setData(tip, this.constructor.DATA_KEY, this)\n\n if (!this.element.ownerDocument.documentElement.contains(this.tip)) {\n container.appendChild(tip)\n }\n\n EventHandler.trigger(this.element, this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\n\n tip.classList.add(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n [].concat(...document.body.children).forEach(element => {\n EventHandler.on(element, 'mouseover', noop())\n })\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n EventHandler.trigger(this.element, this.constructor.Event.SHOWN)\n\n if (prevHoverState === HOVER_STATE_OUT) {\n this._leave(null, this)\n }\n }\n\n if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n const transitionDuration = getTransitionDurationFromElement(this.tip)\n EventHandler.one(this.tip, TRANSITION_END, complete)\n emulateTransitionEnd(this.tip, transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide() {\n const tip = this.getTipElement()\n const complete = () => {\n if (this._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n EventHandler.trigger(this.element, this.constructor.Event.HIDDEN)\n this._popper.destroy()\n }\n\n const hideEvent = EventHandler.trigger(this.element, this.constructor.Event.HIDE)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n tip.classList.remove(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n [].concat(...document.body.children)\n .forEach(element => EventHandler.off(element, 'mouseover', noop))\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n\n if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n const transitionDuration = getTransitionDurationFromElement(tip)\n\n EventHandler.one(tip, TRANSITION_END, complete)\n emulateTransitionEnd(tip, transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n getTipElement() {\n if (this.tip) {\n return this.tip\n }\n\n const element = document.createElement('div')\n element.innerHTML = this.config.template\n\n this.tip = element.children[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent(SelectorEngine.findOne(SELECTOR_TOOLTIP_INNER, tip), this.getTitle())\n tip.classList.remove(CLASS_NAME_FADE)\n tip.classList.remove(CLASS_NAME_SHOW)\n }\n\n setElementContent(element, content) {\n if (element === null) {\n return\n }\n\n if (typeof content === 'object' && isElement(content)) {\n if (content.jquery) {\n content = content[0]\n }\n\n // content is a DOM node or a jQuery\n if (this.config.html) {\n if (content.parentNode !== element) {\n element.innerHTML = ''\n element.appendChild(content)\n }\n } else {\n element.innerText = content.textContent\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn)\n }\n\n element.innerHTML = content\n } else {\n element.innerText = content\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function' ?\n this.config.title.call(this.element) :\n this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: `.${this.constructor.NAME}-arrow`\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: data => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: data => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...this.config.offset(data.offsets, this.element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (isElement(this.config.container)) {\n return this.config.container\n }\n\n return SelectorEngine.findOne(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach(trigger => {\n if (trigger === 'click') {\n EventHandler.on(this.element,\n this.constructor.Event.CLICK,\n this.config.selector,\n event => this.toggle(event)\n )\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n EventHandler.on(this.element,\n eventIn,\n this.config.selector,\n event => this._enter(event)\n )\n EventHandler.on(this.element,\n eventOut,\n this.config.selector,\n event => this._leave(event)\n )\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n EventHandler.on(SelectorEngine.closest(this.element, `.${CLASS_NAME_MODAL}`),\n 'hide.bs.modal',\n this._hideModalHandler\n )\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = true\n }\n\n if (context.getTipElement().classList.contains(CLASS_NAME_SHOW) ||\n context._hoverState === HOVER_STATE_SHOW) {\n context._hoverState = HOVER_STATE_SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this.element)\n\n Object.keys(dataAttributes)\n .forEach(dataAttr => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n if (config && typeof config.container === 'object' && config.container.jquery) {\n config.container = config.container[0]\n }\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n const popperInstance = popperData.instance\n this.tip = popperInstance.popper\n this._cleanTipClass()\n this._addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n tip.classList.remove(CLASS_NAME_FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tooltip to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tooltip.jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip.jQueryInterface\n }\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport SelectorEngine from './dom/selector-engine'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement: 'right',\n trigger: 'click',\n content: '',\n template: '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"popover-arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(string|element|function)'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n setContent() {\n const tip = this.getTipElement()\n\n // we use append for html objects to maintain js events\n this.setElementContent(SelectorEngine.findOne(SELECTOR_TITLE, tip), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n\n this.setElementContent(SelectorEngine.findOne(SELECTOR_CONTENT, tip), content)\n\n tip.classList.remove(CLASS_NAME_FADE)\n tip.classList.remove(CLASS_NAME_SHOW)\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n Data.setData(this, DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Popover.jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover.jQueryInterface\n }\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getSelectorFromElement,\n getUID,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n offset: 10,\n method: 'auto',\n target: ''\n}\n\nconst DefaultType = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n}\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_SCROLL = `scroll${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-spy=\"scroll\"]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst METHOD_OFFSET = 'offset'\nconst METHOD_POSITION = 'position'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${SELECTOR_NAV_LINKS},` +\n `${this._config.target} ${SELECTOR_LIST_ITEMS},` +\n `${this._config.target} .${CLASS_NAME_DROPDOWN_ITEM}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n EventHandler.on(this._scrollElement, EVENT_SCROLL, event => this._process(event))\n\n this.refresh()\n this._process()\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window ?\n METHOD_OFFSET :\n METHOD_POSITION\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod :\n this._config.method\n\n const offsetBase = offsetMethod === METHOD_POSITION ?\n this._getScrollTop() :\n 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = SelectorEngine.find(this._selector)\n\n targets\n .map(element => {\n let target\n const targetSelector = getSelectorFromElement(element)\n\n if (targetSelector) {\n target = SelectorEngine.findOne(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n return [\n Manipulator[offsetMethod](target).top + offsetBase,\n targetSelector\n ]\n }\n }\n\n return null\n })\n .filter(item => item)\n .sort((a, b) => a[0] - b[0])\n .forEach(item => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._scrollElement, EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.target !== 'string') {\n let { id } = config.target\n if (!id) {\n id = getUID(NAME)\n config.target.id = id\n }\n\n config.target = `#${id}`\n }\n\n typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset :\n this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight :\n this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n const offsetLength = this._offsets.length\n for (let i = offsetLength; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector.split(',')\n .map(selector => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const link = SelectorEngine.findOne(queries.join(','))\n\n if (link.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n SelectorEngine\n .findOne(SELECTOR_DROPDOWN_TOGGLE, SelectorEngine.closest(link, SELECTOR_DROPDOWN))\n .classList.add(CLASS_NAME_ACTIVE)\n\n link.classList.add(CLASS_NAME_ACTIVE)\n } else {\n // Set triggered link as active\n link.classList.add(CLASS_NAME_ACTIVE)\n\n SelectorEngine\n .parents(link, SELECTOR_NAV_LIST_GROUP)\n .forEach(listGroup => {\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n SelectorEngine.prev(listGroup, `${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`)\n .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n\n // Handle special case when .nav-link is inside .nav-item\n SelectorEngine.prev(listGroup, SELECTOR_NAV_ITEMS)\n .forEach(navItem => {\n SelectorEngine.children(navItem, SELECTOR_NAV_LINKS)\n .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n })\n })\n }\n\n EventHandler.trigger(this._scrollElement, EVENT_ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n SelectorEngine.find(this._selector)\n .filter(node => node.classList.contains(CLASS_NAME_ACTIVE))\n .forEach(node => node.classList.remove(CLASS_NAME_ACTIVE))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n SelectorEngine.find(SELECTOR_DATA_SPY)\n .forEach(spy => new ScrollSpy(spy, Manipulator.getDataAttributes(spy)))\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = ScrollSpy.jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy.jQueryInterface\n }\n}\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n reflow\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_UL = ':scope > li > .active'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_ACTIVE_CHILD = ':scope > .dropdown-menu .active'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n\n Data.setData(this._element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if ((this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n this._element.classList.contains(CLASS_NAME_ACTIVE)) ||\n this._element.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n let previous\n const target = getElementFromSelector(this._element)\n const listElement = SelectorEngine.closest(this._element, SELECTOR_NAV_LIST_GROUP)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE\n previous = SelectorEngine.find(itemSelector, listElement)\n previous = previous[previous.length - 1]\n }\n\n let hideEvent = null\n\n if (previous) {\n hideEvent = EventHandler.trigger(previous, EVENT_HIDE, {\n relatedTarget: this._element\n })\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget: previous\n })\n\n if (showEvent.defaultPrevented ||\n (hideEvent !== null && hideEvent.defaultPrevented)) {\n return\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n EventHandler.trigger(previous, EVENT_HIDDEN, {\n relatedTarget: this._element\n })\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget: previous\n })\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ?\n SelectorEngine.find(SELECTOR_ACTIVE_UL, container) :\n SelectorEngine.children(container, SELECTOR_ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n (active && active.classList.contains(CLASS_NAME_FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = getTransitionDurationFromElement(active)\n active.classList.remove(CLASS_NAME_SHOW)\n\n EventHandler.one(active, TRANSITION_END, complete)\n emulateTransitionEnd(active, transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n active.classList.remove(CLASS_NAME_ACTIVE)\n\n const dropdownChild = SelectorEngine.findOne(SELECTOR_DROPDOWN_ACTIVE_CHILD, active.parentNode)\n\n if (dropdownChild) {\n dropdownChild.classList.remove(CLASS_NAME_ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n element.classList.add(CLASS_NAME_ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n reflow(element)\n\n if (element.classList.contains(CLASS_NAME_FADE)) {\n element.classList.add(CLASS_NAME_SHOW)\n }\n\n if (element.parentNode && element.parentNode.classList.contains(CLASS_NAME_DROPDOWN_MENU)) {\n const dropdownElement = SelectorEngine.closest(element, SELECTOR_DROPDOWN)\n\n if (dropdownElement) {\n SelectorEngine.find(SELECTOR_DROPDOWN_TOGGLE)\n .forEach(dropdown => dropdown.classList.add(CLASS_NAME_ACTIVE))\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n data.show()\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tab to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tab.jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab.jQueryInterface\n }\n}\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getTransitionDurationFromElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n}\n\nconst Default = {\n animation: true,\n autohide: true,\n delay: 500\n}\n\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"toast\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n show() {\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n if (this._config.animation) {\n this._element.classList.add(CLASS_NAME_FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(CLASS_NAME_SHOWING)\n this._element.classList.add(CLASS_NAME_SHOW)\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(CLASS_NAME_HIDE)\n reflow(this._element)\n this._element.classList.add(CLASS_NAME_SHOWING)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const complete = () => {\n this._element.classList.add(CLASS_NAME_HIDE)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n this._timeout = null\n\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this._element.classList.remove(CLASS_NAME_SHOW)\n }\n\n EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n Data.removeData(this._element, DATA_KEY)\n\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...typeof config === 'object' && config ? config : {}\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(\n this._element,\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n () => this.hide()\n )\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .toast to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Toast.jQueryInterface\n $.fn[NAME].Constructor = Toast\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast.jQueryInterface\n }\n}\n\nexport default Toast\n"],"names":["MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","undefined","toString","call","match","toLowerCase","getUID","prefix","Math","random","document","getElementById","getSelector","element","selector","getAttribute","hrefAttr","trim","getSelectorFromElement","querySelector","getElementFromSelector","getTransitionDurationFromElement","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","dispatchEvent","Event","isElement","nodeType","emulateTransitionEnd","duration","called","durationPadding","emulatedDuration","listener","removeEventListener","addEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","isVisible","style","parentNode","elementStyle","parentNodeStyle","display","visibility","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","mapData","storeData","id","set","key","data","get","keyProperties","delete","Data","setData","instance","getData","removeData","find","Element","prototype","querySelectorAll","findOne","defaultPreventedPreservedOnDispatch","e","CustomEvent","cancelable","createElement","preventDefault","defaultPrevented","scopeSelectorRegex","supportScopeQuery","_","hasId","Boolean","nodeList","replace","removeAttribute","matches","$","namespaceRegex","stripNameRegex","keyEventRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","getUidEvent","uid","getEvent","fixEvent","event","which","type","charCode","keyCode","delegateTarget","bootstrapHandler","fn","handler","oneOff","EventHandler","off","apply","bootstrapDelegationHandler","domElements","target","i","length","findHandler","events","delegationSelector","uidEventList","len","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","custom","isNative","indexOf","addHandler","handlers","previousFn","removeHandler","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","on","one","inNamespace","isNamespace","charAt","elementEvent","slice","keyHandlers","trigger","args","jQueryEvent","bubbles","nativeDispatch","evt","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","createEvent","initEvent","defineProperty","NODE_TEXT","SelectorEngine","concat","findFn","children","filter","child","parents","ancestor","Node","ELEMENT_NODE","push","closest","prev","previous","previousElementSibling","next","nextElementSibling","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","SELECTOR_DISMISS","EVENT_CLOSE","EVENT_CLOSED","EVENT_CLICK_DATA_API","CLASSNAME_ALERT","CLASSNAME_FADE","CLASSNAME_SHOW","Alert","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","_removeElement","dispose","parent","classList","remove","contains","_destroyElement","removeChild","jQueryInterface","each","handleDismiss","alertInstance","getInstance","JQUERY_NO_CONFLICT","Constructor","noConflict","CLASS_NAME_ACTIVE","CLASS_NAME_BUTTON","CLASS_NAME_DISABLED","CLASS_NAME_FOCUS","SELECTOR_DATA_TOGGLE_CARROT","SELECTOR_DATA_TOGGLE","SELECTOR_INPUT","SELECTOR_ACTIVE","SELECTOR_BUTTON","EVENT_FOCUS_DATA_API","EVENT_BLUR_DATA_API","Button","toggle","triggerChangeEvent","addAriaPressed","input","checked","activeElement","focus","setAttribute","button","add","normalizeData","val","Number","normalizeDataKey","chr","Manipulator","setDataAttribute","removeDataAttribute","getDataAttributes","attributes","dataset","getDataAttribute","offset","rect","getBoundingClientRect","top","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft","toggleClass","className","ARROW_LEFT_KEYCODE","ARROW_RIGHT_KEYCODE","TOUCHEVENT_COMPAT_WAIT","SWIPE_THRESHOLD","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","DIRECTION_NEXT","DIRECTION_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","EVENT_DRAG_START","EVENT_LOAD_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_SLIDE","CLASS_NAME_RIGHT","CLASS_NAME_LEFT","CLASS_NAME_NEXT","CLASS_NAME_PREV","CLASS_NAME_POINTER_EVENT","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM","SELECTOR_ITEM_IMG","SELECTOR_NEXT_PREV","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","MSPointerEvent","_addEventListeners","_slide","nextWhenVisible","hidden","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","_handleSwipe","absDeltax","abs","_keydown","_addTouchEventListeners","start","pointerType","clientX","touches","move","end","clearTimeout","itemImg","tagName","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","from","_setActiveIndicatorElement","indicators","nextIndicator","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","slideEvent","nextElementInterval","parseInt","defaultInterval","carouselInterface","action","TypeError","ride","dataApiClickHandler","slideIndex","carousels","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_SHOW","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","WIDTH","HEIGHT","SELECTOR_ACTIVES","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","container","tempActiveData","startEvent","elemActive","collapseInterface","dimension","_getDimension","setTransitioning","complete","capitalizedDimension","scrollSize","triggerArrayLength","isTransitioning","hasWidth","jquery","selected","triggerArray","isOpen","triggerData","selectorElements","ESCAPE_KEYCODE","SPACE_KEYCODE","TAB_KEYCODE","ARROW_UP_KEYCODE","ARROW_DOWN_KEYCODE","RIGHT_MOUSE_BUTTON_WHICH","REGEXP_KEYDOWN","EVENT_CLICK","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","CLASS_NAME_DROPUP","CLASS_NAME_DROPRIGHT","CLASS_NAME_DROPLEFT","CLASS_NAME_MENURIGHT","CLASS_NAME_NAVBAR","CLASS_NAME_POSITION_STATIC","SELECTOR_FORM_CHILD","SELECTOR_MENU","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","PLACEMENT_TOP","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","flip","boundary","reference","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","clearMenus","getParentFromElement","showEvent","Popper","referenceElement","_getPopperConfig","hideEvent","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","parentDropdown","placement","_getOffset","offsets","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","dropdownInterface","toggles","context","clickEvent","dropdownMenu","dataApiKeydownHandler","items","backdrop","EVENT_HIDE_PREVENTED","EVENT_FOCUSIN","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_KEYDOWN_DISMISS","EVENT_MOUSEUP_DISMISS","EVENT_MOUSEDOWN_DISMISS","CLASS_NAME_SCROLLABLE","CLASS_NAME_SCROLLBAR_MEASURER","CLASS_NAME_BACKDROP","CLASS_NAME_OPEN","CLASS_NAME_FADE","CLASS_NAME_STATIC","SELECTOR_DIALOG","SELECTOR_MODAL_BODY","SELECTOR_DATA_DISMISS","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","handleUpdate","modalBody","appendChild","_enforceFocus","transitionComplete","_triggerBackdropTransition","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","animate","currentTarget","backdropTransitionDuration","callbackRemove","modalTransitionDuration","isModalOverflowing","scrollHeight","clientHeight","paddingLeft","paddingRight","right","innerWidth","_getScrollbarWidth","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","margin","scrollDiv","scrollbarWidth","width","clientWidth","uriAttrs","ARIA_ATTRIBUTE_PATTERN","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attr","allowedAttributeList","attrName","nodeName","nodeValue","regExp","attrRegex","DefaultWhitelist","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","sanitizeHtml","unsafeHtml","whiteList","sanitizeFn","domParser","DOMParser","createdDocument","parseFromString","whitelistKeys","elements","el","elName","attributeList","whitelistedAttributes","innerHTML","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","fallbackPlacement","sanitize","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","CLASS_NAME_MODAL","HOVER_STATE_SHOW","HOVER_STATE_OUT","SELECTOR_TOOLTIP_INNER","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","_addAttachmentClass","_getContainer","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","innerText","textContent","defaultBsConfig","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","triggers","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","tabClass","map","token","tClass","popperData","popperInstance","popper","initConfigAnimation","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","method","EVENT_ACTIVATE","EVENT_SCROLL","CLASS_NAME_DROPDOWN_ITEM","SELECTOR_DATA_SPY","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_DROPDOWN","SELECTOR_DROPDOWN_TOGGLE","METHOD_OFFSET","METHOD_POSITION","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targets","targetSelector","targetBCR","height","item","sort","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","offsetLength","isActiveTarget","queries","link","join","listGroup","navItem","node","spy","CLASS_NAME_DROPDOWN_MENU","SELECTOR_ACTIVE_UL","SELECTOR_DROPDOWN_ACTIVE_CHILD","Tab","listElement","itemSelector","activeElements","active","_transitionComplete","dropdownChild","dropdownElement","dropdown","CLASS_NAME_HIDE","CLASS_NAME_SHOWING","autohide","Toast"],"mappings":"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"} \ No newline at end of file
diff --git a/dist/js/bootstrap.esm.min.js b/dist/js/bootstrap.esm.min.js
index 3c906dffbd..cd15ae7d64 100644
--- a/dist/js/bootstrap.esm.min.js
+++ b/dist/js/bootstrap.esm.min.js
@@ -1,7 +1,7 @@
/*!
* Bootstrap v4.3.1 (https://getbootstrap.com/)
- * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+ * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
-import Popper from"popper.js";function _defineProperties(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function _createClass(e,t,n){return t&&_defineProperties(e.prototype,t),n&&_defineProperties(e,n),e}function _defineProperty(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ownKeys(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function _objectSpread2(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(n,!0).forEach((function(t){_defineProperty(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys(n).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function _inheritsLoose(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}var MAX_UID=1e6,MILLISECONDS_MULTIPLIER=1e3,TRANSITION_END="transitionend",toType=function(e){return{}.toString.call(e).match(/\s([a-z]+)/i)[1].toLowerCase()},getUID=function(e){do{e+=~~(Math.random()*MAX_UID)}while(document.getElementById(e));return e},getSelector=function(e){var t=e.getAttribute("data-target");if(!t||"#"===t){var n=e.getAttribute("href");t=n&&"#"!==n?n.trim():null}return t},getSelectorFromElement=function(e){var t=getSelector(e);return t&&document.querySelector(t)?t:null},getElementFromSelector=function(e){var t=getSelector(e);return t?document.querySelector(t):null},getTransitionDurationFromElement=function(e){if(!e)return 0;var t=window.getComputedStyle(e),n=t.transitionDuration,i=t.transitionDelay,r=parseFloat(n),a=parseFloat(i);return r||a?(n=n.split(",")[0],i=i.split(",")[0],(parseFloat(n)+parseFloat(i))*MILLISECONDS_MULTIPLIER):0},triggerTransitionEnd=function(e){var t=document.createEvent("HTMLEvents");t.initEvent(TRANSITION_END,!0,!0),e.dispatchEvent(t)},isElement=function(e){return(e[0]||e).nodeType},emulateTransitionEnd=function(e,t){var n=!1,i=t+5;e.addEventListener(TRANSITION_END,(function t(){n=!0,e.removeEventListener(TRANSITION_END,t)})),setTimeout((function(){n||triggerTransitionEnd(e)}),i)},typeCheckConfig=function(e,t,n){Object.keys(n).forEach((function(i){var r=n[i],a=t[i],o=a&&isElement(a)?"element":toType(a);if(!new RegExp(r).test(o))throw new Error(e.toUpperCase()+': Option "'+i+'" provided type "'+o+'" but expected type "'+r+'".')}))},makeArray=function(e){return e?[].slice.call(e):[]},isVisible=function(e){if(!e)return!1;if(e.style&&e.parentNode&&e.parentNode.style){var t=getComputedStyle(e),n=getComputedStyle(e.parentNode);return"none"!==t.display&&"none"!==n.display&&"hidden"!==t.visibility}return!1},findShadowRoot=function e(t){if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){var n=t.getRootNode();return n instanceof ShadowRoot?n:null}return t instanceof ShadowRoot?t:t.parentNode?e(t.parentNode):null},noop=function(){return function(){}},reflow=function(e){return e.offsetHeight},getjQuery=function(){var e=window.jQuery;return e&&!document.body.hasAttribute("data-no-jquery")?e:null},mapData=function(){var e={},t=1;return{set:function(n,i,r){void 0===n.key&&(n.key={key:i,id:t},t++),e[n.key.id]=r},get:function(t,n){if(!t||void 0===t.key)return null;var i=t.key;return i.key===n?e[i.id]:null},delete:function(t,n){if(void 0!==t.key){var i=t.key;i.key===n&&(delete e[i.id],delete t.key)}}}}(),Data={setData:function(e,t,n){mapData.set(e,t,n)},getData:function(e,t){return mapData.get(e,t)},removeData:function(e,t){mapData.delete(e,t)}},_Element$prototype=Element.prototype,matches=_Element$prototype.matches,closest=_Element$prototype.closest,find=Element.prototype.querySelectorAll,findOne=Element.prototype.querySelector,createCustomEvent=function(e,t){return new CustomEvent(e,t)};"function"!=typeof window.CustomEvent&&(createCustomEvent=function(e,t){t=t||{bubbles:!1,cancelable:!1,detail:null};var n=document.createEvent("CustomEvent");return n.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),n});var workingDefaultPrevented=function(){var e=document.createEvent("CustomEvent");return e.initEvent("Bootstrap",!0,!0),e.preventDefault(),e.defaultPrevented}();if(!workingDefaultPrevented){var origPreventDefault=Event.prototype.preventDefault;Event.prototype.preventDefault=function(){this.cancelable&&(origPreventDefault.call(this),Object.defineProperty(this,"defaultPrevented",{get:function(){return!0},configurable:!0}))}}var defaultPreventedPreservedOnDispatch=function(){var e=createCustomEvent("Bootstrap",{cancelable:!0}),t=document.createElement("div");return t.addEventListener("Bootstrap",(function(){return null})),e.preventDefault(),t.dispatchEvent(e),e.defaultPrevented}();matches||(matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector),closest||(closest=function(e){var t=this;do{if(matches.call(t,e))return t;t=t.parentElement||t.parentNode}while(null!==t&&1===t.nodeType);return null});var scopeSelectorRegex=/:scope\b/,supportScopeQuery=function(){var e=document.createElement("div");try{e.querySelectorAll(":scope *")}catch(e){return!1}return!0}();supportScopeQuery||(find=function(e){if(!scopeSelectorRegex.test(e))return this.querySelectorAll(e);var t=Boolean(this.id);t||(this.id=getUID("scope"));var n=null;try{e=e.replace(scopeSelectorRegex,"#"+this.id),n=this.querySelectorAll(e)}finally{t||this.removeAttribute("id")}return n},findOne=function(e){if(!scopeSelectorRegex.test(e))return this.querySelector(e);var t=find.call(this,e);return void 0!==t[0]?t[0]:null});var $=getjQuery(),namespaceRegex=/[^.]*(?=\..*)\.|.*/,stripNameRegex=/\..*/,keyEventRegex=/^key/,stripUidRegex=/::\d+$/,eventRegistry={},uidEvent=1,customEvents={mouseenter:"mouseover",mouseleave:"mouseout"},nativeEvents=["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"];function getUidEvent(e,t){return t&&t+"::"+uidEvent++||e.uidEvent||uidEvent++}function getEvent(e){var t=getUidEvent(e);return e.uidEvent=t,eventRegistry[t]=eventRegistry[t]||{},eventRegistry[t]}function fixEvent(e,t){null===e.which&&keyEventRegex.test(e.type)&&(e.which=null===e.charCode?e.keyCode:e.charCode),e.delegateTarget=t}function bootstrapHandler(e,t){return function n(i){return fixEvent(i,e),n.oneOff&&EventHandler.off(e,i.type,t),t.apply(e,[i])}}function bootstrapDelegationHandler(e,t,n){return function i(r){for(var a=e.querySelectorAll(t),o=r.target;o&&o!==this;o=o.parentNode)for(var s=a.length;s--;)if(a[s]===o)return fixEvent(r,o),i.oneOff&&EventHandler.off(e,r.type,n),n.apply(o,[r]);return null}}function findHandler(e,t,n){void 0===n&&(n=null);for(var i=Object.keys(e),r=0,a=i.length;r<a;r++){var o=e[i[r]];if(o.originalHandler===t&&o.delegationSelector===n)return o}return null}function normalizeParams(e,t,n){var i="string"==typeof t,r=i?n:t,a=e.replace(stripNameRegex,""),o=customEvents[a];return o&&(a=o),nativeEvents.indexOf(a)>-1||(a=e),[i,r,a]}function addHandler(e,t,n,i,r){if("string"==typeof t&&e){n||(n=i,i=null);var a=normalizeParams(t,n,i),o=a[0],s=a[1],l=a[2],c=getEvent(e),E=c[l]||(c[l]={}),u=findHandler(E,s,o?n:null);if(u)u.oneOff=u.oneOff&&r;else{var f=getUidEvent(s,t.replace(namespaceRegex,"")),d=o?bootstrapDelegationHandler(e,n,i):bootstrapHandler(e,n);d.delegationSelector=o?n:null,d.originalHandler=s,d.oneOff=r,d.uidEvent=f,E[f]=d,e.addEventListener(l,d,o)}}}function removeHandler(e,t,n,i,r){var a=findHandler(t[n],i,r);a&&(e.removeEventListener(n,a,Boolean(r)),delete t[n][a.uidEvent])}function removeNamespacedHandlers(e,t,n,i){var r=t[n]||{};Object.keys(r).forEach((function(a){if(a.indexOf(i)>-1){var o=r[a];removeHandler(e,t,n,o.originalHandler,o.delegationSelector)}}))}var EventHandler={on:function(e,t,n,i){addHandler(e,t,n,i,!1)},one:function(e,t,n,i){addHandler(e,t,n,i,!0)},off:function(e,t,n,i){if("string"==typeof t&&e){var r=normalizeParams(t,n,i),a=r[0],o=r[1],s=r[2],l=s!==t,c=getEvent(e),E="."===t.charAt(0);if(void 0===o){E&&Object.keys(c).forEach((function(n){removeNamespacedHandlers(e,c,n,t.slice(1))}));var u=c[s]||{};Object.keys(u).forEach((function(n){var i=n.replace(stripUidRegex,"");if(!l||t.indexOf(i)>-1){var r=u[n];removeHandler(e,c,s,r.originalHandler,r.delegationSelector)}}))}else{if(!c||!c[s])return;removeHandler(e,c,s,o,a?n:null)}}},trigger:function(e,t,n){if("string"!=typeof t||!e)return null;var i,r=t.replace(stripNameRegex,""),a=t!==r,o=nativeEvents.indexOf(r)>-1,s=!0,l=!0,c=!1,E=null;return a&&$&&(i=$.Event(t,n),$(e).trigger(i),s=!i.isPropagationStopped(),l=!i.isImmediatePropagationStopped(),c=i.isDefaultPrevented()),o?(E=document.createEvent("HTMLEvents")).initEvent(r,s,!0):E=createCustomEvent(t,{bubbles:s,cancelable:!0}),void 0!==n&&Object.keys(n).forEach((function(e){Object.defineProperty(E,e,{get:function(){return n[e]}})})),c&&(E.preventDefault(),defaultPreventedPreservedOnDispatch||Object.defineProperty(E,"defaultPrevented",{get:function(){return!0}})),l&&e.dispatchEvent(E),E.defaultPrevented&&void 0!==i&&i.preventDefault(),E}},NODE_TEXT=3,SelectorEngine={matches:function(e,t){return matches.call(e,t)},find:function(e,t){return void 0===t&&(t=document.documentElement),find.call(t,e)},findOne:function(e,t){return void 0===t&&(t=document.documentElement),findOne.call(t,e)},children:function(e,t){var n=this,i=makeArray(e.children);return i.filter((function(e){return n.matches(e,t)}))},parents:function(e,t){for(var n=[],i=e.parentNode;i&&i.nodeType===Node.ELEMENT_NODE&&i.nodeType!==NODE_TEXT;)this.matches(i,t)&&n.push(i),i=i.parentNode;return n},closest:function(e,t){return closest.call(e,t)},prev:function(e,t){for(var n=[],i=e.previousSibling;i&&i.nodeType===Node.ELEMENT_NODE&&i.nodeType!==NODE_TEXT;)this.matches(i,t)&&n.push(i),i=i.previousSibling;return n}},NAME="alert",VERSION="4.3.1",DATA_KEY="bs.alert",EVENT_KEY="."+DATA_KEY,DATA_API_KEY=".data-api",Selector={DISMISS:'[data-dismiss="alert"]'},Event$1={CLOSE:"close"+EVENT_KEY,CLOSED:"closed"+EVENT_KEY,CLICK_DATA_API:"click"+EVENT_KEY+DATA_API_KEY},ClassName={ALERT:"alert",FADE:"fade",SHOW:"show"},Alert=function(){function e(e){this._element=e,this._element&&Data.setData(e,DATA_KEY,this)}var t=e.prototype;return t.close=function(e){var t=this._element;e&&(t=this._getRootElement(e));var n=this._triggerCloseEvent(t);null===n||n.defaultPrevented||this._removeElement(t)},t.dispose=function(){Data.removeData(this._element,DATA_KEY),this._element=null},t._getRootElement=function(e){var t=getElementFromSelector(e);return t||(t=SelectorEngine.closest(e,"."+ClassName.ALERT)),t},t._triggerCloseEvent=function(e){return EventHandler.trigger(e,Event$1.CLOSE)},t._removeElement=function(e){var t=this;if(e.classList.remove(ClassName.SHOW),e.classList.contains(ClassName.FADE)){var n=getTransitionDurationFromElement(e);EventHandler.one(e,TRANSITION_END,(function(){return t._destroyElement(e)})),emulateTransitionEnd(e,n)}else this._destroyElement(e)},t._destroyElement=function(e){e.parentNode&&e.parentNode.removeChild(e),EventHandler.trigger(e,Event$1.CLOSED)},e.jQueryInterface=function(t){return this.each((function(){var n=Data.getData(this,DATA_KEY);n||(n=new e(this)),"close"===t&&n[t](this)}))},e.handleDismiss=function(e){return function(t){t&&t.preventDefault(),e.close(this)}},e.getInstance=function(e){return Data.getData(e,DATA_KEY)},_createClass(e,null,[{key:"VERSION",get:function(){return VERSION}}]),e}();EventHandler.on(document,Event$1.CLICK_DATA_API,Selector.DISMISS,Alert.handleDismiss(new Alert));var $$1=getjQuery();if($$1){var JQUERY_NO_CONFLICT=$$1.fn[NAME];$$1.fn[NAME]=Alert.jQueryInterface,$$1.fn[NAME].Constructor=Alert,$$1.fn[NAME].noConflict=function(){return $$1.fn[NAME]=JQUERY_NO_CONFLICT,Alert.jQueryInterface}}var NAME$1="button",VERSION$1="4.3.1",DATA_KEY$1="bs.button",EVENT_KEY$1="."+DATA_KEY$1,DATA_API_KEY$1=".data-api",ClassName$1={ACTIVE:"active",BUTTON:"btn",FOCUS:"focus"},Selector$1={DATA_TOGGLE_CARROT:'[data-toggle^="button"]',DATA_TOGGLE:'[data-toggle="buttons"]',INPUT:'input:not([type="hidden"])',ACTIVE:".active",BUTTON:".btn"},Event$2={CLICK_DATA_API:"click"+EVENT_KEY$1+DATA_API_KEY$1,FOCUS_DATA_API:"focus"+EVENT_KEY$1+DATA_API_KEY$1,BLUR_DATA_API:"blur"+EVENT_KEY$1+DATA_API_KEY$1},Button=function(){function e(e){this._element=e,Data.setData(e,DATA_KEY$1,this)}var t=e.prototype;return t.toggle=function(){var e=!0,t=!0,n=SelectorEngine.closest(this._element,Selector$1.DATA_TOGGLE);if(n){var i=SelectorEngine.findOne(Selector$1.INPUT,this._element);if(i&&"radio"===i.type){if(i.checked&&this._element.classList.contains(ClassName$1.ACTIVE))e=!1;else{var r=SelectorEngine.findOne(Selector$1.ACTIVE,n);r&&r.classList.remove(ClassName$1.ACTIVE)}if(e){if(i.hasAttribute("disabled")||n.hasAttribute("disabled")||i.classList.contains("disabled")||n.classList.contains("disabled"))return;i.checked=!this._element.classList.contains(ClassName$1.ACTIVE),EventHandler.trigger(i,"change")}i.focus(),t=!1}}t&&this._element.setAttribute("aria-pressed",!this._element.classList.contains(ClassName$1.ACTIVE)),e&&this._element.classList.toggle(ClassName$1.ACTIVE)},t.dispose=function(){Data.removeData(this._element,DATA_KEY$1),this._element=null},e.jQueryInterface=function(t){return this.each((function(){var n=Data.getData(this,DATA_KEY$1);n||(n=new e(this)),"toggle"===t&&n[t]()}))},e.getInstance=function(e){return Data.getData(e,DATA_KEY$1)},_createClass(e,null,[{key:"VERSION",get:function(){return VERSION$1}}]),e}();EventHandler.on(document,Event$2.CLICK_DATA_API,Selector$1.DATA_TOGGLE_CARROT,(function(e){e.preventDefault();var t=e.target;t.classList.contains(ClassName$1.BUTTON)||(t=SelectorEngine.closest(t,Selector$1.BUTTON));var n=Data.getData(t,DATA_KEY$1);n||(n=new Button(t)),n.toggle()})),EventHandler.on(document,Event$2.FOCUS_DATA_API,Selector$1.DATA_TOGGLE_CARROT,(function(e){var t=SelectorEngine.closest(e.target,Selector$1.BUTTON);t&&t.classList.add(ClassName$1.FOCUS)})),EventHandler.on(document,Event$2.BLUR_DATA_API,Selector$1.DATA_TOGGLE_CARROT,(function(e){var t=SelectorEngine.closest(e.target,Selector$1.BUTTON);t&&t.classList.remove(ClassName$1.FOCUS)}));var $$2=getjQuery();if($$2){var JQUERY_NO_CONFLICT$1=$$2.fn[NAME$1];$$2.fn[NAME$1]=Button.jQueryInterface,$$2.fn[NAME$1].Constructor=Button,$$2.fn[NAME$1].noConflict=function(){return $$2.fn[NAME$1]=JQUERY_NO_CONFLICT$1,Button.jQueryInterface}}function normalizeData(e){return"true"===e||"false"!==e&&(e===Number(e).toString()?Number(e):""===e||"null"===e?null:e)}function normalizeDataKey(e){return e.replace(/[A-Z]/g,(function(e){return"-"+e.toLowerCase()}))}var Manipulator={setDataAttribute:function(e,t,n){e.setAttribute("data-"+normalizeDataKey(t),n)},removeDataAttribute:function(e,t){e.removeAttribute("data-"+normalizeDataKey(t))},getDataAttributes:function(e){if(!e)return{};var t=_objectSpread2({},e.dataset);return Object.keys(t).forEach((function(e){t[e]=normalizeData(t[e])})),t},getDataAttribute:function(e,t){return normalizeData(e.getAttribute("data-"+normalizeDataKey(t)))},offset:function(e){var t=e.getBoundingClientRect();return{top:t.top+document.body.scrollTop,left:t.left+document.body.scrollLeft}},position:function(e){return{top:e.offsetTop,left:e.offsetLeft}},toggleClass:function(e,t){e&&(e.classList.contains(t)?e.classList.remove(t):e.classList.add(t))}},NAME$2="carousel",VERSION$2="4.3.1",DATA_KEY$2="bs.carousel",EVENT_KEY$2="."+DATA_KEY$2,DATA_API_KEY$2=".data-api",ARROW_LEFT_KEYCODE=37,ARROW_RIGHT_KEYCODE=39,TOUCHEVENT_COMPAT_WAIT=500,SWIPE_THRESHOLD=40,Default={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},DefaultType={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},Direction={NEXT:"next",PREV:"prev",LEFT:"left",RIGHT:"right"},Event$3={SLIDE:"slide"+EVENT_KEY$2,SLID:"slid"+EVENT_KEY$2,KEYDOWN:"keydown"+EVENT_KEY$2,MOUSEENTER:"mouseenter"+EVENT_KEY$2,MOUSELEAVE:"mouseleave"+EVENT_KEY$2,TOUCHSTART:"touchstart"+EVENT_KEY$2,TOUCHMOVE:"touchmove"+EVENT_KEY$2,TOUCHEND:"touchend"+EVENT_KEY$2,POINTERDOWN:"pointerdown"+EVENT_KEY$2,POINTERUP:"pointerup"+EVENT_KEY$2,DRAG_START:"dragstart"+EVENT_KEY$2,LOAD_DATA_API:"load"+EVENT_KEY$2+DATA_API_KEY$2,CLICK_DATA_API:"click"+EVENT_KEY$2+DATA_API_KEY$2},ClassName$2={CAROUSEL:"carousel",ACTIVE:"active",SLIDE:"slide",RIGHT:"carousel-item-right",LEFT:"carousel-item-left",NEXT:"carousel-item-next",PREV:"carousel-item-prev",ITEM:"carousel-item",POINTER_EVENT:"pointer-event"},Selector$2={ACTIVE:".active",ACTIVE_ITEM:".active.carousel-item",ITEM:".carousel-item",ITEM_IMG:".carousel-item img",NEXT_PREV:".carousel-item-next, .carousel-item-prev",INDICATORS:".carousel-indicators",DATA_SLIDE:"[data-slide], [data-slide-to]",DATA_RIDE:'[data-ride="carousel"]'},PointerType={TOUCH:"touch",PEN:"pen"},Carousel=function(){function e(e,t){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(t),this._element=e,this._indicatorsElement=SelectorEngine.findOne(Selector$2.INDICATORS,this._element),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent||window.MSPointerEvent),this._addEventListeners(),Data.setData(e,DATA_KEY$2,this)}var t=e.prototype;return t.next=function(){this._isSliding||this._slide(Direction.NEXT)},t.nextWhenVisible=function(){!document.hidden&&isVisible(this._element)&&this.next()},t.prev=function(){this._isSliding||this._slide(Direction.PREV)},t.pause=function(e){e||(this._isPaused=!0),SelectorEngine.findOne(Selector$2.NEXT_PREV,this._element)&&(triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},t.cycle=function(e){e||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config&&this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},t.to=function(e){var t=this;this._activeElement=SelectorEngine.findOne(Selector$2.ACTIVE_ITEM,this._element);var n=this._getItemIndex(this._activeElement);if(!(e>this._items.length-1||e<0))if(this._isSliding)EventHandler.one(this._element,Event$3.SLID,(function(){return t.to(e)}));else{if(n===e)return this.pause(),void this.cycle();var i=e>n?Direction.NEXT:Direction.PREV;this._slide(i,this._items[e])}},t.dispose=function(){EventHandler.off(this._element,EVENT_KEY$2),Data.removeData(this._element,DATA_KEY$2),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},t._getConfig=function(e){return e=_objectSpread2({},Default,{},e),typeCheckConfig(NAME$2,e,DefaultType),e},t._handleSwipe=function(){var e=Math.abs(this.touchDeltaX);if(!(e<=SWIPE_THRESHOLD)){var t=e/this.touchDeltaX;this.touchDeltaX=0,t>0&&this.prev(),t<0&&this.next()}},t._addEventListeners=function(){var e=this;this._config.keyboard&&EventHandler.on(this._element,Event$3.KEYDOWN,(function(t){return e._keydown(t)})),"hover"===this._config.pause&&(EventHandler.on(this._element,Event$3.MOUSEENTER,(function(t){return e.pause(t)})),EventHandler.on(this._element,Event$3.MOUSELEAVE,(function(t){return e.cycle(t)}))),this._config.touch&&this._touchSupported&&this._addTouchEventListeners()},t._addTouchEventListeners=function(){var e=this,t=function(t){e._pointerEvent&&PointerType[t.pointerType.toUpperCase()]?e.touchStartX=t.clientX:e._pointerEvent||(e.touchStartX=t.touches[0].clientX)},n=function(t){e._pointerEvent&&PointerType[t.pointerType.toUpperCase()]&&(e.touchDeltaX=t.clientX-e.touchStartX),e._handleSwipe(),"hover"===e._config.pause&&(e.pause(),e.touchTimeout&&clearTimeout(e.touchTimeout),e.touchTimeout=setTimeout((function(t){return e.cycle(t)}),TOUCHEVENT_COMPAT_WAIT+e._config.interval))};makeArray(SelectorEngine.find(Selector$2.ITEM_IMG,this._element)).forEach((function(e){EventHandler.on(e,Event$3.DRAG_START,(function(e){return e.preventDefault()}))})),this._pointerEvent?(EventHandler.on(this._element,Event$3.POINTERDOWN,(function(e){return t(e)})),EventHandler.on(this._element,Event$3.POINTERUP,(function(e){return n(e)})),this._element.classList.add(ClassName$2.POINTER_EVENT)):(EventHandler.on(this._element,Event$3.TOUCHSTART,(function(e){return t(e)})),EventHandler.on(this._element,Event$3.TOUCHMOVE,(function(t){return function(t){t.touches&&t.touches.length>1?e.touchDeltaX=0:e.touchDeltaX=t.touches[0].clientX-e.touchStartX}(t)})),EventHandler.on(this._element,Event$3.TOUCHEND,(function(e){return n(e)})))},t._keydown=function(e){if(!/input|textarea/i.test(e.target.tagName))switch(e.which){case ARROW_LEFT_KEYCODE:e.preventDefault(),this.prev();break;case ARROW_RIGHT_KEYCODE:e.preventDefault(),this.next()}},t._getItemIndex=function(e){return this._items=e&&e.parentNode?makeArray(SelectorEngine.find(Selector$2.ITEM,e.parentNode)):[],this._items.indexOf(e)},t._getItemByDirection=function(e,t){var n=e===Direction.NEXT,i=e===Direction.PREV,r=this._getItemIndex(t),a=this._items.length-1;if((i&&0===r||n&&r===a)&&!this._config.wrap)return t;var o=(r+(e===Direction.PREV?-1:1))%this._items.length;return-1===o?this._items[this._items.length-1]:this._items[o]},t._triggerSlideEvent=function(e,t){var n=this._getItemIndex(e),i=this._getItemIndex(SelectorEngine.findOne(Selector$2.ACTIVE_ITEM,this._element));return EventHandler.trigger(this._element,Event$3.SLIDE,{relatedTarget:e,direction:t,from:i,to:n})},t._setActiveIndicatorElement=function(e){if(this._indicatorsElement){for(var t=SelectorEngine.find(Selector$2.ACTIVE,this._indicatorsElement),n=0;n<t.length;n++)t[n].classList.remove(ClassName$2.ACTIVE);var i=this._indicatorsElement.children[this._getItemIndex(e)];i&&i.classList.add(ClassName$2.ACTIVE)}},t._slide=function(e,t){var n,i,r,a=this,o=SelectorEngine.findOne(Selector$2.ACTIVE_ITEM,this._element),s=this._getItemIndex(o),l=t||o&&this._getItemByDirection(e,o),c=this._getItemIndex(l),E=Boolean(this._interval);if(e===Direction.NEXT?(n=ClassName$2.LEFT,i=ClassName$2.NEXT,r=Direction.LEFT):(n=ClassName$2.RIGHT,i=ClassName$2.PREV,r=Direction.RIGHT),l&&l.classList.contains(ClassName$2.ACTIVE))this._isSliding=!1;else if(!this._triggerSlideEvent(l,r).defaultPrevented&&o&&l){if(this._isSliding=!0,E&&this.pause(),this._setActiveIndicatorElement(l),this._element.classList.contains(ClassName$2.SLIDE)){l.classList.add(i),reflow(l),o.classList.add(n),l.classList.add(n);var u=parseInt(l.getAttribute("data-interval"),10);u?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=u):this._config.interval=this._config.defaultInterval||this._config.interval;var f=getTransitionDurationFromElement(o);EventHandler.one(o,TRANSITION_END,(function(){l.classList.remove(n),l.classList.remove(i),l.classList.add(ClassName$2.ACTIVE),o.classList.remove(ClassName$2.ACTIVE),o.classList.remove(i),o.classList.remove(n),a._isSliding=!1,setTimeout((function(){EventHandler.trigger(a._element,Event$3.SLID,{relatedTarget:l,direction:r,from:s,to:c})}),0)})),emulateTransitionEnd(o,f)}else o.classList.remove(ClassName$2.ACTIVE),l.classList.add(ClassName$2.ACTIVE),this._isSliding=!1,EventHandler.trigger(this._element,Event$3.SLID,{relatedTarget:l,direction:r,from:s,to:c});E&&this.cycle()}},e.carouselInterface=function(t,n){var i=Data.getData(t,DATA_KEY$2),r=_objectSpread2({},Default,{},Manipulator.getDataAttributes(t));"object"==typeof n&&(r=_objectSpread2({},r,{},n));var a="string"==typeof n?n:r.slide;if(i||(i=new e(t,r)),"number"==typeof n)i.to(n);else if("string"==typeof a){if(void 0===i[a])throw new TypeError('No method named "'+a+'"');i[a]()}else r.interval&&r.ride&&(i.pause(),i.cycle())},e.jQueryInterface=function(t){return this.each((function(){e.carouselInterface(this,t)}))},e.dataApiClickHandler=function(t){var n=getElementFromSelector(this);if(n&&n.classList.contains(ClassName$2.CAROUSEL)){var i=_objectSpread2({},Manipulator.getDataAttributes(n),{},Manipulator.getDataAttributes(this)),r=this.getAttribute("data-slide-to");r&&(i.interval=!1),e.carouselInterface(n,i),r&&Data.getData(n,DATA_KEY$2).to(r),t.preventDefault()}},e.getInstance=function(e){return Data.getData(e,DATA_KEY$2)},_createClass(e,null,[{key:"VERSION",get:function(){return VERSION$2}},{key:"Default",get:function(){return Default}}]),e}();EventHandler.on(document,Event$3.CLICK_DATA_API,Selector$2.DATA_SLIDE,Carousel.dataApiClickHandler),EventHandler.on(window,Event$3.LOAD_DATA_API,(function(){for(var e=makeArray(SelectorEngine.find(Selector$2.DATA_RIDE)),t=0,n=e.length;t<n;t++)Carousel.carouselInterface(e[t],Data.getData(e[t],DATA_KEY$2))}));var $$3=getjQuery();if($$3){var JQUERY_NO_CONFLICT$2=$$3.fn[NAME$2];$$3.fn[NAME$2]=Carousel.jQueryInterface,$$3.fn[NAME$2].Constructor=Carousel,$$3.fn[NAME$2].noConflict=function(){return $$3.fn[NAME$2]=JQUERY_NO_CONFLICT$2,Carousel.jQueryInterface}}var NAME$3="collapse",VERSION$3="4.3.1",DATA_KEY$3="bs.collapse",EVENT_KEY$3="."+DATA_KEY$3,DATA_API_KEY$3=".data-api",Default$1={toggle:!0,parent:""},DefaultType$1={toggle:"boolean",parent:"(string|element)"},Event$4={SHOW:"show"+EVENT_KEY$3,SHOWN:"shown"+EVENT_KEY$3,HIDE:"hide"+EVENT_KEY$3,HIDDEN:"hidden"+EVENT_KEY$3,CLICK_DATA_API:"click"+EVENT_KEY$3+DATA_API_KEY$3},ClassName$3={SHOW:"show",COLLAPSE:"collapse",COLLAPSING:"collapsing",COLLAPSED:"collapsed"},Dimension={WIDTH:"width",HEIGHT:"height"},Selector$3={ACTIVES:".show, .collapsing",DATA_TOGGLE:'[data-toggle="collapse"]'},Collapse=function(){function e(e,t){this._isTransitioning=!1,this._element=e,this._config=this._getConfig(t),this._triggerArray=makeArray(SelectorEngine.find('[data-toggle="collapse"][href="#'+e.id+'"],[data-toggle="collapse"][data-target="#'+e.id+'"]'));for(var n=makeArray(SelectorEngine.find(Selector$3.DATA_TOGGLE)),i=0,r=n.length;i<r;i++){var a=n[i],o=getSelectorFromElement(a),s=makeArray(SelectorEngine.find(o)).filter((function(t){return t===e}));null!==o&&s.length&&(this._selector=o,this._triggerArray.push(a))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle(),Data.setData(e,DATA_KEY$3,this)}var t=e.prototype;return t.toggle=function(){this._element.classList.contains(ClassName$3.SHOW)?this.hide():this.show()},t.show=function(){var t=this;if(!this._isTransitioning&&!this._element.classList.contains(ClassName$3.SHOW)){var n,i;this._parent&&0===(n=makeArray(SelectorEngine.find(Selector$3.ACTIVES,this._parent)).filter((function(e){return"string"==typeof t._config.parent?e.getAttribute("data-parent")===t._config.parent:e.classList.contains(ClassName$3.COLLAPSE)}))).length&&(n=null);var r=SelectorEngine.findOne(this._selector);if(n){var a=n.filter((function(e){return r!==e}));if((i=a[0]?Data.getData(a[0],DATA_KEY$3):null)&&i._isTransitioning)return}if(!EventHandler.trigger(this._element,Event$4.SHOW).defaultPrevented){n&&n.forEach((function(t){r!==t&&e.collapseInterface(t,"hide"),i||Data.setData(t,DATA_KEY$3,null)}));var o=this._getDimension();this._element.classList.remove(ClassName$3.COLLAPSE),this._element.classList.add(ClassName$3.COLLAPSING),this._element.style[o]=0,this._triggerArray.length&&this._triggerArray.forEach((function(e){e.classList.remove(ClassName$3.COLLAPSED),e.setAttribute("aria-expanded",!0)})),this.setTransitioning(!0);var s="scroll"+(o[0].toUpperCase()+o.slice(1)),l=getTransitionDurationFromElement(this._element);EventHandler.one(this._element,TRANSITION_END,(function(){t._element.classList.remove(ClassName$3.COLLAPSING),t._element.classList.add(ClassName$3.COLLAPSE),t._element.classList.add(ClassName$3.SHOW),t._element.style[o]="",t.setTransitioning(!1),EventHandler.trigger(t._element,Event$4.SHOWN)})),emulateTransitionEnd(this._element,l),this._element.style[o]=this._element[s]+"px"}}},t.hide=function(){var e=this;if(!this._isTransitioning&&this._element.classList.contains(ClassName$3.SHOW)&&!EventHandler.trigger(this._element,Event$4.HIDE).defaultPrevented){var t=this._getDimension();this._element.style[t]=this._element.getBoundingClientRect()[t]+"px",reflow(this._element),this._element.classList.add(ClassName$3.COLLAPSING),this._element.classList.remove(ClassName$3.COLLAPSE),this._element.classList.remove(ClassName$3.SHOW);var n=this._triggerArray.length;if(n>0)for(var i=0;i<n;i++){var r=this._triggerArray[i],a=getElementFromSelector(r);a&&!a.classList.contains(ClassName$3.SHOW)&&(r.classList.add(ClassName$3.COLLAPSED),r.setAttribute("aria-expanded",!1))}this.setTransitioning(!0);this._element.style[t]="";var o=getTransitionDurationFromElement(this._element);EventHandler.one(this._element,TRANSITION_END,(function(){e.setTransitioning(!1),e._element.classList.remove(ClassName$3.COLLAPSING),e._element.classList.add(ClassName$3.COLLAPSE),EventHandler.trigger(e._element,Event$4.HIDDEN)})),emulateTransitionEnd(this._element,o)}},t.setTransitioning=function(e){this._isTransitioning=e},t.dispose=function(){Data.removeData(this._element,DATA_KEY$3),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},t._getConfig=function(e){return(e=_objectSpread2({},Default$1,{},e)).toggle=Boolean(e.toggle),typeCheckConfig(NAME$3,e,DefaultType$1),e},t._getDimension=function(){return this._element.classList.contains(Dimension.WIDTH)?Dimension.WIDTH:Dimension.HEIGHT},t._getParent=function(){var e=this,t=this._config.parent;isElement(t)?void 0===t.jquery&&void 0===t[0]||(t=t[0]):t=SelectorEngine.findOne(t);var n='[data-toggle="collapse"][data-parent="'+t+'"]';return makeArray(SelectorEngine.find(n,t)).forEach((function(t){var n=getElementFromSelector(t);e._addAriaAndCollapsedClass(n,[t])})),t},t._addAriaAndCollapsedClass=function(e,t){if(e){var n=e.classList.contains(ClassName$3.SHOW);t.length&&t.forEach((function(e){n?e.classList.remove(ClassName$3.COLLAPSED):e.classList.add(ClassName$3.COLLAPSED),e.setAttribute("aria-expanded",n)}))}},e.collapseInterface=function(t,n){var i=Data.getData(t,DATA_KEY$3),r=_objectSpread2({},Default$1,{},Manipulator.getDataAttributes(t),{},"object"==typeof n&&n?n:{});if(!i&&r.toggle&&/show|hide/.test(n)&&(r.toggle=!1),i||(i=new e(t,r)),"string"==typeof n){if(void 0===i[n])throw new TypeError('No method named "'+n+'"');i[n]()}},e.jQueryInterface=function(t){return this.each((function(){e.collapseInterface(this,t)}))},e.getInstance=function(e){return Data.getData(e,DATA_KEY$3)},_createClass(e,null,[{key:"VERSION",get:function(){return VERSION$3}},{key:"Default",get:function(){return Default$1}}]),e}();EventHandler.on(document,Event$4.CLICK_DATA_API,Selector$3.DATA_TOGGLE,(function(e){"A"===e.target.tagName&&e.preventDefault();var t=Manipulator.getDataAttributes(this),n=getSelectorFromElement(this);makeArray(SelectorEngine.find(n)).forEach((function(e){var n,i=Data.getData(e,DATA_KEY$3);i?(null===i._parent&&"string"==typeof t.parent&&(i._config.parent=t.parent,i._parent=i._getParent()),n="toggle"):n=t,Collapse.collapseInterface(e,n)}))}));var $$4=getjQuery();if($$4){var JQUERY_NO_CONFLICT$3=$$4.fn[NAME$3];$$4.fn[NAME$3]=Collapse.jQueryInterface,$$4.fn[NAME$3].Constructor=Collapse,$$4.fn[NAME$3].noConflict=function(){return $$4.fn[NAME$3]=JQUERY_NO_CONFLICT$3,Collapse.jQueryInterface}}var NAME$4="dropdown",VERSION$4="4.3.1",DATA_KEY$4="bs.dropdown",EVENT_KEY$4="."+DATA_KEY$4,DATA_API_KEY$4=".data-api",ESCAPE_KEYCODE=27,SPACE_KEYCODE=32,TAB_KEYCODE=9,ARROW_UP_KEYCODE=38,ARROW_DOWN_KEYCODE=40,RIGHT_MOUSE_BUTTON_WHICH=3,REGEXP_KEYDOWN=new RegExp(ARROW_UP_KEYCODE+"|"+ARROW_DOWN_KEYCODE+"|"+ESCAPE_KEYCODE),Event$5={HIDE:"hide"+EVENT_KEY$4,HIDDEN:"hidden"+EVENT_KEY$4,SHOW:"show"+EVENT_KEY$4,SHOWN:"shown"+EVENT_KEY$4,CLICK:"click"+EVENT_KEY$4,CLICK_DATA_API:"click"+EVENT_KEY$4+DATA_API_KEY$4,KEYDOWN_DATA_API:"keydown"+EVENT_KEY$4+DATA_API_KEY$4,KEYUP_DATA_API:"keyup"+EVENT_KEY$4+DATA_API_KEY$4},ClassName$4={DISABLED:"disabled",SHOW:"show",DROPUP:"dropup",DROPRIGHT:"dropright",DROPLEFT:"dropleft",MENURIGHT:"dropdown-menu-right",POSITION_STATIC:"position-static"},Selector$4={DATA_TOGGLE:'[data-toggle="dropdown"]',FORM_CHILD:".dropdown form",MENU:".dropdown-menu",NAVBAR_NAV:".navbar-nav",VISIBLE_ITEMS:".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)"},AttachmentMap={TOP:"top-start",TOPEND:"top-end",BOTTOM:"bottom-start",BOTTOMEND:"bottom-end",RIGHT:"right-start",RIGHTEND:"right-end",LEFT:"left-start",LEFTEND:"left-end"},Default$2={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic",popperConfig:null},DefaultType$2={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string",popperConfig:"(null|object)"},Dropdown=function(){function e(e,t){this._element=e,this._popper=null,this._config=this._getConfig(t),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners(),Data.setData(e,DATA_KEY$4,this)}var t=e.prototype;return t.toggle=function(){if(!this._element.disabled&&!this._element.classList.contains(ClassName$4.DISABLED)){var t=this._menu.classList.contains(ClassName$4.SHOW);e.clearMenus(),t||this.show()}},t.show=function(){if(!(this._element.disabled||this._element.classList.contains(ClassName$4.DISABLED)||this._menu.classList.contains(ClassName$4.SHOW))){var t=e.getParentFromElement(this._element),n={relatedTarget:this._element};if(!EventHandler.trigger(t,Event$5.SHOW,n).defaultPrevented){if(!this._inNavbar){if(void 0===Popper)throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org)");var i=this._element;"parent"===this._config.reference?i=t:isElement(this._config.reference)&&(i=this._config.reference,void 0!==this._config.reference.jquery&&(i=this._config.reference[0])),"scrollParent"!==this._config.boundary&&t.classList.add(ClassName$4.POSITION_STATIC),this._popper=new Popper(i,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&!makeArray(SelectorEngine.closest(t,Selector$4.NAVBAR_NAV)).length&&makeArray(document.body.children).forEach((function(e){return EventHandler.on(e,"mouseover",null,noop())})),this._element.focus(),this._element.setAttribute("aria-expanded",!0),Manipulator.toggleClass(this._menu,ClassName$4.SHOW),Manipulator.toggleClass(t,ClassName$4.SHOW),EventHandler.trigger(t,Event$5.SHOWN,n)}}},t.hide=function(){if(!this._element.disabled&&!this._element.classList.contains(ClassName$4.DISABLED)&&this._menu.classList.contains(ClassName$4.SHOW)){var t=e.getParentFromElement(this._element),n={relatedTarget:this._element};EventHandler.trigger(t,Event$5.HIDE,n).defaultPrevented||(this._popper&&this._popper.destroy(),Manipulator.toggleClass(this._menu,ClassName$4.SHOW),Manipulator.toggleClass(t,ClassName$4.SHOW),EventHandler.trigger(t,Event$5.HIDDEN,n))}},t.dispose=function(){Data.removeData(this._element,DATA_KEY$4),EventHandler.off(this._element,EVENT_KEY$4),this._element=null,this._menu=null,this._popper&&(this._popper.destroy(),this._popper=null)},t.update=function(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.scheduleUpdate()},t._addEventListeners=function(){var e=this;EventHandler.on(this._element,Event$5.CLICK,(function(t){t.preventDefault(),t.stopPropagation(),e.toggle()}))},t._getConfig=function(e){return e=_objectSpread2({},this.constructor.Default,{},Manipulator.getDataAttributes(this._element),{},e),typeCheckConfig(NAME$4,e,this.constructor.DefaultType),e},t._getMenuElement=function(){var t=e.getParentFromElement(this._element);return SelectorEngine.findOne(Selector$4.MENU,t)},t._getPlacement=function(){var e=this._element.parentNode,t=AttachmentMap.BOTTOM;return e.classList.contains(ClassName$4.DROPUP)?(t=AttachmentMap.TOP,this._menu.classList.contains(ClassName$4.MENURIGHT)&&(t=AttachmentMap.TOPEND)):e.classList.contains(ClassName$4.DROPRIGHT)?t=AttachmentMap.RIGHT:e.classList.contains(ClassName$4.DROPLEFT)?t=AttachmentMap.LEFT:this._menu.classList.contains(ClassName$4.MENURIGHT)&&(t=AttachmentMap.BOTTOMEND),t},t._detectNavbar=function(){return Boolean(SelectorEngine.closest(this._element,".navbar"))},t._getOffset=function(){var e=this,t={};return"function"==typeof this._config.offset?t.fn=function(t){return t.offsets=_objectSpread2({},t.offsets,{},e._config.offset(t.offsets,e._element)||{}),t}:t.offset=this._config.offset,t},t._getPopperConfig=function(){var e={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(e.modifiers.applyStyle={enabled:!1}),_objectSpread2({},e,{},this._config.popperConfig)},e.dropdownInterface=function(t,n){var i=Data.getData(t,DATA_KEY$4);if(i||(i=new e(t,"object"==typeof n?n:null)),"string"==typeof n){if(void 0===i[n])throw new TypeError('No method named "'+n+'"');i[n]()}},e.jQueryInterface=function(t){return this.each((function(){e.dropdownInterface(this,t)}))},e.clearMenus=function(t){if(!t||t.which!==RIGHT_MOUSE_BUTTON_WHICH&&("keyup"!==t.type||t.which===TAB_KEYCODE))for(var n=makeArray(SelectorEngine.find(Selector$4.DATA_TOGGLE)),i=0,r=n.length;i<r;i++){var a=e.getParentFromElement(n[i]),o=Data.getData(n[i],DATA_KEY$4),s={relatedTarget:n[i]};if(t&&"click"===t.type&&(s.clickEvent=t),o){var l=o._menu;if(a.classList.contains(ClassName$4.SHOW))if(!(t&&("click"===t.type&&/input|textarea/i.test(t.target.tagName)||"keyup"===t.type&&t.which===TAB_KEYCODE)&&a.contains(t.target)))EventHandler.trigger(a,Event$5.HIDE,s).defaultPrevented||("ontouchstart"in document.documentElement&&makeArray(document.body.children).forEach((function(e){return EventHandler.off(e,"mouseover",null,noop())})),n[i].setAttribute("aria-expanded","false"),o._popper&&o._popper.destroy(),l.classList.remove(ClassName$4.SHOW),a.classList.remove(ClassName$4.SHOW),EventHandler.trigger(a,Event$5.HIDDEN,s))}}},e.getParentFromElement=function(e){return getElementFromSelector(e)||e.parentNode},e.dataApiKeydownHandler=function(t){if((/input|textarea/i.test(t.target.tagName)?!(t.which===SPACE_KEYCODE||t.which!==ESCAPE_KEYCODE&&(t.which!==ARROW_DOWN_KEYCODE&&t.which!==ARROW_UP_KEYCODE||SelectorEngine.closest(t.target,Selector$4.MENU))):REGEXP_KEYDOWN.test(t.which))&&(t.preventDefault(),t.stopPropagation(),!this.disabled&&!this.classList.contains(ClassName$4.DISABLED))){var n=e.getParentFromElement(this),i=n.classList.contains(ClassName$4.SHOW);if(!i||i&&(t.which===ESCAPE_KEYCODE||t.which===SPACE_KEYCODE))return t.which===ESCAPE_KEYCODE&&SelectorEngine.findOne(Selector$4.DATA_TOGGLE,n).focus(),void e.clearMenus();var r=makeArray(SelectorEngine.find(Selector$4.VISIBLE_ITEMS,n)).filter(isVisible);if(r.length){var a=r.indexOf(t.target);t.which===ARROW_UP_KEYCODE&&a>0&&a--,t.which===ARROW_DOWN_KEYCODE&&a<r.length-1&&a++,a<0&&(a=0),r[a].focus()}}},e.getInstance=function(e){return Data.getData(e,DATA_KEY$4)},_createClass(e,null,[{key:"VERSION",get:function(){return VERSION$4}},{key:"Default",get:function(){return Default$2}},{key:"DefaultType",get:function(){return DefaultType$2}}]),e}();EventHandler.on(document,Event$5.KEYDOWN_DATA_API,Selector$4.DATA_TOGGLE,Dropdown.dataApiKeydownHandler),EventHandler.on(document,Event$5.KEYDOWN_DATA_API,Selector$4.MENU,Dropdown.dataApiKeydownHandler),EventHandler.on(document,Event$5.CLICK_DATA_API,Dropdown.clearMenus),EventHandler.on(document,Event$5.KEYUP_DATA_API,Dropdown.clearMenus),EventHandler.on(document,Event$5.CLICK_DATA_API,Selector$4.DATA_TOGGLE,(function(e){e.preventDefault(),e.stopPropagation(),Dropdown.dropdownInterface(this,"toggle")})),EventHandler.on(document,Event$5.CLICK_DATA_API,Selector$4.FORM_CHILD,(function(e){return e.stopPropagation()}));var $$5=getjQuery();if($$5){var JQUERY_NO_CONFLICT$4=$$5.fn[NAME$4];$$5.fn[NAME$4]=Dropdown.jQueryInterface,$$5.fn[NAME$4].Constructor=Dropdown,$$5.fn[NAME$4].noConflict=function(){return $$5.fn[NAME$4]=JQUERY_NO_CONFLICT$4,Dropdown.jQueryInterface}}var NAME$5="modal",VERSION$5="4.3.1",DATA_KEY$5="bs.modal",EVENT_KEY$5="."+DATA_KEY$5,DATA_API_KEY$5=".data-api",ESCAPE_KEYCODE$1=27,Default$3={backdrop:!0,keyboard:!0,focus:!0,show:!0},DefaultType$3={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},Event$6={HIDE:"hide"+EVENT_KEY$5,HIDE_PREVENTED:"hidePrevented"+EVENT_KEY$5,HIDDEN:"hidden"+EVENT_KEY$5,SHOW:"show"+EVENT_KEY$5,SHOWN:"shown"+EVENT_KEY$5,FOCUSIN:"focusin"+EVENT_KEY$5,RESIZE:"resize"+EVENT_KEY$5,CLICK_DISMISS:"click.dismiss"+EVENT_KEY$5,KEYDOWN_DISMISS:"keydown.dismiss"+EVENT_KEY$5,MOUSEUP_DISMISS:"mouseup.dismiss"+EVENT_KEY$5,MOUSEDOWN_DISMISS:"mousedown.dismiss"+EVENT_KEY$5,CLICK_DATA_API:"click"+EVENT_KEY$5+DATA_API_KEY$5},ClassName$5={SCROLLABLE:"modal-dialog-scrollable",SCROLLBAR_MEASURER:"modal-scrollbar-measure",BACKDROP:"modal-backdrop",OPEN:"modal-open",FADE:"fade",SHOW:"show",STATIC:"modal-static"},Selector$5={DIALOG:".modal-dialog",MODAL_BODY:".modal-body",DATA_TOGGLE:'[data-toggle="modal"]',DATA_DISMISS:'[data-dismiss="modal"]',FIXED_CONTENT:".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",STICKY_CONTENT:".sticky-top"},Modal=function(){function e(e,t){this._config=this._getConfig(t),this._element=e,this._dialog=SelectorEngine.findOne(Selector$5.DIALOG,e),this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollbarWidth=0,Data.setData(e,DATA_KEY$5,this)}var t=e.prototype;return t.toggle=function(e){return this._isShown?this.hide():this.show(e)},t.show=function(e){var t=this;if(!this._isShown&&!this._isTransitioning){this._element.classList.contains(ClassName$5.FADE)&&(this._isTransitioning=!0);var n=EventHandler.trigger(this._element,Event$6.SHOW,{relatedTarget:e});this._isShown||n.defaultPrevented||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),EventHandler.on(this._element,Event$6.CLICK_DISMISS,Selector$5.DATA_DISMISS,(function(e){return t.hide(e)})),EventHandler.on(this._dialog,Event$6.MOUSEDOWN_DISMISS,(function(){EventHandler.one(t._element,Event$6.MOUSEUP_DISMISS,(function(e){e.target===t._element&&(t._ignoreBackdropClick=!0)}))})),this._showBackdrop((function(){return t._showElement(e)})))}},t.hide=function(e){var t=this;if((e&&e.preventDefault(),this._isShown&&!this._isTransitioning)&&!EventHandler.trigger(this._element,Event$6.HIDE).defaultPrevented){this._isShown=!1;var n=this._element.classList.contains(ClassName$5.FADE);if(n&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),EventHandler.off(document,Event$6.FOCUSIN),this._element.classList.remove(ClassName$5.SHOW),EventHandler.off(this._element,Event$6.CLICK_DISMISS),EventHandler.off(this._dialog,Event$6.MOUSEDOWN_DISMISS),n){var i=getTransitionDurationFromElement(this._element);EventHandler.one(this._element,TRANSITION_END,(function(e){return t._hideModal(e)})),emulateTransitionEnd(this._element,i)}else this._hideModal()}},t.dispose=function(){[window,this._element,this._dialog].forEach((function(e){return EventHandler.off(e,EVENT_KEY$5)})),EventHandler.off(document,Event$6.FOCUSIN),Data.removeData(this._element,DATA_KEY$5),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._isTransitioning=null,this._scrollbarWidth=null},t.handleUpdate=function(){this._adjustDialog()},t._getConfig=function(e){return e=_objectSpread2({},Default$3,{},e),typeCheckConfig(NAME$5,e,DefaultType$3),e},t._showElement=function(e){var t=this,n=this._element.classList.contains(ClassName$5.FADE),i=SelectorEngine.findOne(Selector$5.MODAL_BODY,this._dialog);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._dialog.classList.contains(ClassName$5.SCROLLABLE)&&i?i.scrollTop=0:this._element.scrollTop=0,n&&reflow(this._element),this._element.classList.add(ClassName$5.SHOW),this._config.focus&&this._enforceFocus();var r=function(){t._config.focus&&t._element.focus(),t._isTransitioning=!1,EventHandler.trigger(t._element,Event$6.SHOWN,{relatedTarget:e})};if(n){var a=getTransitionDurationFromElement(this._dialog);EventHandler.one(this._dialog,TRANSITION_END,r),emulateTransitionEnd(this._dialog,a)}else r()},t._enforceFocus=function(){var e=this;EventHandler.off(document,Event$6.FOCUSIN),EventHandler.on(document,Event$6.FOCUSIN,(function(t){document===t.target||e._element===t.target||e._element.contains(t.target)||e._element.focus()}))},t._setEscapeEvent=function(){var e=this;this._isShown&&this._config.keyboard?EventHandler.on(this._element,Event$6.KEYDOWN_DISMISS,(function(t){t.which===ESCAPE_KEYCODE$1&&e._triggerBackdropTransition()})):EventHandler.off(this._element,Event$6.KEYDOWN_DISMISS)},t._setResizeEvent=function(){var e=this;this._isShown?EventHandler.on(window,Event$6.RESIZE,(function(){return e._adjustDialog()})):EventHandler.off(window,Event$6.RESIZE)},t._hideModal=function(){var e=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._isTransitioning=!1,this._showBackdrop((function(){document.body.classList.remove(ClassName$5.OPEN),e._resetAdjustments(),e._resetScrollbar(),EventHandler.trigger(e._element,Event$6.HIDDEN)}))},t._removeBackdrop=function(){this._backdrop.parentNode.removeChild(this._backdrop),this._backdrop=null},t._showBackdrop=function(e){var t=this,n=this._element.classList.contains(ClassName$5.FADE)?ClassName$5.FADE:"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className=ClassName$5.BACKDROP,n&&this._backdrop.classList.add(n),document.body.appendChild(this._backdrop),EventHandler.on(this._element,Event$6.CLICK_DISMISS,(function(e){t._ignoreBackdropClick?t._ignoreBackdropClick=!1:e.target===e.currentTarget&&t._triggerBackdropTransition()})),n&&reflow(this._backdrop),this._backdrop.classList.add(ClassName$5.SHOW),!n)return void e();var i=getTransitionDurationFromElement(this._backdrop);EventHandler.one(this._backdrop,TRANSITION_END,e),emulateTransitionEnd(this._backdrop,i)}else if(!this._isShown&&this._backdrop){this._backdrop.classList.remove(ClassName$5.SHOW);var r=function(){t._removeBackdrop(),e()};if(this._element.classList.contains(ClassName$5.FADE)){var a=getTransitionDurationFromElement(this._backdrop);EventHandler.one(this._backdrop,TRANSITION_END,r),emulateTransitionEnd(this._backdrop,a)}else r()}else e()},t._triggerBackdropTransition=function(){var e=this;if("static"===this._config.backdrop){if(EventHandler.trigger(this._element,Event$6.HIDE_PREVENTED).defaultPrevented)return;this._element.classList.add(ClassName$5.STATIC);var t=getTransitionDurationFromElement(this._element);EventHandler.one(this._element,TRANSITION_END,(function(){e._element.classList.remove(ClassName$5.STATIC)})),emulateTransitionEnd(this._element,t),this._element.focus()}else this.hide()},t._adjustDialog=function(){var e=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&e&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!e&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},t._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},t._checkScrollbar=function(){var e=document.body.getBoundingClientRect();this._isBodyOverflowing=e.left+e.right<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},t._setScrollbar=function(){var e=this;if(this._isBodyOverflowing){makeArray(SelectorEngine.find(Selector$5.FIXED_CONTENT)).forEach((function(t){var n=t.style.paddingRight,i=window.getComputedStyle(t)["padding-right"];Manipulator.setDataAttribute(t,"padding-right",n),t.style.paddingRight=parseFloat(i)+e._scrollbarWidth+"px"})),makeArray(SelectorEngine.find(Selector$5.STICKY_CONTENT)).forEach((function(t){var n=t.style.marginRight,i=window.getComputedStyle(t)["margin-right"];Manipulator.setDataAttribute(t,"margin-right",n),t.style.marginRight=parseFloat(i)-e._scrollbarWidth+"px"}));var t=document.body.style.paddingRight,n=window.getComputedStyle(document.body)["padding-right"];Manipulator.setDataAttribute(document.body,"padding-right",t),document.body.style.paddingRight=parseFloat(n)+this._scrollbarWidth+"px"}document.body.classList.add(ClassName$5.OPEN)},t._resetScrollbar=function(){makeArray(SelectorEngine.find(Selector$5.FIXED_CONTENT)).forEach((function(e){var t=Manipulator.getDataAttribute(e,"padding-right");void 0!==t&&(Manipulator.removeDataAttribute(e,"padding-right"),e.style.paddingRight=t)})),makeArray(SelectorEngine.find(""+Selector$5.STICKY_CONTENT)).forEach((function(e){var t=Manipulator.getDataAttribute(e,"margin-right");void 0!==t&&(Manipulator.removeDataAttribute(e,"margin-right"),e.style.marginRight=t)}));var e=Manipulator.getDataAttribute(document.body,"padding-right");void 0===e?document.body.style.paddingRight="":(Manipulator.removeDataAttribute(document.body,"padding-right"),document.body.style.paddingRight=e)},t._getScrollbarWidth=function(){var e=document.createElement("div");e.className=ClassName$5.SCROLLBAR_MEASURER,document.body.appendChild(e);var t=e.getBoundingClientRect().width-e.clientWidth;return document.body.removeChild(e),t},e.jQueryInterface=function(t,n){return this.each((function(){var i=Data.getData(this,DATA_KEY$5),r=_objectSpread2({},Default$3,{},Manipulator.getDataAttributes(this),{},"object"==typeof t&&t?t:{});if(i||(i=new e(this,r)),"string"==typeof t){if(void 0===i[t])throw new TypeError('No method named "'+t+'"');i[t](n)}else r.show&&i.show(n)}))},e.getInstance=function(e){return Data.getData(e,DATA_KEY$5)},_createClass(e,null,[{key:"VERSION",get:function(){return VERSION$5}},{key:"Default",get:function(){return Default$3}}]),e}();EventHandler.on(document,Event$6.CLICK_DATA_API,Selector$5.DATA_TOGGLE,(function(e){var t=this,n=getElementFromSelector(this);"A"!==this.tagName&&"AREA"!==this.tagName||e.preventDefault(),EventHandler.one(n,Event$6.SHOW,(function(e){e.defaultPrevented||EventHandler.one(n,Event$6.HIDDEN,(function(){isVisible(t)&&t.focus()}))}));var i=Data.getData(n,DATA_KEY$5);if(!i){var r=_objectSpread2({},Manipulator.getDataAttributes(n),{},Manipulator.getDataAttributes(this));i=new Modal(n,r)}i.show(this)}));var $$6=getjQuery();if($$6){var JQUERY_NO_CONFLICT$5=$$6.fn[NAME$5];$$6.fn[NAME$5]=Modal.jQueryInterface,$$6.fn[NAME$5].Constructor=Modal,$$6.fn[NAME$5].noConflict=function(){return $$6.fn[NAME$5]=JQUERY_NO_CONFLICT$5,Modal.jQueryInterface}}var uriAttrs=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],ARIA_ATTRIBUTE_PATTERN=/^aria-[\w-]*$/i,SAFE_URL_PATTERN=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi,DATA_URL_PATTERN=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i,allowedAttribute=function(e,t){var n=e.nodeName.toLowerCase();if(-1!==t.indexOf(n))return-1===uriAttrs.indexOf(n)||Boolean(e.nodeValue.match(SAFE_URL_PATTERN)||e.nodeValue.match(DATA_URL_PATTERN));for(var i=t.filter((function(e){return e instanceof RegExp})),r=0,a=i.length;r<a;r++)if(n.match(i[r]))return!0;return!1},DefaultWhitelist={"*":["class","dir","id","lang","role",ARIA_ATTRIBUTE_PATTERN],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]};function sanitizeHtml(e,t,n){if(!e.length)return e;if(n&&"function"==typeof n)return n(e);for(var i=(new window.DOMParser).parseFromString(e,"text/html"),r=Object.keys(t),a=makeArray(i.body.querySelectorAll("*")),o=function(e,n){var i=a[e],o=i.nodeName.toLowerCase();if(-1===r.indexOf(o))return i.parentNode.removeChild(i),"continue";var s=makeArray(i.attributes),l=[].concat(t["*"]||[],t[o]||[]);s.forEach((function(e){allowedAttribute(e,l)||i.removeAttribute(e.nodeName)}))},s=0,l=a.length;s<l;s++)o(s);return i.body.innerHTML}var NAME$6="tooltip",VERSION$6="4.3.1",DATA_KEY$6="bs.tooltip",EVENT_KEY$6="."+DATA_KEY$6,CLASS_PREFIX="bs-tooltip",BSCLS_PREFIX_REGEX=new RegExp("(^|\\s)"+CLASS_PREFIX+"\\S+","g"),DISALLOWED_ATTRIBUTES=["sanitize","whiteList","sanitizeFn"],DefaultType$4={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string|function)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)",sanitize:"boolean",sanitizeFn:"(null|function)",whiteList:"object",popperConfig:"(null|object)"},AttachmentMap$1={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},Default$4={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:DefaultWhitelist,popperConfig:null},HoverState={SHOW:"show",OUT:"out"},Event$7={HIDE:"hide"+EVENT_KEY$6,HIDDEN:"hidden"+EVENT_KEY$6,SHOW:"show"+EVENT_KEY$6,SHOWN:"shown"+EVENT_KEY$6,INSERTED:"inserted"+EVENT_KEY$6,CLICK:"click"+EVENT_KEY$6,FOCUSIN:"focusin"+EVENT_KEY$6,FOCUSOUT:"focusout"+EVENT_KEY$6,MOUSEENTER:"mouseenter"+EVENT_KEY$6,MOUSELEAVE:"mouseleave"+EVENT_KEY$6},ClassName$6={FADE:"fade",SHOW:"show"},Selector$6={TOOLTIP_INNER:".tooltip-inner"},Trigger={HOVER:"hover",FOCUS:"focus",CLICK:"click",MANUAL:"manual"},Tooltip=function(){function e(e,t){if(void 0===Popper)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=e,this.config=this._getConfig(t),this.tip=null,this._setListeners(),Data.setData(e,this.constructor.DATA_KEY,this)}var t=e.prototype;return t.enable=function(){this._isEnabled=!0},t.disable=function(){this._isEnabled=!1},t.toggleEnabled=function(){this._isEnabled=!this._isEnabled},t.toggle=function(e){if(this._isEnabled)if(e){var t=this.constructor.DATA_KEY,n=Data.getData(e.delegateTarget,t);n||(n=new this.constructor(e.delegateTarget,this._getDelegateConfig()),Data.setData(e.delegateTarget,t,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(this.getTipElement().classList.contains(ClassName$6.SHOW))return void this._leave(null,this);this._enter(null,this)}},t.dispose=function(){clearTimeout(this._timeout),Data.removeData(this.element,this.constructor.DATA_KEY),EventHandler.off(this.element,this.constructor.EVENT_KEY),EventHandler.off(SelectorEngine.closest(this.element,".modal"),"hide.bs.modal",this._hideModalHandler),this.tip&&this.tip.parentNode.removeChild(this.tip),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},t.show=function(){var e=this;if("none"===this.element.style.display)throw new Error("Please use show on visible elements");if(this.isWithContent()&&this._isEnabled){var t=EventHandler.trigger(this.element,this.constructor.Event.SHOW),n=findShadowRoot(this.element),i=null===n?this.element.ownerDocument.documentElement.contains(this.element):n.contains(this.element);if(t.defaultPrevented||!i)return;var r=this.getTipElement(),a=getUID(this.constructor.NAME);r.setAttribute("id",a),this.element.setAttribute("aria-describedby",a),this.setContent(),this.config.animation&&r.classList.add(ClassName$6.FADE);var o="function"==typeof this.config.placement?this.config.placement.call(this,r,this.element):this.config.placement,s=this._getAttachment(o);this._addAttachmentClass(s);var l=this._getContainer();Data.setData(r,this.constructor.DATA_KEY,this),this.element.ownerDocument.documentElement.contains(this.tip)||l.appendChild(r),EventHandler.trigger(this.element,this.constructor.Event.INSERTED),this._popper=new Popper(this.element,r,this._getPopperConfig(s)),r.classList.add(ClassName$6.SHOW),"ontouchstart"in document.documentElement&&makeArray(document.body.children).forEach((function(e){EventHandler.on(e,"mouseover",noop())}));var c=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,EventHandler.trigger(e.element,e.constructor.Event.SHOWN),t===HoverState.OUT&&e._leave(null,e)};if(this.tip.classList.contains(ClassName$6.FADE)){var E=getTransitionDurationFromElement(this.tip);EventHandler.one(this.tip,TRANSITION_END,c),emulateTransitionEnd(this.tip,E)}else c()}},t.hide=function(){var e=this,t=this.getTipElement(),n=function(){e._hoverState!==HoverState.SHOW&&t.parentNode&&t.parentNode.removeChild(t),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),EventHandler.trigger(e.element,e.constructor.Event.HIDDEN),e._popper.destroy()};if(!EventHandler.trigger(this.element,this.constructor.Event.HIDE).defaultPrevented){if(t.classList.remove(ClassName$6.SHOW),"ontouchstart"in document.documentElement&&makeArray(document.body.children).forEach((function(e){return EventHandler.off(e,"mouseover",noop)})),this._activeTrigger[Trigger.CLICK]=!1,this._activeTrigger[Trigger.FOCUS]=!1,this._activeTrigger[Trigger.HOVER]=!1,this.tip.classList.contains(ClassName$6.FADE)){var i=getTransitionDurationFromElement(t);EventHandler.one(t,TRANSITION_END,n),emulateTransitionEnd(t,i)}else n();this._hoverState=""}},t.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},t.isWithContent=function(){return Boolean(this.getTitle())},t.getTipElement=function(){if(this.tip)return this.tip;var e=document.createElement("div");return e.innerHTML=this.config.template,this.tip=e.children[0],this.tip},t.setContent=function(){var e=this.getTipElement();this.setElementContent(SelectorEngine.findOne(Selector$6.TOOLTIP_INNER,e),this.getTitle()),e.classList.remove(ClassName$6.FADE),e.classList.remove(ClassName$6.SHOW)},t.setElementContent=function(e,t){if(null!==e)return"object"==typeof t&&isElement(t)?(t.jquery&&(t=t[0]),void(this.config.html?t.parentNode!==e&&(e.innerHTML="",e.appendChild(t)):e.innerText=t.textContent)):void(this.config.html?(this.config.sanitize&&(t=sanitizeHtml(t,this.config.whiteList,this.config.sanitizeFn)),e.innerHTML=t):e.innerText=t)},t.getTitle=function(){var e=this.element.getAttribute("data-original-title");return e||(e="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),e},t._getPopperConfig=function(e){var t=this;return _objectSpread2({},{placement:e,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:"."+this.constructor.NAME+"-arrow"},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(e){e.originalPlacement!==e.placement&&t._handlePopperPlacementChange(e)},onUpdate:function(e){return t._handlePopperPlacementChange(e)}},{},this.config.popperConfig)},t._addAttachmentClass=function(e){this.getTipElement().classList.add(CLASS_PREFIX+"-"+e)},t._getOffset=function(){var e=this,t={};return"function"==typeof this.config.offset?t.fn=function(t){return t.offsets=_objectSpread2({},t.offsets,{},e.config.offset(t.offsets,e.element)||{}),t}:t.offset=this.config.offset,t},t._getContainer=function(){return!1===this.config.container?document.body:isElement(this.config.container)?this.config.container:SelectorEngine.findOne(this.config.container)},t._getAttachment=function(e){return AttachmentMap$1[e.toUpperCase()]},t._setListeners=function(){var e=this;this.config.trigger.split(" ").forEach((function(t){if("click"===t)EventHandler.on(e.element,e.constructor.Event.CLICK,e.config.selector,(function(t){return e.toggle(t)}));else if(t!==Trigger.MANUAL){var n=t===Trigger.HOVER?e.constructor.Event.MOUSEENTER:e.constructor.Event.FOCUSIN,i=t===Trigger.HOVER?e.constructor.Event.MOUSELEAVE:e.constructor.Event.FOCUSOUT;EventHandler.on(e.element,n,e.config.selector,(function(t){return e._enter(t)})),EventHandler.on(e.element,i,e.config.selector,(function(t){return e._leave(t)}))}})),this._hideModalHandler=function(){e.element&&e.hide()},EventHandler.on(SelectorEngine.closest(this.element,".modal"),"hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=_objectSpread2({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},t._fixTitle=function(){var e=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==e)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},t._enter=function(e,t){var n=this.constructor.DATA_KEY;(t=t||Data.getData(e.delegateTarget,n))||(t=new this.constructor(e.delegateTarget,this._getDelegateConfig()),Data.setData(e.delegateTarget,n,t)),e&&(t._activeTrigger["focusin"===e.type?Trigger.FOCUS:Trigger.HOVER]=!0),t.getTipElement().classList.contains(ClassName$6.SHOW)||t._hoverState===HoverState.SHOW?t._hoverState=HoverState.SHOW:(clearTimeout(t._timeout),t._hoverState=HoverState.SHOW,t.config.delay&&t.config.delay.show?t._timeout=setTimeout((function(){t._hoverState===HoverState.SHOW&&t.show()}),t.config.delay.show):t.show())},t._leave=function(e,t){var n=this.constructor.DATA_KEY;(t=t||Data.getData(e.delegateTarget,n))||(t=new this.constructor(e.delegateTarget,this._getDelegateConfig()),Data.setData(e.delegateTarget,n,t)),e&&(t._activeTrigger["focusout"===e.type?Trigger.FOCUS:Trigger.HOVER]=!1),t._isWithActiveTrigger()||(clearTimeout(t._timeout),t._hoverState=HoverState.OUT,t.config.delay&&t.config.delay.hide?t._timeout=setTimeout((function(){t._hoverState===HoverState.OUT&&t.hide()}),t.config.delay.hide):t.hide())},t._isWithActiveTrigger=function(){for(var e in this._activeTrigger)if(this._activeTrigger[e])return!0;return!1},t._getConfig=function(e){var t=Manipulator.getDataAttributes(this.element);return Object.keys(t).forEach((function(e){-1!==DISALLOWED_ATTRIBUTES.indexOf(e)&&delete t[e]})),e&&"object"==typeof e.container&&e.container.jquery&&(e.container=e.container[0]),"number"==typeof(e=_objectSpread2({},this.constructor.Default,{},t,{},"object"==typeof e&&e?e:{})).delay&&(e.delay={show:e.delay,hide:e.delay}),"number"==typeof e.title&&(e.title=e.title.toString()),"number"==typeof e.content&&(e.content=e.content.toString()),typeCheckConfig(NAME$6,e,this.constructor.DefaultType),e.sanitize&&(e.template=sanitizeHtml(e.template,e.whiteList,e.sanitizeFn)),e},t._getDelegateConfig=function(){var e={};if(this.config)for(var t in this.config)this.constructor.Default[t]!==this.config[t]&&(e[t]=this.config[t]);return e},t._cleanTipClass=function(){var e=this.getTipElement(),t=e.getAttribute("class").match(BSCLS_PREFIX_REGEX);null!==t&&t.length&&t.map((function(e){return e.trim()})).forEach((function(t){return e.classList.remove(t)}))},t._handlePopperPlacementChange=function(e){var t=e.instance;this.tip=t.popper,this._cleanTipClass(),this._addAttachmentClass(this._getAttachment(e.placement))},t._fixTransition=function(){var e=this.getTipElement(),t=this.config.animation;null===e.getAttribute("x-placement")&&(e.classList.remove(ClassName$6.FADE),this.config.animation=!1,this.hide(),this.show(),this.config.animation=t)},e.jQueryInterface=function(t){return this.each((function(){var n=Data.getData(this,DATA_KEY$6),i="object"==typeof t&&t;if((n||!/dispose|hide/.test(t))&&(n||(n=new e(this,i)),"string"==typeof t)){if(void 0===n[t])throw new TypeError('No method named "'+t+'"');n[t]()}}))},e.getInstance=function(e){return Data.getData(e,DATA_KEY$6)},_createClass(e,null,[{key:"VERSION",get:function(){return VERSION$6}},{key:"Default",get:function(){return Default$4}},{key:"NAME",get:function(){return NAME$6}},{key:"DATA_KEY",get:function(){return DATA_KEY$6}},{key:"Event",get:function(){return Event$7}},{key:"EVENT_KEY",get:function(){return EVENT_KEY$6}},{key:"DefaultType",get:function(){return DefaultType$4}}]),e}(),$$7=getjQuery();if($$7){var JQUERY_NO_CONFLICT$6=$$7.fn[NAME$6];$$7.fn[NAME$6]=Tooltip.jQueryInterface,$$7.fn[NAME$6].Constructor=Tooltip,$$7.fn[NAME$6].noConflict=function(){return $$7.fn[NAME$6]=JQUERY_NO_CONFLICT$6,Tooltip.jQueryInterface}}var NAME$7="popover",VERSION$7="4.3.1",DATA_KEY$7="bs.popover",EVENT_KEY$7="."+DATA_KEY$7,CLASS_PREFIX$1="bs-popover",BSCLS_PREFIX_REGEX$1=new RegExp("(^|\\s)"+CLASS_PREFIX$1+"\\S+","g"),Default$5=_objectSpread2({},Tooltip.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),DefaultType$5=_objectSpread2({},Tooltip.DefaultType,{content:"(string|element|function)"}),ClassName$7={FADE:"fade",SHOW:"show"},Selector$7={TITLE:".popover-header",CONTENT:".popover-body"},Event$8={HIDE:"hide"+EVENT_KEY$7,HIDDEN:"hidden"+EVENT_KEY$7,SHOW:"show"+EVENT_KEY$7,SHOWN:"shown"+EVENT_KEY$7,INSERTED:"inserted"+EVENT_KEY$7,CLICK:"click"+EVENT_KEY$7,FOCUSIN:"focusin"+EVENT_KEY$7,FOCUSOUT:"focusout"+EVENT_KEY$7,MOUSEENTER:"mouseenter"+EVENT_KEY$7,MOUSELEAVE:"mouseleave"+EVENT_KEY$7},Popover=function(e){function t(){return e.apply(this,arguments)||this}_inheritsLoose(t,e);var n=t.prototype;return n.isWithContent=function(){return this.getTitle()||this._getContent()},n.setContent=function(){var e=this.getTipElement();this.setElementContent(SelectorEngine.findOne(Selector$7.TITLE,e),this.getTitle());var t=this._getContent();"function"==typeof t&&(t=t.call(this.element)),this.setElementContent(SelectorEngine.findOne(Selector$7.CONTENT,e),t),e.classList.remove(ClassName$7.FADE),e.classList.remove(ClassName$7.SHOW)},n._addAttachmentClass=function(e){this.getTipElement().classList.add(CLASS_PREFIX$1+"-"+e)},n._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},n._cleanTipClass=function(){var e=this.getTipElement(),t=e.getAttribute("class").match(BSCLS_PREFIX_REGEX$1);null!==t&&t.length>0&&t.map((function(e){return e.trim()})).forEach((function(t){return e.classList.remove(t)}))},t.jQueryInterface=function(e){return this.each((function(){var n=Data.getData(this,DATA_KEY$7),i="object"==typeof e?e:null;if((n||!/dispose|hide/.test(e))&&(n||(n=new t(this,i),Data.setData(this,DATA_KEY$7,n)),"string"==typeof e)){if(void 0===n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},t.getInstance=function(e){return Data.getData(e,DATA_KEY$7)},_createClass(t,null,[{key:"VERSION",get:function(){return VERSION$7}},{key:"Default",get:function(){return Default$5}},{key:"NAME",get:function(){return NAME$7}},{key:"DATA_KEY",get:function(){return DATA_KEY$7}},{key:"Event",get:function(){return Event$8}},{key:"EVENT_KEY",get:function(){return EVENT_KEY$7}},{key:"DefaultType",get:function(){return DefaultType$5}}]),t}(Tooltip),$$8=getjQuery();if($$8){var JQUERY_NO_CONFLICT$7=$$8.fn[NAME$7];$$8.fn[NAME$7]=Popover.jQueryInterface,$$8.fn[NAME$7].Constructor=Popover,$$8.fn[NAME$7].noConflict=function(){return $$8.fn[NAME$7]=JQUERY_NO_CONFLICT$7,Popover.jQueryInterface}}var NAME$8="scrollspy",VERSION$8="4.3.1",DATA_KEY$8="bs.scrollspy",EVENT_KEY$8="."+DATA_KEY$8,DATA_API_KEY$6=".data-api",Default$6={offset:10,method:"auto",target:""},DefaultType$6={offset:"number",method:"string",target:"(string|element)"},Event$9={ACTIVATE:"activate"+EVENT_KEY$8,SCROLL:"scroll"+EVENT_KEY$8,LOAD_DATA_API:"load"+EVENT_KEY$8+DATA_API_KEY$6},ClassName$8={DROPDOWN_ITEM:"dropdown-item",ACTIVE:"active"},Selector$8={DATA_SPY:'[data-spy="scroll"]',NAV_LIST_GROUP:".nav, .list-group",NAV_LINKS:".nav-link",NAV_ITEMS:".nav-item",LIST_ITEMS:".list-group-item",DROPDOWN:".dropdown",DROPDOWN_TOGGLE:".dropdown-toggle"},OffsetMethod={OFFSET:"offset",POSITION:"position"},ScrollSpy=function(){function e(e,t){var n=this;this._element=e,this._scrollElement="BODY"===e.tagName?window:e,this._config=this._getConfig(t),this._selector=this._config.target+" "+Selector$8.NAV_LINKS+","+this._config.target+" "+Selector$8.LIST_ITEMS+","+this._config.target+" ."+ClassName$8.DROPDOWN_ITEM,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,EventHandler.on(this._scrollElement,Event$9.SCROLL,(function(e){return n._process(e)})),this.refresh(),this._process(),Data.setData(e,DATA_KEY$8,this)}var t=e.prototype;return t.refresh=function(){var e=this,t=this._scrollElement===this._scrollElement.window?OffsetMethod.OFFSET:OffsetMethod.POSITION,n="auto"===this._config.method?t:this._config.method,i=n===OffsetMethod.POSITION?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),makeArray(SelectorEngine.find(this._selector)).map((function(e){var t,r=getSelectorFromElement(e);if(r&&(t=SelectorEngine.findOne(r)),t){var a=t.getBoundingClientRect();if(a.width||a.height)return[Manipulator[n](t).top+i,r]}return null})).filter((function(e){return e})).sort((function(e,t){return e[0]-t[0]})).forEach((function(t){e._offsets.push(t[0]),e._targets.push(t[1])}))},t.dispose=function(){Data.removeData(this._element,DATA_KEY$8),EventHandler.off(this._scrollElement,EVENT_KEY$8),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},t._getConfig=function(e){if("string"!=typeof(e=_objectSpread2({},Default$6,{},"object"==typeof e&&e?e:{})).target){var t=e.target.id;t||(t=getUID(NAME$8),e.target.id=t),e.target="#"+t}return typeCheckConfig(NAME$8,e,DefaultType$6),e},t._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},t._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},t._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},t._process=function(){var e=this._getScrollTop()+this._config.offset,t=this._getScrollHeight(),n=this._config.offset+t-this._getOffsetHeight();if(this._scrollHeight!==t&&this.refresh(),e>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&e<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(var r=this._offsets.length;r--;){this._activeTarget!==this._targets[r]&&e>=this._offsets[r]&&(void 0===this._offsets[r+1]||e<this._offsets[r+1])&&this._activate(this._targets[r])}}},t._activate=function(e){this._activeTarget=e,this._clear();var t=this._selector.split(",").map((function(t){return t+'[data-target="'+e+'"],'+t+'[href="'+e+'"]'})),n=SelectorEngine.findOne(t.join(","));n.classList.contains(ClassName$8.DROPDOWN_ITEM)?(SelectorEngine.findOne(Selector$8.DROPDOWN_TOGGLE,SelectorEngine.closest(n,Selector$8.DROPDOWN)).classList.add(ClassName$8.ACTIVE),n.classList.add(ClassName$8.ACTIVE)):(n.classList.add(ClassName$8.ACTIVE),SelectorEngine.parents(n,Selector$8.NAV_LIST_GROUP).forEach((function(e){SelectorEngine.prev(e,Selector$8.NAV_LINKS+", "+Selector$8.LIST_ITEMS).forEach((function(e){return e.classList.add(ClassName$8.ACTIVE)})),SelectorEngine.prev(e,Selector$8.NAV_ITEMS).forEach((function(e){SelectorEngine.children(e,Selector$8.NAV_LINKS).forEach((function(e){return e.classList.add(ClassName$8.ACTIVE)}))}))}))),EventHandler.trigger(this._scrollElement,Event$9.ACTIVATE,{relatedTarget:e})},t._clear=function(){makeArray(SelectorEngine.find(this._selector)).filter((function(e){return e.classList.contains(ClassName$8.ACTIVE)})).forEach((function(e){return e.classList.remove(ClassName$8.ACTIVE)}))},e.jQueryInterface=function(t){return this.each((function(){var n=Data.getData(this,DATA_KEY$8);if(n||(n=new e(this,"object"==typeof t&&t)),"string"==typeof t){if(void 0===n[t])throw new TypeError('No method named "'+t+'"');n[t]()}}))},e.getInstance=function(e){return Data.getData(e,DATA_KEY$8)},_createClass(e,null,[{key:"VERSION",get:function(){return VERSION$8}},{key:"Default",get:function(){return Default$6}}]),e}();EventHandler.on(window,Event$9.LOAD_DATA_API,(function(){makeArray(SelectorEngine.find(Selector$8.DATA_SPY)).forEach((function(e){return new ScrollSpy(e,Manipulator.getDataAttributes(e))}))}));var $$9=getjQuery();if($$9){var JQUERY_NO_CONFLICT$8=$$9.fn[NAME$8];$$9.fn[NAME$8]=ScrollSpy.jQueryInterface,$$9.fn[NAME$8].Constructor=ScrollSpy,$$9.fn[NAME$8].noConflict=function(){return $$9.fn[NAME$8]=JQUERY_NO_CONFLICT$8,ScrollSpy.jQueryInterface}}var NAME$9="tab",VERSION$9="4.3.1",DATA_KEY$9="bs.tab",EVENT_KEY$9="."+DATA_KEY$9,DATA_API_KEY$7=".data-api",Event$a={HIDE:"hide"+EVENT_KEY$9,HIDDEN:"hidden"+EVENT_KEY$9,SHOW:"show"+EVENT_KEY$9,SHOWN:"shown"+EVENT_KEY$9,CLICK_DATA_API:"click"+EVENT_KEY$9+DATA_API_KEY$7},ClassName$9={DROPDOWN_MENU:"dropdown-menu",ACTIVE:"active",DISABLED:"disabled",FADE:"fade",SHOW:"show"},Selector$9={DROPDOWN:".dropdown",NAV_LIST_GROUP:".nav, .list-group",ACTIVE:".active",ACTIVE_UL:":scope > li > .active",DATA_TOGGLE:'[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',DROPDOWN_TOGGLE:".dropdown-toggle",DROPDOWN_ACTIVE_CHILD:":scope > .dropdown-menu .active"},Tab=function(){function e(e){this._element=e,Data.setData(this._element,DATA_KEY$9,this)}var t=e.prototype;return t.show=function(){var e=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&this._element.classList.contains(ClassName$9.ACTIVE)||this._element.classList.contains(ClassName$9.DISABLED))){var t,n=getElementFromSelector(this._element),i=SelectorEngine.closest(this._element,Selector$9.NAV_LIST_GROUP);if(i){var r="UL"===i.nodeName||"OL"===i.nodeName?Selector$9.ACTIVE_UL:Selector$9.ACTIVE;t=(t=makeArray(SelectorEngine.find(r,i)))[t.length-1]}var a=null;if(t&&(a=EventHandler.trigger(t,Event$a.HIDE,{relatedTarget:this._element})),!(EventHandler.trigger(this._element,Event$a.SHOW,{relatedTarget:t}).defaultPrevented||null!==a&&a.defaultPrevented)){this._activate(this._element,i);var o=function(){EventHandler.trigger(t,Event$a.HIDDEN,{relatedTarget:e._element}),EventHandler.trigger(e._element,Event$a.SHOWN,{relatedTarget:t})};n?this._activate(n,n.parentNode,o):o()}}},t.dispose=function(){Data.removeData(this._element,DATA_KEY$9),this._element=null},t._activate=function(e,t,n){var i=this,r=(!t||"UL"!==t.nodeName&&"OL"!==t.nodeName?SelectorEngine.children(t,Selector$9.ACTIVE):SelectorEngine.find(Selector$9.ACTIVE_UL,t))[0],a=n&&r&&r.classList.contains(ClassName$9.FADE),o=function(){return i._transitionComplete(e,r,n)};if(r&&a){var s=getTransitionDurationFromElement(r);r.classList.remove(ClassName$9.SHOW),EventHandler.one(r,TRANSITION_END,o),emulateTransitionEnd(r,s)}else o()},t._transitionComplete=function(e,t,n){if(t){t.classList.remove(ClassName$9.ACTIVE);var i=SelectorEngine.findOne(Selector$9.DROPDOWN_ACTIVE_CHILD,t.parentNode);i&&i.classList.remove(ClassName$9.ACTIVE),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!1)}(e.classList.add(ClassName$9.ACTIVE),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!0),reflow(e),e.classList.contains(ClassName$9.FADE)&&e.classList.add(ClassName$9.SHOW),e.parentNode&&e.parentNode.classList.contains(ClassName$9.DROPDOWN_MENU))&&(SelectorEngine.closest(e,Selector$9.DROPDOWN)&&makeArray(SelectorEngine.find(Selector$9.DROPDOWN_TOGGLE)).forEach((function(e){return e.classList.add(ClassName$9.ACTIVE)})),e.setAttribute("aria-expanded",!0));n&&n()},e.jQueryInterface=function(t){return this.each((function(){var n=Data.getData(this,DATA_KEY$9)||new e(this);if("string"==typeof t){if(void 0===n[t])throw new TypeError('No method named "'+t+'"');n[t]()}}))},e.getInstance=function(e){return Data.getData(e,DATA_KEY$9)},_createClass(e,null,[{key:"VERSION",get:function(){return VERSION$9}}]),e}();EventHandler.on(document,Event$a.CLICK_DATA_API,Selector$9.DATA_TOGGLE,(function(e){e.preventDefault(),(Data.getData(this,DATA_KEY$9)||new Tab(this)).show()}));var $$a=getjQuery();if($$a){var JQUERY_NO_CONFLICT$9=$$a.fn[NAME$9];$$a.fn[NAME$9]=Tab.jQueryInterface,$$a.fn[NAME$9].Constructor=Tab,$$a.fn[NAME$9].noConflict=function(){return $$a.fn[NAME$9]=JQUERY_NO_CONFLICT$9,Tab.jQueryInterface}}var NAME$a="toast",VERSION$a="4.3.1",DATA_KEY$a="bs.toast",EVENT_KEY$a="."+DATA_KEY$a,Event$b={CLICK_DISMISS:"click.dismiss"+EVENT_KEY$a,HIDE:"hide"+EVENT_KEY$a,HIDDEN:"hidden"+EVENT_KEY$a,SHOW:"show"+EVENT_KEY$a,SHOWN:"shown"+EVENT_KEY$a},ClassName$a={FADE:"fade",HIDE:"hide",SHOW:"show",SHOWING:"showing"},DefaultType$7={animation:"boolean",autohide:"boolean",delay:"number"},Default$7={animation:!0,autohide:!0,delay:500},Selector$a={DATA_DISMISS:'[data-dismiss="toast"]'},Toast=function(){function e(e,t){this._element=e,this._config=this._getConfig(t),this._timeout=null,this._setListeners(),Data.setData(e,DATA_KEY$a,this)}var t=e.prototype;return t.show=function(){var e=this;if(!EventHandler.trigger(this._element,Event$b.SHOW).defaultPrevented){this._config.animation&&this._element.classList.add(ClassName$a.FADE);var t=function(){e._element.classList.remove(ClassName$a.SHOWING),e._element.classList.add(ClassName$a.SHOW),EventHandler.trigger(e._element,Event$b.SHOWN),e._config.autohide&&(e._timeout=setTimeout((function(){e.hide()}),e._config.delay))};if(this._element.classList.remove(ClassName$a.HIDE),reflow(this._element),this._element.classList.add(ClassName$a.SHOWING),this._config.animation){var n=getTransitionDurationFromElement(this._element);EventHandler.one(this._element,TRANSITION_END,t),emulateTransitionEnd(this._element,n)}else t()}},t.hide=function(){var e=this;if(this._element.classList.contains(ClassName$a.SHOW)&&!EventHandler.trigger(this._element,Event$b.HIDE).defaultPrevented){var t=function(){e._element.classList.add(ClassName$a.HIDE),EventHandler.trigger(e._element,Event$b.HIDDEN)};if(this._element.classList.remove(ClassName$a.SHOW),this._config.animation){var n=getTransitionDurationFromElement(this._element);EventHandler.one(this._element,TRANSITION_END,t),emulateTransitionEnd(this._element,n)}else t()}},t.dispose=function(){clearTimeout(this._timeout),this._timeout=null,this._element.classList.contains(ClassName$a.SHOW)&&this._element.classList.remove(ClassName$a.SHOW),EventHandler.off(this._element,Event$b.CLICK_DISMISS),Data.removeData(this._element,DATA_KEY$a),this._element=null,this._config=null},t._getConfig=function(e){return e=_objectSpread2({},Default$7,{},Manipulator.getDataAttributes(this._element),{},"object"==typeof e&&e?e:{}),typeCheckConfig(NAME$a,e,this.constructor.DefaultType),e},t._setListeners=function(){var e=this;EventHandler.on(this._element,Event$b.CLICK_DISMISS,Selector$a.DATA_DISMISS,(function(){return e.hide()}))},e.jQueryInterface=function(t){return this.each((function(){var n=Data.getData(this,DATA_KEY$a);if(n||(n=new e(this,"object"==typeof t&&t)),"string"==typeof t){if(void 0===n[t])throw new TypeError('No method named "'+t+'"');n[t](this)}}))},e.getInstance=function(e){return Data.getData(e,DATA_KEY$a)},_createClass(e,null,[{key:"VERSION",get:function(){return VERSION$a}},{key:"DefaultType",get:function(){return DefaultType$7}},{key:"Default",get:function(){return Default$7}}]),e}(),$$b=getjQuery();if($$b){var JQUERY_NO_CONFLICT$a=$$b.fn[NAME$a];$$b.fn[NAME$a]=Toast.jQueryInterface,$$b.fn[NAME$a].Constructor=Toast,$$b.fn[NAME$a].noConflict=function(){return $$b.fn[NAME$a]=JQUERY_NO_CONFLICT$a,Toast.jQueryInterface}}export{Alert,Button,Carousel,Collapse,Dropdown,Modal,Popover,ScrollSpy,Tab,Toast,Tooltip};
+import Popper from"popper.js";function _defineProperties(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function _createClass(e,t,n){return t&&_defineProperties(e.prototype,t),n&&_defineProperties(e,n),e}function _defineProperty(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ownKeys(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function _objectSpread2(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(n),!0).forEach((function(t){_defineProperty(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function _inheritsLoose(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}var MAX_UID=1e6,MILLISECONDS_MULTIPLIER=1e3,TRANSITION_END="transitionend",toType=function(e){return null==e?""+e:{}.toString.call(e).match(/\s([a-z]+)/i)[1].toLowerCase()},getUID=function(e){do{e+=~~(Math.random()*MAX_UID)}while(document.getElementById(e));return e},getSelector=function(e){var t=e.getAttribute("data-target");if(!t||"#"===t){var n=e.getAttribute("href");t=n&&"#"!==n?n.trim():null}return t},getSelectorFromElement=function(e){var t=getSelector(e);return t&&document.querySelector(t)?t:null},getElementFromSelector=function(e){var t=getSelector(e);return t?document.querySelector(t):null},getTransitionDurationFromElement=function(e){if(!e)return 0;var t=window.getComputedStyle(e),n=t.transitionDuration,i=t.transitionDelay,r=parseFloat(n),o=parseFloat(i);return r||o?(n=n.split(",")[0],i=i.split(",")[0],(parseFloat(n)+parseFloat(i))*MILLISECONDS_MULTIPLIER):0},triggerTransitionEnd=function(e){e.dispatchEvent(new Event(TRANSITION_END))},isElement=function(e){return(e[0]||e).nodeType},emulateTransitionEnd=function(e,t){var n=!1,i=t+5;e.addEventListener(TRANSITION_END,(function t(){n=!0,e.removeEventListener(TRANSITION_END,t)})),setTimeout((function(){n||triggerTransitionEnd(e)}),i)},typeCheckConfig=function(e,t,n){Object.keys(n).forEach((function(i){var r=n[i],o=t[i],a=o&&isElement(o)?"element":toType(o);if(!new RegExp(r).test(a))throw new Error(e.toUpperCase()+': Option "'+i+'" provided type "'+a+'" but expected type "'+r+'".')}))},isVisible=function(e){if(!e)return!1;if(e.style&&e.parentNode&&e.parentNode.style){var t=getComputedStyle(e),n=getComputedStyle(e.parentNode);return"none"!==t.display&&"none"!==n.display&&"hidden"!==t.visibility}return!1},findShadowRoot=function e(t){if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){var n=t.getRootNode();return n instanceof ShadowRoot?n:null}return t instanceof ShadowRoot?t:t.parentNode?e(t.parentNode):null},noop=function(){return function(){}},reflow=function(e){return e.offsetHeight},getjQuery=function(){var e=window.jQuery;return e&&!document.body.hasAttribute("data-no-jquery")?e:null},mapData=function(){var e={},t=1;return{set:function(n,i,r){void 0===n.key&&(n.key={key:i,id:t},t++),e[n.key.id]=r},get:function(t,n){if(!t||void 0===t.key)return null;var i=t.key;return i.key===n?e[i.id]:null},delete:function(t,n){if(void 0!==t.key){var i=t.key;i.key===n&&(delete e[i.id],delete t.key)}}}}(),Data={setData:function(e,t,n){mapData.set(e,t,n)},getData:function(e,t){return mapData.get(e,t)},removeData:function(e,t){mapData.delete(e,t)}},find=Element.prototype.querySelectorAll,findOne=Element.prototype.querySelector,defaultPreventedPreservedOnDispatch=function(){var e=new CustomEvent("Bootstrap",{cancelable:!0}),t=document.createElement("div");return t.addEventListener("Bootstrap",(function(){return null})),e.preventDefault(),t.dispatchEvent(e),e.defaultPrevented}(),scopeSelectorRegex=/:scope\b/,supportScopeQuery=function(){var e=document.createElement("div");try{e.querySelectorAll(":scope *")}catch(e){return!1}return!0}();supportScopeQuery||(find=function(e){if(!scopeSelectorRegex.test(e))return this.querySelectorAll(e);var t=Boolean(this.id);t||(this.id=getUID("scope"));var n=null;try{e=e.replace(scopeSelectorRegex,"#"+this.id),n=this.querySelectorAll(e)}finally{t||this.removeAttribute("id")}return n},findOne=function(e){if(!scopeSelectorRegex.test(e))return this.querySelector(e);var t=find.call(this,e);return void 0!==t[0]?t[0]:null});var $=getjQuery(),namespaceRegex=/[^.]*(?=\..*)\.|.*/,stripNameRegex=/\..*/,keyEventRegex=/^key/,stripUidRegex=/::\d+$/,eventRegistry={},uidEvent=1,customEvents={mouseenter:"mouseover",mouseleave:"mouseout"},nativeEvents=["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"];function getUidEvent(e,t){return t&&t+"::"+uidEvent++||e.uidEvent||uidEvent++}function getEvent(e){var t=getUidEvent(e);return e.uidEvent=t,eventRegistry[t]=eventRegistry[t]||{},eventRegistry[t]}function fixEvent(e,t){null===e.which&&keyEventRegex.test(e.type)&&(e.which=null===e.charCode?e.keyCode:e.charCode),e.delegateTarget=t}function bootstrapHandler(e,t){return function n(i){return fixEvent(i,e),n.oneOff&&EventHandler.off(e,i.type,t),t.apply(e,[i])}}function bootstrapDelegationHandler(e,t,n){return function i(r){for(var o=e.querySelectorAll(t),a=r.target;a&&a!==this;a=a.parentNode)for(var s=o.length;s--;)if(o[s]===a)return fixEvent(r,a),i.oneOff&&EventHandler.off(e,r.type,n),n.apply(a,[r]);return null}}function findHandler(e,t,n){void 0===n&&(n=null);for(var i=Object.keys(e),r=0,o=i.length;r<o;r++){var a=e[i[r]];if(a.originalHandler===t&&a.delegationSelector===n)return a}return null}function normalizeParams(e,t,n){var i="string"==typeof t,r=i?n:t,o=e.replace(stripNameRegex,""),a=customEvents[o];return a&&(o=a),nativeEvents.indexOf(o)>-1||(o=e),[i,r,o]}function addHandler(e,t,n,i,r){if("string"==typeof t&&e){n||(n=i,i=null);var o=normalizeParams(t,n,i),a=o[0],s=o[1],E=o[2],l=getEvent(e),_=l[E]||(l[E]={}),c=findHandler(_,s,a?n:null);if(c)c.oneOff=c.oneOff&&r;else{var u=getUidEvent(s,t.replace(namespaceRegex,"")),f=a?bootstrapDelegationHandler(e,n,i):bootstrapHandler(e,n);f.delegationSelector=a?n:null,f.originalHandler=s,f.oneOff=r,f.uidEvent=u,_[u]=f,e.addEventListener(E,f,a)}}}function removeHandler(e,t,n,i,r){var o=findHandler(t[n],i,r);o&&(e.removeEventListener(n,o,Boolean(r)),delete t[n][o.uidEvent])}function removeNamespacedHandlers(e,t,n,i){var r=t[n]||{};Object.keys(r).forEach((function(o){if(o.indexOf(i)>-1){var a=r[o];removeHandler(e,t,n,a.originalHandler,a.delegationSelector)}}))}var EventHandler={on:function(e,t,n,i){addHandler(e,t,n,i,!1)},one:function(e,t,n,i){addHandler(e,t,n,i,!0)},off:function(e,t,n,i){if("string"==typeof t&&e){var r=normalizeParams(t,n,i),o=r[0],a=r[1],s=r[2],E=s!==t,l=getEvent(e),_="."===t.charAt(0);if(void 0===a){_&&Object.keys(l).forEach((function(n){removeNamespacedHandlers(e,l,n,t.slice(1))}));var c=l[s]||{};Object.keys(c).forEach((function(n){var i=n.replace(stripUidRegex,"");if(!E||t.indexOf(i)>-1){var r=c[n];removeHandler(e,l,s,r.originalHandler,r.delegationSelector)}}))}else{if(!l||!l[s])return;removeHandler(e,l,s,a,o?n:null)}}},trigger:function(e,t,n){if("string"!=typeof t||!e)return null;var i,r=t.replace(stripNameRegex,""),o=t!==r,a=nativeEvents.indexOf(r)>-1,s=!0,E=!0,l=!1,_=null;return o&&$&&(i=$.Event(t,n),$(e).trigger(i),s=!i.isPropagationStopped(),E=!i.isImmediatePropagationStopped(),l=i.isDefaultPrevented()),a?(_=document.createEvent("HTMLEvents")).initEvent(r,s,!0):_=new CustomEvent(t,{bubbles:s,cancelable:!0}),void 0!==n&&Object.keys(n).forEach((function(e){Object.defineProperty(_,e,{get:function(){return n[e]}})})),l&&(_.preventDefault(),defaultPreventedPreservedOnDispatch||Object.defineProperty(_,"defaultPrevented",{get:function(){return!0}})),E&&e.dispatchEvent(_),_.defaultPrevented&&void 0!==i&&i.preventDefault(),_}},NODE_TEXT=3,SelectorEngine={matches:function(e,t){return e.matches(t)},find:function(e,t){var n;return void 0===t&&(t=document.documentElement),(n=[]).concat.apply(n,find.call(t,e))},findOne:function(e,t){return void 0===t&&(t=document.documentElement),findOne.call(t,e)},children:function(e,t){var n,i=(n=[]).concat.apply(n,e.children);return i.filter((function(e){return e.matches(t)}))},parents:function(e,t){for(var n=[],i=e.parentNode;i&&i.nodeType===Node.ELEMENT_NODE&&i.nodeType!==NODE_TEXT;)this.matches(i,t)&&n.push(i),i=i.parentNode;return n},closest:function(e,t){return e.closest(t)},prev:function(e,t){for(var n=e.previousElementSibling;n;){if(n.matches(t))return[n];n=n.previousElementSibling}return[]},next:function(e,t){for(var n=e.nextElementSibling;n;){if(this.matches(n,t))return[n];n=n.nextElementSibling}return[]}},NAME="alert",VERSION="4.3.1",DATA_KEY="bs.alert",EVENT_KEY="."+DATA_KEY,DATA_API_KEY=".data-api",SELECTOR_DISMISS='[data-dismiss="alert"]',EVENT_CLOSE="close"+EVENT_KEY,EVENT_CLOSED="closed"+EVENT_KEY,EVENT_CLICK_DATA_API="click"+EVENT_KEY+DATA_API_KEY,CLASSNAME_ALERT="alert",CLASSNAME_FADE="fade",CLASSNAME_SHOW="show",Alert=function(){function e(e){this._element=e,this._element&&Data.setData(e,DATA_KEY,this)}var t=e.prototype;return t.close=function(e){var t=this._element;e&&(t=this._getRootElement(e));var n=this._triggerCloseEvent(t);null===n||n.defaultPrevented||this._removeElement(t)},t.dispose=function(){Data.removeData(this._element,DATA_KEY),this._element=null},t._getRootElement=function(e){var t=getElementFromSelector(e);return t||(t=SelectorEngine.closest(e,"."+CLASSNAME_ALERT)),t},t._triggerCloseEvent=function(e){return EventHandler.trigger(e,EVENT_CLOSE)},t._removeElement=function(e){var t=this;if(e.classList.remove(CLASSNAME_SHOW),e.classList.contains(CLASSNAME_FADE)){var n=getTransitionDurationFromElement(e);EventHandler.one(e,TRANSITION_END,(function(){return t._destroyElement(e)})),emulateTransitionEnd(e,n)}else this._destroyElement(e)},t._destroyElement=function(e){e.parentNode&&e.parentNode.removeChild(e),EventHandler.trigger(e,EVENT_CLOSED)},e.jQueryInterface=function(t){return this.each((function(){var n=Data.getData(this,DATA_KEY);n||(n=new e(this)),"close"===t&&n[t](this)}))},e.handleDismiss=function(e){return function(t){t&&t.preventDefault(),e.close(this)}},e.getInstance=function(e){return Data.getData(e,DATA_KEY)},_createClass(e,null,[{key:"VERSION",get:function(){return VERSION}}]),e}();EventHandler.on(document,EVENT_CLICK_DATA_API,SELECTOR_DISMISS,Alert.handleDismiss(new Alert));var $$1=getjQuery();if($$1){var JQUERY_NO_CONFLICT=$$1.fn[NAME];$$1.fn[NAME]=Alert.jQueryInterface,$$1.fn[NAME].Constructor=Alert,$$1.fn[NAME].noConflict=function(){return $$1.fn[NAME]=JQUERY_NO_CONFLICT,Alert.jQueryInterface}}var NAME$1="button",VERSION$1="4.3.1",DATA_KEY$1="bs.button",EVENT_KEY$1="."+DATA_KEY$1,DATA_API_KEY$1=".data-api",CLASS_NAME_ACTIVE="active",CLASS_NAME_BUTTON="btn",CLASS_NAME_DISABLED="disabled",CLASS_NAME_FOCUS="focus",SELECTOR_DATA_TOGGLE_CARROT='[data-toggle^="button"]',SELECTOR_DATA_TOGGLE='[data-toggle="buttons"]',SELECTOR_INPUT='input:not([type="hidden"])',SELECTOR_ACTIVE=".active",SELECTOR_BUTTON=".btn",EVENT_CLICK_DATA_API$1="click"+EVENT_KEY$1+DATA_API_KEY$1,EVENT_FOCUS_DATA_API="focus"+EVENT_KEY$1+DATA_API_KEY$1,EVENT_BLUR_DATA_API="blur"+EVENT_KEY$1+DATA_API_KEY$1,Button=function(){function e(e){this._element=e,Data.setData(e,DATA_KEY$1,this)}var t=e.prototype;return t.toggle=function(){var e=!0,t=!0,n=SelectorEngine.closest(this._element,SELECTOR_DATA_TOGGLE);if(n){var i=SelectorEngine.findOne(SELECTOR_INPUT,this._element);if(i&&"radio"===i.type){if(i.checked&&this._element.classList.contains(CLASS_NAME_ACTIVE))e=!1;else{var r=SelectorEngine.findOne(SELECTOR_ACTIVE,n);r&&r.classList.remove(CLASS_NAME_ACTIVE)}if(e){if(i.hasAttribute("disabled")||n.hasAttribute("disabled")||i.classList.contains(CLASS_NAME_DISABLED)||n.classList.contains(CLASS_NAME_DISABLED))return;i.checked=!this._element.classList.contains(CLASS_NAME_ACTIVE),EventHandler.trigger(i,"change")}i.focus(),t=!1}}t&&this._element.setAttribute("aria-pressed",!this._element.classList.contains(CLASS_NAME_ACTIVE)),e&&this._element.classList.toggle(CLASS_NAME_ACTIVE)},t.dispose=function(){Data.removeData(this._element,DATA_KEY$1),this._element=null},e.jQueryInterface=function(t){return this.each((function(){var n=Data.getData(this,DATA_KEY$1);n||(n=new e(this)),"toggle"===t&&n[t]()}))},e.getInstance=function(e){return Data.getData(e,DATA_KEY$1)},_createClass(e,null,[{key:"VERSION",get:function(){return VERSION$1}}]),e}();EventHandler.on(document,EVENT_CLICK_DATA_API$1,SELECTOR_DATA_TOGGLE_CARROT,(function(e){e.preventDefault();var t=e.target;t.classList.contains(CLASS_NAME_BUTTON)||(t=SelectorEngine.closest(t,SELECTOR_BUTTON));var n=Data.getData(t,DATA_KEY$1);n||(n=new Button(t)),n.toggle()})),EventHandler.on(document,EVENT_FOCUS_DATA_API,SELECTOR_DATA_TOGGLE_CARROT,(function(e){var t=SelectorEngine.closest(e.target,SELECTOR_BUTTON);t&&t.classList.add(CLASS_NAME_FOCUS)})),EventHandler.on(document,EVENT_BLUR_DATA_API,SELECTOR_DATA_TOGGLE_CARROT,(function(e){var t=SelectorEngine.closest(e.target,SELECTOR_BUTTON);t&&t.classList.remove(CLASS_NAME_FOCUS)}));var $$2=getjQuery();if($$2){var JQUERY_NO_CONFLICT$1=$$2.fn[NAME$1];$$2.fn[NAME$1]=Button.jQueryInterface,$$2.fn[NAME$1].Constructor=Button,$$2.fn[NAME$1].noConflict=function(){return $$2.fn[NAME$1]=JQUERY_NO_CONFLICT$1,Button.jQueryInterface}}function normalizeData(e){return"true"===e||"false"!==e&&(e===Number(e).toString()?Number(e):""===e||"null"===e?null:e)}function normalizeDataKey(e){return e.replace(/[A-Z]/g,(function(e){return"-"+e.toLowerCase()}))}var Manipulator={setDataAttribute:function(e,t,n){e.setAttribute("data-"+normalizeDataKey(t),n)},removeDataAttribute:function(e,t){e.removeAttribute("data-"+normalizeDataKey(t))},getDataAttributes:function(e){if(!e)return{};var t=_objectSpread2({},e.dataset);return Object.keys(t).forEach((function(e){t[e]=normalizeData(t[e])})),t},getDataAttribute:function(e,t){return normalizeData(e.getAttribute("data-"+normalizeDataKey(t)))},offset:function(e){var t=e.getBoundingClientRect();return{top:t.top+document.body.scrollTop,left:t.left+document.body.scrollLeft}},position:function(e){return{top:e.offsetTop,left:e.offsetLeft}},toggleClass:function(e,t){e&&(e.classList.contains(t)?e.classList.remove(t):e.classList.add(t))}},NAME$2="carousel",VERSION$2="4.3.1",DATA_KEY$2="bs.carousel",EVENT_KEY$2="."+DATA_KEY$2,DATA_API_KEY$2=".data-api",ARROW_LEFT_KEYCODE=37,ARROW_RIGHT_KEYCODE=39,TOUCHEVENT_COMPAT_WAIT=500,SWIPE_THRESHOLD=40,Default={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},DefaultType={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},DIRECTION_NEXT="next",DIRECTION_PREV="prev",DIRECTION_LEFT="left",DIRECTION_RIGHT="right",EVENT_SLIDE="slide"+EVENT_KEY$2,EVENT_SLID="slid"+EVENT_KEY$2,EVENT_KEYDOWN="keydown"+EVENT_KEY$2,EVENT_MOUSEENTER="mouseenter"+EVENT_KEY$2,EVENT_MOUSELEAVE="mouseleave"+EVENT_KEY$2,EVENT_TOUCHSTART="touchstart"+EVENT_KEY$2,EVENT_TOUCHMOVE="touchmove"+EVENT_KEY$2,EVENT_TOUCHEND="touchend"+EVENT_KEY$2,EVENT_POINTERDOWN="pointerdown"+EVENT_KEY$2,EVENT_POINTERUP="pointerup"+EVENT_KEY$2,EVENT_DRAG_START="dragstart"+EVENT_KEY$2,EVENT_LOAD_DATA_API="load"+EVENT_KEY$2+DATA_API_KEY$2,EVENT_CLICK_DATA_API$2="click"+EVENT_KEY$2+DATA_API_KEY$2,CLASS_NAME_CAROUSEL="carousel",CLASS_NAME_ACTIVE$1="active",CLASS_NAME_SLIDE="slide",CLASS_NAME_RIGHT="carousel-item-right",CLASS_NAME_LEFT="carousel-item-left",CLASS_NAME_NEXT="carousel-item-next",CLASS_NAME_PREV="carousel-item-prev",CLASS_NAME_POINTER_EVENT="pointer-event",SELECTOR_ACTIVE$1=".active",SELECTOR_ACTIVE_ITEM=".active.carousel-item",SELECTOR_ITEM=".carousel-item",SELECTOR_ITEM_IMG=".carousel-item img",SELECTOR_NEXT_PREV=".carousel-item-next, .carousel-item-prev",SELECTOR_INDICATORS=".carousel-indicators",SELECTOR_DATA_SLIDE="[data-slide], [data-slide-to]",SELECTOR_DATA_RIDE='[data-ride="carousel"]',PointerType={TOUCH:"touch",PEN:"pen"},Carousel=function(){function e(e,t){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(t),this._element=e,this._indicatorsElement=SelectorEngine.findOne(SELECTOR_INDICATORS,this._element),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent||window.MSPointerEvent),this._addEventListeners(),Data.setData(e,DATA_KEY$2,this)}var t=e.prototype;return t.next=function(){this._isSliding||this._slide(DIRECTION_NEXT)},t.nextWhenVisible=function(){!document.hidden&&isVisible(this._element)&&this.next()},t.prev=function(){this._isSliding||this._slide(DIRECTION_PREV)},t.pause=function(e){e||(this._isPaused=!0),SelectorEngine.findOne(SELECTOR_NEXT_PREV,this._element)&&(triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},t.cycle=function(e){e||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config&&this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},t.to=function(e){var t=this;this._activeElement=SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM,this._element);var n=this._getItemIndex(this._activeElement);if(!(e>this._items.length-1||e<0))if(this._isSliding)EventHandler.one(this._element,EVENT_SLID,(function(){return t.to(e)}));else{if(n===e)return this.pause(),void this.cycle();var i=e>n?DIRECTION_NEXT:DIRECTION_PREV;this._slide(i,this._items[e])}},t.dispose=function(){EventHandler.off(this._element,EVENT_KEY$2),Data.removeData(this._element,DATA_KEY$2),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},t._getConfig=function(e){return e=_objectSpread2({},Default,{},e),typeCheckConfig(NAME$2,e,DefaultType),e},t._handleSwipe=function(){var e=Math.abs(this.touchDeltaX);if(!(e<=SWIPE_THRESHOLD)){var t=e/this.touchDeltaX;this.touchDeltaX=0,t>0&&this.prev(),t<0&&this.next()}},t._addEventListeners=function(){var e=this;this._config.keyboard&&EventHandler.on(this._element,EVENT_KEYDOWN,(function(t){return e._keydown(t)})),"hover"===this._config.pause&&(EventHandler.on(this._element,EVENT_MOUSEENTER,(function(t){return e.pause(t)})),EventHandler.on(this._element,EVENT_MOUSELEAVE,(function(t){return e.cycle(t)}))),this._config.touch&&this._touchSupported&&this._addTouchEventListeners()},t._addTouchEventListeners=function(){var e=this,t=function(t){e._pointerEvent&&PointerType[t.pointerType.toUpperCase()]?e.touchStartX=t.clientX:e._pointerEvent||(e.touchStartX=t.touches[0].clientX)},n=function(t){e._pointerEvent&&PointerType[t.pointerType.toUpperCase()]&&(e.touchDeltaX=t.clientX-e.touchStartX),e._handleSwipe(),"hover"===e._config.pause&&(e.pause(),e.touchTimeout&&clearTimeout(e.touchTimeout),e.touchTimeout=setTimeout((function(t){return e.cycle(t)}),TOUCHEVENT_COMPAT_WAIT+e._config.interval))};SelectorEngine.find(SELECTOR_ITEM_IMG,this._element).forEach((function(e){EventHandler.on(e,EVENT_DRAG_START,(function(e){return e.preventDefault()}))})),this._pointerEvent?(EventHandler.on(this._element,EVENT_POINTERDOWN,(function(e){return t(e)})),EventHandler.on(this._element,EVENT_POINTERUP,(function(e){return n(e)})),this._element.classList.add(CLASS_NAME_POINTER_EVENT)):(EventHandler.on(this._element,EVENT_TOUCHSTART,(function(e){return t(e)})),EventHandler.on(this._element,EVENT_TOUCHMOVE,(function(t){return function(t){t.touches&&t.touches.length>1?e.touchDeltaX=0:e.touchDeltaX=t.touches[0].clientX-e.touchStartX}(t)})),EventHandler.on(this._element,EVENT_TOUCHEND,(function(e){return n(e)})))},t._keydown=function(e){if(!/input|textarea/i.test(e.target.tagName))switch(e.which){case ARROW_LEFT_KEYCODE:e.preventDefault(),this.prev();break;case ARROW_RIGHT_KEYCODE:e.preventDefault(),this.next()}},t._getItemIndex=function(e){return this._items=e&&e.parentNode?SelectorEngine.find(SELECTOR_ITEM,e.parentNode):[],this._items.indexOf(e)},t._getItemByDirection=function(e,t){var n=e===DIRECTION_NEXT,i=e===DIRECTION_PREV,r=this._getItemIndex(t),o=this._items.length-1;if((i&&0===r||n&&r===o)&&!this._config.wrap)return t;var a=(r+(e===DIRECTION_PREV?-1:1))%this._items.length;return-1===a?this._items[this._items.length-1]:this._items[a]},t._triggerSlideEvent=function(e,t){var n=this._getItemIndex(e),i=this._getItemIndex(SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM,this._element));return EventHandler.trigger(this._element,EVENT_SLIDE,{relatedTarget:e,direction:t,from:i,to:n})},t._setActiveIndicatorElement=function(e){if(this._indicatorsElement){for(var t=SelectorEngine.find(SELECTOR_ACTIVE$1,this._indicatorsElement),n=0;n<t.length;n++)t[n].classList.remove(CLASS_NAME_ACTIVE$1);var i=this._indicatorsElement.children[this._getItemIndex(e)];i&&i.classList.add(CLASS_NAME_ACTIVE$1)}},t._slide=function(e,t){var n,i,r,o=this,a=SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM,this._element),s=this._getItemIndex(a),E=t||a&&this._getItemByDirection(e,a),l=this._getItemIndex(E),_=Boolean(this._interval);if(e===DIRECTION_NEXT?(n=CLASS_NAME_LEFT,i=CLASS_NAME_NEXT,r=DIRECTION_LEFT):(n=CLASS_NAME_RIGHT,i=CLASS_NAME_PREV,r=DIRECTION_RIGHT),E&&E.classList.contains(CLASS_NAME_ACTIVE$1))this._isSliding=!1;else if(!this._triggerSlideEvent(E,r).defaultPrevented&&a&&E){if(this._isSliding=!0,_&&this.pause(),this._setActiveIndicatorElement(E),this._element.classList.contains(CLASS_NAME_SLIDE)){E.classList.add(i),reflow(E),a.classList.add(n),E.classList.add(n);var c=parseInt(E.getAttribute("data-interval"),10);c?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=c):this._config.interval=this._config.defaultInterval||this._config.interval;var u=getTransitionDurationFromElement(a);EventHandler.one(a,TRANSITION_END,(function(){E.classList.remove(n),E.classList.remove(i),E.classList.add(CLASS_NAME_ACTIVE$1),a.classList.remove(CLASS_NAME_ACTIVE$1),a.classList.remove(i),a.classList.remove(n),o._isSliding=!1,setTimeout((function(){EventHandler.trigger(o._element,EVENT_SLID,{relatedTarget:E,direction:r,from:s,to:l})}),0)})),emulateTransitionEnd(a,u)}else a.classList.remove(CLASS_NAME_ACTIVE$1),E.classList.add(CLASS_NAME_ACTIVE$1),this._isSliding=!1,EventHandler.trigger(this._element,EVENT_SLID,{relatedTarget:E,direction:r,from:s,to:l});_&&this.cycle()}},e.carouselInterface=function(t,n){var i=Data.getData(t,DATA_KEY$2),r=_objectSpread2({},Default,{},Manipulator.getDataAttributes(t));"object"==typeof n&&(r=_objectSpread2({},r,{},n));var o="string"==typeof n?n:r.slide;if(i||(i=new e(t,r)),"number"==typeof n)i.to(n);else if("string"==typeof o){if(void 0===i[o])throw new TypeError('No method named "'+o+'"');i[o]()}else r.interval&&r.ride&&(i.pause(),i.cycle())},e.jQueryInterface=function(t){return this.each((function(){e.carouselInterface(this,t)}))},e.dataApiClickHandler=function(t){var n=getElementFromSelector(this);if(n&&n.classList.contains(CLASS_NAME_CAROUSEL)){var i=_objectSpread2({},Manipulator.getDataAttributes(n),{},Manipulator.getDataAttributes(this)),r=this.getAttribute("data-slide-to");r&&(i.interval=!1),e.carouselInterface(n,i),r&&Data.getData(n,DATA_KEY$2).to(r),t.preventDefault()}},e.getInstance=function(e){return Data.getData(e,DATA_KEY$2)},_createClass(e,null,[{key:"VERSION",get:function(){return VERSION$2}},{key:"Default",get:function(){return Default}}]),e}();EventHandler.on(document,EVENT_CLICK_DATA_API$2,SELECTOR_DATA_SLIDE,Carousel.dataApiClickHandler),EventHandler.on(window,EVENT_LOAD_DATA_API,(function(){for(var e=SelectorEngine.find(SELECTOR_DATA_RIDE),t=0,n=e.length;t<n;t++)Carousel.carouselInterface(e[t],Data.getData(e[t],DATA_KEY$2))}));var $$3=getjQuery();if($$3){var JQUERY_NO_CONFLICT$2=$$3.fn[NAME$2];$$3.fn[NAME$2]=Carousel.jQueryInterface,$$3.fn[NAME$2].Constructor=Carousel,$$3.fn[NAME$2].noConflict=function(){return $$3.fn[NAME$2]=JQUERY_NO_CONFLICT$2,Carousel.jQueryInterface}}var NAME$3="collapse",VERSION$3="4.3.1",DATA_KEY$3="bs.collapse",EVENT_KEY$3="."+DATA_KEY$3,DATA_API_KEY$3=".data-api",Default$1={toggle:!0,parent:""},DefaultType$1={toggle:"boolean",parent:"(string|element)"},EVENT_SHOW="show"+EVENT_KEY$3,EVENT_SHOWN="shown"+EVENT_KEY$3,EVENT_HIDE="hide"+EVENT_KEY$3,EVENT_HIDDEN="hidden"+EVENT_KEY$3,EVENT_CLICK_DATA_API$3="click"+EVENT_KEY$3+DATA_API_KEY$3,CLASS_NAME_SHOW="show",CLASS_NAME_COLLAPSE="collapse",CLASS_NAME_COLLAPSING="collapsing",CLASS_NAME_COLLAPSED="collapsed",WIDTH="width",HEIGHT="height",SELECTOR_ACTIVES=".show, .collapsing",SELECTOR_DATA_TOGGLE$1='[data-toggle="collapse"]',Collapse=function(){function e(e,t){this._isTransitioning=!1,this._element=e,this._config=this._getConfig(t),this._triggerArray=SelectorEngine.find(SELECTOR_DATA_TOGGLE$1+'[href="#'+e.id+'"],'+SELECTOR_DATA_TOGGLE$1+'[data-target="#'+e.id+'"]');for(var n=SelectorEngine.find(SELECTOR_DATA_TOGGLE$1),i=0,r=n.length;i<r;i++){var o=n[i],a=getSelectorFromElement(o),s=SelectorEngine.find(a).filter((function(t){return t===e}));null!==a&&s.length&&(this._selector=a,this._triggerArray.push(o))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle(),Data.setData(e,DATA_KEY$3,this)}var t=e.prototype;return t.toggle=function(){this._element.classList.contains(CLASS_NAME_SHOW)?this.hide():this.show()},t.show=function(){var t=this;if(!this._isTransitioning&&!this._element.classList.contains(CLASS_NAME_SHOW)){var n,i;this._parent&&0===(n=SelectorEngine.find(SELECTOR_ACTIVES,this._parent).filter((function(e){return"string"==typeof t._config.parent?e.getAttribute("data-parent")===t._config.parent:e.classList.contains(CLASS_NAME_COLLAPSE)}))).length&&(n=null);var r=SelectorEngine.findOne(this._selector);if(n){var o=n.filter((function(e){return r!==e}));if((i=o[0]?Data.getData(o[0],DATA_KEY$3):null)&&i._isTransitioning)return}if(!EventHandler.trigger(this._element,EVENT_SHOW).defaultPrevented){n&&n.forEach((function(t){r!==t&&e.collapseInterface(t,"hide"),i||Data.setData(t,DATA_KEY$3,null)}));var a=this._getDimension();this._element.classList.remove(CLASS_NAME_COLLAPSE),this._element.classList.add(CLASS_NAME_COLLAPSING),this._element.style[a]=0,this._triggerArray.length&&this._triggerArray.forEach((function(e){e.classList.remove(CLASS_NAME_COLLAPSED),e.setAttribute("aria-expanded",!0)})),this.setTransitioning(!0);var s="scroll"+(a[0].toUpperCase()+a.slice(1)),E=getTransitionDurationFromElement(this._element);EventHandler.one(this._element,TRANSITION_END,(function(){t._element.classList.remove(CLASS_NAME_COLLAPSING),t._element.classList.add(CLASS_NAME_COLLAPSE),t._element.classList.add(CLASS_NAME_SHOW),t._element.style[a]="",t.setTransitioning(!1),EventHandler.trigger(t._element,EVENT_SHOWN)})),emulateTransitionEnd(this._element,E),this._element.style[a]=this._element[s]+"px"}}},t.hide=function(){var e=this;if(!this._isTransitioning&&this._element.classList.contains(CLASS_NAME_SHOW)&&!EventHandler.trigger(this._element,EVENT_HIDE).defaultPrevented){var t=this._getDimension();this._element.style[t]=this._element.getBoundingClientRect()[t]+"px",reflow(this._element),this._element.classList.add(CLASS_NAME_COLLAPSING),this._element.classList.remove(CLASS_NAME_COLLAPSE),this._element.classList.remove(CLASS_NAME_SHOW);var n=this._triggerArray.length;if(n>0)for(var i=0;i<n;i++){var r=this._triggerArray[i],o=getElementFromSelector(r);o&&!o.classList.contains(CLASS_NAME_SHOW)&&(r.classList.add(CLASS_NAME_COLLAPSED),r.setAttribute("aria-expanded",!1))}this.setTransitioning(!0);this._element.style[t]="";var a=getTransitionDurationFromElement(this._element);EventHandler.one(this._element,TRANSITION_END,(function(){e.setTransitioning(!1),e._element.classList.remove(CLASS_NAME_COLLAPSING),e._element.classList.add(CLASS_NAME_COLLAPSE),EventHandler.trigger(e._element,EVENT_HIDDEN)})),emulateTransitionEnd(this._element,a)}},t.setTransitioning=function(e){this._isTransitioning=e},t.dispose=function(){Data.removeData(this._element,DATA_KEY$3),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},t._getConfig=function(e){return(e=_objectSpread2({},Default$1,{},e)).toggle=Boolean(e.toggle),typeCheckConfig(NAME$3,e,DefaultType$1),e},t._getDimension=function(){return this._element.classList.contains(WIDTH)?WIDTH:HEIGHT},t._getParent=function(){var e=this,t=this._config.parent;isElement(t)?void 0===t.jquery&&void 0===t[0]||(t=t[0]):t=SelectorEngine.findOne(t);var n=SELECTOR_DATA_TOGGLE$1+'[data-parent="'+t+'"]';return SelectorEngine.find(n,t).forEach((function(t){var n=getElementFromSelector(t);e._addAriaAndCollapsedClass(n,[t])})),t},t._addAriaAndCollapsedClass=function(e,t){if(e){var n=e.classList.contains(CLASS_NAME_SHOW);t.length&&t.forEach((function(e){n?e.classList.remove(CLASS_NAME_COLLAPSED):e.classList.add(CLASS_NAME_COLLAPSED),e.setAttribute("aria-expanded",n)}))}},e.collapseInterface=function(t,n){var i=Data.getData(t,DATA_KEY$3),r=_objectSpread2({},Default$1,{},Manipulator.getDataAttributes(t),{},"object"==typeof n&&n?n:{});if(!i&&r.toggle&&/show|hide/.test(n)&&(r.toggle=!1),i||(i=new e(t,r)),"string"==typeof n){if(void 0===i[n])throw new TypeError('No method named "'+n+'"');i[n]()}},e.jQueryInterface=function(t){return this.each((function(){e.collapseInterface(this,t)}))},e.getInstance=function(e){return Data.getData(e,DATA_KEY$3)},_createClass(e,null,[{key:"VERSION",get:function(){return VERSION$3}},{key:"Default",get:function(){return Default$1}}]),e}();EventHandler.on(document,EVENT_CLICK_DATA_API$3,SELECTOR_DATA_TOGGLE$1,(function(e){"A"===e.target.tagName&&e.preventDefault();var t=Manipulator.getDataAttributes(this),n=getSelectorFromElement(this);SelectorEngine.find(n).forEach((function(e){var n,i=Data.getData(e,DATA_KEY$3);i?(null===i._parent&&"string"==typeof t.parent&&(i._config.parent=t.parent,i._parent=i._getParent()),n="toggle"):n=t,Collapse.collapseInterface(e,n)}))}));var $$4=getjQuery();if($$4){var JQUERY_NO_CONFLICT$3=$$4.fn[NAME$3];$$4.fn[NAME$3]=Collapse.jQueryInterface,$$4.fn[NAME$3].Constructor=Collapse,$$4.fn[NAME$3].noConflict=function(){return $$4.fn[NAME$3]=JQUERY_NO_CONFLICT$3,Collapse.jQueryInterface}}var NAME$4="dropdown",VERSION$4="4.3.1",DATA_KEY$4="bs.dropdown",EVENT_KEY$4="."+DATA_KEY$4,DATA_API_KEY$4=".data-api",ESCAPE_KEYCODE=27,SPACE_KEYCODE=32,TAB_KEYCODE=9,ARROW_UP_KEYCODE=38,ARROW_DOWN_KEYCODE=40,RIGHT_MOUSE_BUTTON_WHICH=3,REGEXP_KEYDOWN=new RegExp(ARROW_UP_KEYCODE+"|"+ARROW_DOWN_KEYCODE+"|"+ESCAPE_KEYCODE),EVENT_HIDE$1="hide"+EVENT_KEY$4,EVENT_HIDDEN$1="hidden"+EVENT_KEY$4,EVENT_SHOW$1="show"+EVENT_KEY$4,EVENT_SHOWN$1="shown"+EVENT_KEY$4,EVENT_CLICK="click"+EVENT_KEY$4,EVENT_CLICK_DATA_API$4="click"+EVENT_KEY$4+DATA_API_KEY$4,EVENT_KEYDOWN_DATA_API="keydown"+EVENT_KEY$4+DATA_API_KEY$4,EVENT_KEYUP_DATA_API="keyup"+EVENT_KEY$4+DATA_API_KEY$4,CLASS_NAME_DISABLED$1="disabled",CLASS_NAME_SHOW$1="show",CLASS_NAME_DROPUP="dropup",CLASS_NAME_DROPRIGHT="dropright",CLASS_NAME_DROPLEFT="dropleft",CLASS_NAME_MENURIGHT="dropdown-menu-right",CLASS_NAME_NAVBAR="navbar",CLASS_NAME_POSITION_STATIC="position-static",SELECTOR_DATA_TOGGLE$2='[data-toggle="dropdown"]',SELECTOR_FORM_CHILD=".dropdown form",SELECTOR_MENU=".dropdown-menu",SELECTOR_NAVBAR_NAV=".navbar-nav",SELECTOR_VISIBLE_ITEMS=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",PLACEMENT_TOP="top-start",PLACEMENT_TOPEND="top-end",PLACEMENT_BOTTOM="bottom-start",PLACEMENT_BOTTOMEND="bottom-end",PLACEMENT_RIGHT="right-start",PLACEMENT_LEFT="left-start",Default$2={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic",popperConfig:null},DefaultType$2={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string",popperConfig:"(null|object)"},Dropdown=function(){function e(e,t){this._element=e,this._popper=null,this._config=this._getConfig(t),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners(),Data.setData(e,DATA_KEY$4,this)}var t=e.prototype;return t.toggle=function(){if(!this._element.disabled&&!this._element.classList.contains(CLASS_NAME_DISABLED$1)){var t=this._element.classList.contains(CLASS_NAME_SHOW$1);e.clearMenus(),t||this.show()}},t.show=function(){if(!(this._element.disabled||this._element.classList.contains(CLASS_NAME_DISABLED$1)||this._menu.classList.contains(CLASS_NAME_SHOW$1))){var t=e.getParentFromElement(this._element),n={relatedTarget:this._element};if(!EventHandler.trigger(this._element,EVENT_SHOW$1,n).defaultPrevented){if(!this._inNavbar){if(void 0===Popper)throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org)");var i=this._element;"parent"===this._config.reference?i=t:isElement(this._config.reference)&&(i=this._config.reference,void 0!==this._config.reference.jquery&&(i=this._config.reference[0])),"scrollParent"!==this._config.boundary&&t.classList.add(CLASS_NAME_POSITION_STATIC),this._popper=new Popper(i,this._menu,this._getPopperConfig())}var r;if("ontouchstart"in document.documentElement&&!SelectorEngine.closest(t,SELECTOR_NAVBAR_NAV))(r=[]).concat.apply(r,document.body.children).forEach((function(e){return EventHandler.on(e,"mouseover",null,noop())}));this._element.focus(),this._element.setAttribute("aria-expanded",!0),Manipulator.toggleClass(this._menu,CLASS_NAME_SHOW$1),Manipulator.toggleClass(this._element,CLASS_NAME_SHOW$1),EventHandler.trigger(t,EVENT_SHOWN$1,n)}}},t.hide=function(){if(!this._element.disabled&&!this._element.classList.contains(CLASS_NAME_DISABLED$1)&&this._menu.classList.contains(CLASS_NAME_SHOW$1)){var t=e.getParentFromElement(this._element),n={relatedTarget:this._element};EventHandler.trigger(t,EVENT_HIDE$1,n).defaultPrevented||(this._popper&&this._popper.destroy(),Manipulator.toggleClass(this._menu,CLASS_NAME_SHOW$1),Manipulator.toggleClass(this._element,CLASS_NAME_SHOW$1),EventHandler.trigger(t,EVENT_HIDDEN$1,n))}},t.dispose=function(){Data.removeData(this._element,DATA_KEY$4),EventHandler.off(this._element,EVENT_KEY$4),this._element=null,this._menu=null,this._popper&&(this._popper.destroy(),this._popper=null)},t.update=function(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.scheduleUpdate()},t._addEventListeners=function(){var e=this;EventHandler.on(this._element,EVENT_CLICK,(function(t){t.preventDefault(),t.stopPropagation(),e.toggle()}))},t._getConfig=function(e){return e=_objectSpread2({},this.constructor.Default,{},Manipulator.getDataAttributes(this._element),{},e),typeCheckConfig(NAME$4,e,this.constructor.DefaultType),e},t._getMenuElement=function(){return SelectorEngine.next(this._element,SELECTOR_MENU)[0]},t._getPlacement=function(){var e=this._element.parentNode,t=PLACEMENT_BOTTOM;return e.classList.contains(CLASS_NAME_DROPUP)?(t=PLACEMENT_TOP,this._menu.classList.contains(CLASS_NAME_MENURIGHT)&&(t=PLACEMENT_TOPEND)):e.classList.contains(CLASS_NAME_DROPRIGHT)?t=PLACEMENT_RIGHT:e.classList.contains(CLASS_NAME_DROPLEFT)?t=PLACEMENT_LEFT:this._menu.classList.contains(CLASS_NAME_MENURIGHT)&&(t=PLACEMENT_BOTTOMEND),t},t._detectNavbar=function(){return Boolean(SelectorEngine.closest(this._element,"."+CLASS_NAME_NAVBAR))},t._getOffset=function(){var e=this,t={};return"function"==typeof this._config.offset?t.fn=function(t){return t.offsets=_objectSpread2({},t.offsets,{},e._config.offset(t.offsets,e._element)||{}),t}:t.offset=this._config.offset,t},t._getPopperConfig=function(){var e={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(e.modifiers.applyStyle={enabled:!1}),_objectSpread2({},e,{},this._config.popperConfig)},e.dropdownInterface=function(t,n){var i=Data.getData(t,DATA_KEY$4);if(i||(i=new e(t,"object"==typeof n?n:null)),"string"==typeof n){if(void 0===i[n])throw new TypeError('No method named "'+n+'"');i[n]()}},e.jQueryInterface=function(t){return this.each((function(){e.dropdownInterface(this,t)}))},e.clearMenus=function(t){if(!t||t.which!==RIGHT_MOUSE_BUTTON_WHICH&&("keyup"!==t.type||t.which===TAB_KEYCODE))for(var n=SelectorEngine.find(SELECTOR_DATA_TOGGLE$2),i=0,r=n.length;i<r;i++){var o=e.getParentFromElement(n[i]),a=Data.getData(n[i],DATA_KEY$4),s={relatedTarget:n[i]};if(t&&"click"===t.type&&(s.clickEvent=t),a){var E=a._menu;if(n[i].classList.contains(CLASS_NAME_SHOW$1))if(!(t&&("click"===t.type&&/input|textarea/i.test(t.target.tagName)||"keyup"===t.type&&t.which===TAB_KEYCODE)&&E.contains(t.target)))if(!EventHandler.trigger(o,EVENT_HIDE$1,s).defaultPrevented){var l;if("ontouchstart"in document.documentElement)(l=[]).concat.apply(l,document.body.children).forEach((function(e){return EventHandler.off(e,"mouseover",null,noop())}));n[i].setAttribute("aria-expanded","false"),a._popper&&a._popper.destroy(),E.classList.remove(CLASS_NAME_SHOW$1),n[i].classList.remove(CLASS_NAME_SHOW$1),EventHandler.trigger(o,EVENT_HIDDEN$1,s)}}}},e.getParentFromElement=function(e){return getElementFromSelector(e)||e.parentNode},e.dataApiKeydownHandler=function(t){if(!(/input|textarea/i.test(t.target.tagName)?t.which===SPACE_KEYCODE||t.which!==ESCAPE_KEYCODE&&(t.which!==ARROW_DOWN_KEYCODE&&t.which!==ARROW_UP_KEYCODE||SelectorEngine.closest(t.target,SELECTOR_MENU)):!REGEXP_KEYDOWN.test(t.which))&&(t.preventDefault(),t.stopPropagation(),!this.disabled&&!this.classList.contains(CLASS_NAME_DISABLED$1))){var n=e.getParentFromElement(this),i=this.classList.contains(CLASS_NAME_SHOW$1);if(t.which===ESCAPE_KEYCODE)return(this.matches(SELECTOR_DATA_TOGGLE$2)?this:SelectorEngine.prev(this,SELECTOR_DATA_TOGGLE$2)[0]).focus(),void e.clearMenus();if(i&&t.which!==SPACE_KEYCODE){var r=SelectorEngine.find(SELECTOR_VISIBLE_ITEMS,n).filter(isVisible);if(r.length){var o=r.indexOf(t.target)||0;t.which===ARROW_UP_KEYCODE&&o>0&&o--,t.which===ARROW_DOWN_KEYCODE&&o<r.length-1&&o++,r[o].focus()}}else e.clearMenus()}},e.getInstance=function(e){return Data.getData(e,DATA_KEY$4)},_createClass(e,null,[{key:"VERSION",get:function(){return VERSION$4}},{key:"Default",get:function(){return Default$2}},{key:"DefaultType",get:function(){return DefaultType$2}}]),e}();EventHandler.on(document,EVENT_KEYDOWN_DATA_API,SELECTOR_DATA_TOGGLE$2,Dropdown.dataApiKeydownHandler),EventHandler.on(document,EVENT_KEYDOWN_DATA_API,SELECTOR_MENU,Dropdown.dataApiKeydownHandler),EventHandler.on(document,EVENT_CLICK_DATA_API$4,Dropdown.clearMenus),EventHandler.on(document,EVENT_KEYUP_DATA_API,Dropdown.clearMenus),EventHandler.on(document,EVENT_CLICK_DATA_API$4,SELECTOR_DATA_TOGGLE$2,(function(e){e.preventDefault(),e.stopPropagation(),Dropdown.dropdownInterface(this,"toggle")})),EventHandler.on(document,EVENT_CLICK_DATA_API$4,SELECTOR_FORM_CHILD,(function(e){return e.stopPropagation()}));var $$5=getjQuery();if($$5){var JQUERY_NO_CONFLICT$4=$$5.fn[NAME$4];$$5.fn[NAME$4]=Dropdown.jQueryInterface,$$5.fn[NAME$4].Constructor=Dropdown,$$5.fn[NAME$4].noConflict=function(){return $$5.fn[NAME$4]=JQUERY_NO_CONFLICT$4,Dropdown.jQueryInterface}}var NAME$5="modal",VERSION$5="4.3.1",DATA_KEY$5="bs.modal",EVENT_KEY$5="."+DATA_KEY$5,DATA_API_KEY$5=".data-api",ESCAPE_KEYCODE$1=27,Default$3={backdrop:!0,keyboard:!0,focus:!0,show:!0},DefaultType$3={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},EVENT_HIDE$2="hide"+EVENT_KEY$5,EVENT_HIDE_PREVENTED="hidePrevented"+EVENT_KEY$5,EVENT_HIDDEN$2="hidden"+EVENT_KEY$5,EVENT_SHOW$2="show"+EVENT_KEY$5,EVENT_SHOWN$2="shown"+EVENT_KEY$5,EVENT_FOCUSIN="focusin"+EVENT_KEY$5,EVENT_RESIZE="resize"+EVENT_KEY$5,EVENT_CLICK_DISMISS="click.dismiss"+EVENT_KEY$5,EVENT_KEYDOWN_DISMISS="keydown.dismiss"+EVENT_KEY$5,EVENT_MOUSEUP_DISMISS="mouseup.dismiss"+EVENT_KEY$5,EVENT_MOUSEDOWN_DISMISS="mousedown.dismiss"+EVENT_KEY$5,EVENT_CLICK_DATA_API$5="click"+EVENT_KEY$5+DATA_API_KEY$5,CLASS_NAME_SCROLLABLE="modal-dialog-scrollable",CLASS_NAME_SCROLLBAR_MEASURER="modal-scrollbar-measure",CLASS_NAME_BACKDROP="modal-backdrop",CLASS_NAME_OPEN="modal-open",CLASS_NAME_FADE="fade",CLASS_NAME_SHOW$2="show",CLASS_NAME_STATIC="modal-static",SELECTOR_DIALOG=".modal-dialog",SELECTOR_MODAL_BODY=".modal-body",SELECTOR_DATA_TOGGLE$3='[data-toggle="modal"]',SELECTOR_DATA_DISMISS='[data-dismiss="modal"]',SELECTOR_FIXED_CONTENT=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",SELECTOR_STICKY_CONTENT=".sticky-top",Modal=function(){function e(e,t){this._config=this._getConfig(t),this._element=e,this._dialog=SelectorEngine.findOne(SELECTOR_DIALOG,e),this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollbarWidth=0,Data.setData(e,DATA_KEY$5,this)}var t=e.prototype;return t.toggle=function(e){return this._isShown?this.hide():this.show(e)},t.show=function(e){var t=this;if(!this._isShown&&!this._isTransitioning){this._element.classList.contains(CLASS_NAME_FADE)&&(this._isTransitioning=!0);var n=EventHandler.trigger(this._element,EVENT_SHOW$2,{relatedTarget:e});this._isShown||n.defaultPrevented||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),EventHandler.on(this._element,EVENT_CLICK_DISMISS,SELECTOR_DATA_DISMISS,(function(e){return t.hide(e)})),EventHandler.on(this._dialog,EVENT_MOUSEDOWN_DISMISS,(function(){EventHandler.one(t._element,EVENT_MOUSEUP_DISMISS,(function(e){e.target===t._element&&(t._ignoreBackdropClick=!0)}))})),this._showBackdrop((function(){return t._showElement(e)})))}},t.hide=function(e){var t=this;if((e&&e.preventDefault(),this._isShown&&!this._isTransitioning)&&!EventHandler.trigger(this._element,EVENT_HIDE$2).defaultPrevented){this._isShown=!1;var n=this._element.classList.contains(CLASS_NAME_FADE);if(n&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),EventHandler.off(document,EVENT_FOCUSIN),this._element.classList.remove(CLASS_NAME_SHOW$2),EventHandler.off(this._element,EVENT_CLICK_DISMISS),EventHandler.off(this._dialog,EVENT_MOUSEDOWN_DISMISS),n){var i=getTransitionDurationFromElement(this._element);EventHandler.one(this._element,TRANSITION_END,(function(e){return t._hideModal(e)})),emulateTransitionEnd(this._element,i)}else this._hideModal()}},t.dispose=function(){[window,this._element,this._dialog].forEach((function(e){return EventHandler.off(e,EVENT_KEY$5)})),EventHandler.off(document,EVENT_FOCUSIN),Data.removeData(this._element,DATA_KEY$5),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._isTransitioning=null,this._scrollbarWidth=null},t.handleUpdate=function(){this._adjustDialog()},t._getConfig=function(e){return e=_objectSpread2({},Default$3,{},e),typeCheckConfig(NAME$5,e,DefaultType$3),e},t._showElement=function(e){var t=this,n=this._element.classList.contains(CLASS_NAME_FADE),i=SelectorEngine.findOne(SELECTOR_MODAL_BODY,this._dialog);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._dialog.classList.contains(CLASS_NAME_SCROLLABLE)&&i?i.scrollTop=0:this._element.scrollTop=0,n&&reflow(this._element),this._element.classList.add(CLASS_NAME_SHOW$2),this._config.focus&&this._enforceFocus();var r=function(){t._config.focus&&t._element.focus(),t._isTransitioning=!1,EventHandler.trigger(t._element,EVENT_SHOWN$2,{relatedTarget:e})};if(n){var o=getTransitionDurationFromElement(this._dialog);EventHandler.one(this._dialog,TRANSITION_END,r),emulateTransitionEnd(this._dialog,o)}else r()},t._enforceFocus=function(){var e=this;EventHandler.off(document,EVENT_FOCUSIN),EventHandler.on(document,EVENT_FOCUSIN,(function(t){document===t.target||e._element===t.target||e._element.contains(t.target)||e._element.focus()}))},t._setEscapeEvent=function(){var e=this;this._isShown?EventHandler.on(this._element,EVENT_KEYDOWN_DISMISS,(function(t){e._config.keyboard&&t.which===ESCAPE_KEYCODE$1?(t.preventDefault(),e.hide()):e._config.keyboard||t.which!==ESCAPE_KEYCODE$1||e._triggerBackdropTransition()})):EventHandler.off(this._element,EVENT_KEYDOWN_DISMISS)},t._setResizeEvent=function(){var e=this;this._isShown?EventHandler.on(window,EVENT_RESIZE,(function(){return e._adjustDialog()})):EventHandler.off(window,EVENT_RESIZE)},t._hideModal=function(){var e=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._isTransitioning=!1,this._showBackdrop((function(){document.body.classList.remove(CLASS_NAME_OPEN),e._resetAdjustments(),e._resetScrollbar(),EventHandler.trigger(e._element,EVENT_HIDDEN$2)}))},t._removeBackdrop=function(){this._backdrop.parentNode.removeChild(this._backdrop),this._backdrop=null},t._showBackdrop=function(e){var t=this,n=this._element.classList.contains(CLASS_NAME_FADE)?CLASS_NAME_FADE:"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className=CLASS_NAME_BACKDROP,n&&this._backdrop.classList.add(n),document.body.appendChild(this._backdrop),EventHandler.on(this._element,EVENT_CLICK_DISMISS,(function(e){t._ignoreBackdropClick?t._ignoreBackdropClick=!1:e.target===e.currentTarget&&t._triggerBackdropTransition()})),n&&reflow(this._backdrop),this._backdrop.classList.add(CLASS_NAME_SHOW$2),!n)return void e();var i=getTransitionDurationFromElement(this._backdrop);EventHandler.one(this._backdrop,TRANSITION_END,e),emulateTransitionEnd(this._backdrop,i)}else if(!this._isShown&&this._backdrop){this._backdrop.classList.remove(CLASS_NAME_SHOW$2);var r=function(){t._removeBackdrop(),e()};if(this._element.classList.contains(CLASS_NAME_FADE)){var o=getTransitionDurationFromElement(this._backdrop);EventHandler.one(this._backdrop,TRANSITION_END,r),emulateTransitionEnd(this._backdrop,o)}else r()}else e()},t._triggerBackdropTransition=function(){var e=this;if("static"===this._config.backdrop){if(EventHandler.trigger(this._element,EVENT_HIDE_PREVENTED).defaultPrevented)return;this._element.classList.add(CLASS_NAME_STATIC);var t=getTransitionDurationFromElement(this._element);EventHandler.one(this._element,TRANSITION_END,(function(){e._element.classList.remove(CLASS_NAME_STATIC)})),emulateTransitionEnd(this._element,t),this._element.focus()}else this.hide()},t._adjustDialog=function(){var e=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&e&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!e&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},t._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},t._checkScrollbar=function(){var e=document.body.getBoundingClientRect();this._isBodyOverflowing=e.left+e.right<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},t._setScrollbar=function(){var e=this;if(this._isBodyOverflowing){SelectorEngine.find(SELECTOR_FIXED_CONTENT).forEach((function(t){var n=t.style.paddingRight,i=window.getComputedStyle(t)["padding-right"];Manipulator.setDataAttribute(t,"padding-right",n),t.style.paddingRight=parseFloat(i)+e._scrollbarWidth+"px"})),SelectorEngine.find(SELECTOR_STICKY_CONTENT).forEach((function(t){var n=t.style.marginRight,i=window.getComputedStyle(t)["margin-right"];Manipulator.setDataAttribute(t,"margin-right",n),t.style.marginRight=parseFloat(i)-e._scrollbarWidth+"px"}));var t=document.body.style.paddingRight,n=window.getComputedStyle(document.body)["padding-right"];Manipulator.setDataAttribute(document.body,"padding-right",t),document.body.style.paddingRight=parseFloat(n)+this._scrollbarWidth+"px"}document.body.classList.add(CLASS_NAME_OPEN)},t._resetScrollbar=function(){SelectorEngine.find(SELECTOR_FIXED_CONTENT).forEach((function(e){var t=Manipulator.getDataAttribute(e,"padding-right");void 0!==t&&(Manipulator.removeDataAttribute(e,"padding-right"),e.style.paddingRight=t)})),SelectorEngine.find(""+SELECTOR_STICKY_CONTENT).forEach((function(e){var t=Manipulator.getDataAttribute(e,"margin-right");void 0!==t&&(Manipulator.removeDataAttribute(e,"margin-right"),e.style.marginRight=t)}));var e=Manipulator.getDataAttribute(document.body,"padding-right");void 0===e?document.body.style.paddingRight="":(Manipulator.removeDataAttribute(document.body,"padding-right"),document.body.style.paddingRight=e)},t._getScrollbarWidth=function(){var e=document.createElement("div");e.className=CLASS_NAME_SCROLLBAR_MEASURER,document.body.appendChild(e);var t=e.getBoundingClientRect().width-e.clientWidth;return document.body.removeChild(e),t},e.jQueryInterface=function(t,n){return this.each((function(){var i=Data.getData(this,DATA_KEY$5),r=_objectSpread2({},Default$3,{},Manipulator.getDataAttributes(this),{},"object"==typeof t&&t?t:{});if(i||(i=new e(this,r)),"string"==typeof t){if(void 0===i[t])throw new TypeError('No method named "'+t+'"');i[t](n)}else r.show&&i.show(n)}))},e.getInstance=function(e){return Data.getData(e,DATA_KEY$5)},_createClass(e,null,[{key:"VERSION",get:function(){return VERSION$5}},{key:"Default",get:function(){return Default$3}}]),e}();EventHandler.on(document,EVENT_CLICK_DATA_API$5,SELECTOR_DATA_TOGGLE$3,(function(e){var t=this,n=getElementFromSelector(this);"A"!==this.tagName&&"AREA"!==this.tagName||e.preventDefault(),EventHandler.one(n,EVENT_SHOW$2,(function(e){e.defaultPrevented||EventHandler.one(n,EVENT_HIDDEN$2,(function(){isVisible(t)&&t.focus()}))}));var i=Data.getData(n,DATA_KEY$5);if(!i){var r=_objectSpread2({},Manipulator.getDataAttributes(n),{},Manipulator.getDataAttributes(this));i=new Modal(n,r)}i.show(this)}));var $$6=getjQuery();if($$6){var JQUERY_NO_CONFLICT$5=$$6.fn[NAME$5];$$6.fn[NAME$5]=Modal.jQueryInterface,$$6.fn[NAME$5].Constructor=Modal,$$6.fn[NAME$5].noConflict=function(){return $$6.fn[NAME$5]=JQUERY_NO_CONFLICT$5,Modal.jQueryInterface}}var uriAttrs=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],ARIA_ATTRIBUTE_PATTERN=/^aria-[\w-]*$/i,SAFE_URL_PATTERN=/^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi,DATA_URL_PATTERN=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,allowedAttribute=function(e,t){var n=e.nodeName.toLowerCase();if(-1!==t.indexOf(n))return-1===uriAttrs.indexOf(n)||(SAFE_URL_PATTERN.test(e.nodeValue)||DATA_URL_PATTERN.test(e.nodeValue));for(var i=t.filter((function(e){return e instanceof RegExp})),r=0,o=i.length;r<o;r++)if(i[r].test(n))return!0;return!1},DefaultWhitelist={"*":["class","dir","id","lang","role",ARIA_ATTRIBUTE_PATTERN],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]};function sanitizeHtml(e,t,n){var i;if(!e.length)return e;if(n&&"function"==typeof n)return n(e);for(var r=(new window.DOMParser).parseFromString(e,"text/html"),o=Object.keys(t),a=(i=[]).concat.apply(i,r.body.querySelectorAll("*")),s=function(e,n){var i,r=a[e],s=r.nodeName.toLowerCase();if(-1===o.indexOf(s))return r.parentNode.removeChild(r),"continue";var E=(i=[]).concat.apply(i,r.attributes),l=[].concat(t["*"]||[],t[s]||[]);E.forEach((function(e){allowedAttribute(e,l)||r.removeAttribute(e.nodeName)}))},E=0,l=a.length;E<l;E++)s(E);return r.body.innerHTML}var NAME$6="tooltip",VERSION$6="4.3.1",DATA_KEY$6="bs.tooltip",EVENT_KEY$6="."+DATA_KEY$6,CLASS_PREFIX="bs-tooltip",BSCLS_PREFIX_REGEX=new RegExp("(^|\\s)"+CLASS_PREFIX+"\\S+","g"),DISALLOWED_ATTRIBUTES=["sanitize","whiteList","sanitizeFn"],DefaultType$4={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string|function)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)",sanitize:"boolean",sanitizeFn:"(null|function)",whiteList:"object",popperConfig:"(null|object)"},AttachmentMap={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},Default$4={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:DefaultWhitelist,popperConfig:null},Event$1={HIDE:"hide"+EVENT_KEY$6,HIDDEN:"hidden"+EVENT_KEY$6,SHOW:"show"+EVENT_KEY$6,SHOWN:"shown"+EVENT_KEY$6,INSERTED:"inserted"+EVENT_KEY$6,CLICK:"click"+EVENT_KEY$6,FOCUSIN:"focusin"+EVENT_KEY$6,FOCUSOUT:"focusout"+EVENT_KEY$6,MOUSEENTER:"mouseenter"+EVENT_KEY$6,MOUSELEAVE:"mouseleave"+EVENT_KEY$6},CLASS_NAME_FADE$1="fade",CLASS_NAME_MODAL="modal",CLASS_NAME_SHOW$3="show",HOVER_STATE_SHOW="show",HOVER_STATE_OUT="out",SELECTOR_TOOLTIP_INNER=".tooltip-inner",TRIGGER_HOVER="hover",TRIGGER_FOCUS="focus",TRIGGER_CLICK="click",TRIGGER_MANUAL="manual",Tooltip=function(){function e(e,t){if(void 0===Popper)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=e,this.config=this._getConfig(t),this.tip=null,this._setListeners(),Data.setData(e,this.constructor.DATA_KEY,this)}var t=e.prototype;return t.enable=function(){this._isEnabled=!0},t.disable=function(){this._isEnabled=!1},t.toggleEnabled=function(){this._isEnabled=!this._isEnabled},t.toggle=function(e){if(this._isEnabled)if(e){var t=this.constructor.DATA_KEY,n=Data.getData(e.delegateTarget,t);n||(n=new this.constructor(e.delegateTarget,this._getDelegateConfig()),Data.setData(e.delegateTarget,t,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(this.getTipElement().classList.contains(CLASS_NAME_SHOW$3))return void this._leave(null,this);this._enter(null,this)}},t.dispose=function(){clearTimeout(this._timeout),Data.removeData(this.element,this.constructor.DATA_KEY),EventHandler.off(this.element,this.constructor.EVENT_KEY),EventHandler.off(SelectorEngine.closest(this.element,"."+CLASS_NAME_MODAL),"hide.bs.modal",this._hideModalHandler),this.tip&&this.tip.parentNode.removeChild(this.tip),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},t.show=function(){var e=this;if("none"===this.element.style.display)throw new Error("Please use show on visible elements");if(this.isWithContent()&&this._isEnabled){var t=EventHandler.trigger(this.element,this.constructor.Event.SHOW),n=findShadowRoot(this.element),i=null===n?this.element.ownerDocument.documentElement.contains(this.element):n.contains(this.element);if(t.defaultPrevented||!i)return;var r=this.getTipElement(),o=getUID(this.constructor.NAME);r.setAttribute("id",o),this.element.setAttribute("aria-describedby",o),this.setContent(),this.config.animation&&r.classList.add(CLASS_NAME_FADE$1);var a="function"==typeof this.config.placement?this.config.placement.call(this,r,this.element):this.config.placement,s=this._getAttachment(a);this._addAttachmentClass(s);var E,l=this._getContainer();if(Data.setData(r,this.constructor.DATA_KEY,this),this.element.ownerDocument.documentElement.contains(this.tip)||l.appendChild(r),EventHandler.trigger(this.element,this.constructor.Event.INSERTED),this._popper=new Popper(this.element,r,this._getPopperConfig(s)),r.classList.add(CLASS_NAME_SHOW$3),"ontouchstart"in document.documentElement)(E=[]).concat.apply(E,document.body.children).forEach((function(e){EventHandler.on(e,"mouseover",noop())}));var _=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,EventHandler.trigger(e.element,e.constructor.Event.SHOWN),t===HOVER_STATE_OUT&&e._leave(null,e)};if(this.tip.classList.contains(CLASS_NAME_FADE$1)){var c=getTransitionDurationFromElement(this.tip);EventHandler.one(this.tip,TRANSITION_END,_),emulateTransitionEnd(this.tip,c)}else _()}},t.hide=function(){var e=this,t=this.getTipElement(),n=function(){e._hoverState!==HOVER_STATE_SHOW&&t.parentNode&&t.parentNode.removeChild(t),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),EventHandler.trigger(e.element,e.constructor.Event.HIDDEN),e._popper.destroy()};if(!EventHandler.trigger(this.element,this.constructor.Event.HIDE).defaultPrevented){var i;if(t.classList.remove(CLASS_NAME_SHOW$3),"ontouchstart"in document.documentElement)(i=[]).concat.apply(i,document.body.children).forEach((function(e){return EventHandler.off(e,"mouseover",noop)}));if(this._activeTrigger[TRIGGER_CLICK]=!1,this._activeTrigger[TRIGGER_FOCUS]=!1,this._activeTrigger[TRIGGER_HOVER]=!1,this.tip.classList.contains(CLASS_NAME_FADE$1)){var r=getTransitionDurationFromElement(t);EventHandler.one(t,TRANSITION_END,n),emulateTransitionEnd(t,r)}else n();this._hoverState=""}},t.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},t.isWithContent=function(){return Boolean(this.getTitle())},t.getTipElement=function(){if(this.tip)return this.tip;var e=document.createElement("div");return e.innerHTML=this.config.template,this.tip=e.children[0],this.tip},t.setContent=function(){var e=this.getTipElement();this.setElementContent(SelectorEngine.findOne(SELECTOR_TOOLTIP_INNER,e),this.getTitle()),e.classList.remove(CLASS_NAME_FADE$1),e.classList.remove(CLASS_NAME_SHOW$3)},t.setElementContent=function(e,t){if(null!==e)return"object"==typeof t&&isElement(t)?(t.jquery&&(t=t[0]),void(this.config.html?t.parentNode!==e&&(e.innerHTML="",e.appendChild(t)):e.innerText=t.textContent)):void(this.config.html?(this.config.sanitize&&(t=sanitizeHtml(t,this.config.whiteList,this.config.sanitizeFn)),e.innerHTML=t):e.innerText=t)},t.getTitle=function(){var e=this.element.getAttribute("data-original-title");return e||(e="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),e},t._getPopperConfig=function(e){var t=this;return _objectSpread2({},{placement:e,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:"."+this.constructor.NAME+"-arrow"},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(e){e.originalPlacement!==e.placement&&t._handlePopperPlacementChange(e)},onUpdate:function(e){return t._handlePopperPlacementChange(e)}},{},this.config.popperConfig)},t._addAttachmentClass=function(e){this.getTipElement().classList.add(CLASS_PREFIX+"-"+e)},t._getOffset=function(){var e=this,t={};return"function"==typeof this.config.offset?t.fn=function(t){return t.offsets=_objectSpread2({},t.offsets,{},e.config.offset(t.offsets,e.element)||{}),t}:t.offset=this.config.offset,t},t._getContainer=function(){return!1===this.config.container?document.body:isElement(this.config.container)?this.config.container:SelectorEngine.findOne(this.config.container)},t._getAttachment=function(e){return AttachmentMap[e.toUpperCase()]},t._setListeners=function(){var e=this;this.config.trigger.split(" ").forEach((function(t){if("click"===t)EventHandler.on(e.element,e.constructor.Event.CLICK,e.config.selector,(function(t){return e.toggle(t)}));else if(t!==TRIGGER_MANUAL){var n=t===TRIGGER_HOVER?e.constructor.Event.MOUSEENTER:e.constructor.Event.FOCUSIN,i=t===TRIGGER_HOVER?e.constructor.Event.MOUSELEAVE:e.constructor.Event.FOCUSOUT;EventHandler.on(e.element,n,e.config.selector,(function(t){return e._enter(t)})),EventHandler.on(e.element,i,e.config.selector,(function(t){return e._leave(t)}))}})),this._hideModalHandler=function(){e.element&&e.hide()},EventHandler.on(SelectorEngine.closest(this.element,"."+CLASS_NAME_MODAL),"hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=_objectSpread2({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},t._fixTitle=function(){var e=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==e)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},t._enter=function(e,t){var n=this.constructor.DATA_KEY;(t=t||Data.getData(e.delegateTarget,n))||(t=new this.constructor(e.delegateTarget,this._getDelegateConfig()),Data.setData(e.delegateTarget,n,t)),e&&(t._activeTrigger["focusin"===e.type?TRIGGER_FOCUS:TRIGGER_HOVER]=!0),t.getTipElement().classList.contains(CLASS_NAME_SHOW$3)||t._hoverState===HOVER_STATE_SHOW?t._hoverState=HOVER_STATE_SHOW:(clearTimeout(t._timeout),t._hoverState=HOVER_STATE_SHOW,t.config.delay&&t.config.delay.show?t._timeout=setTimeout((function(){t._hoverState===HOVER_STATE_SHOW&&t.show()}),t.config.delay.show):t.show())},t._leave=function(e,t){var n=this.constructor.DATA_KEY;(t=t||Data.getData(e.delegateTarget,n))||(t=new this.constructor(e.delegateTarget,this._getDelegateConfig()),Data.setData(e.delegateTarget,n,t)),e&&(t._activeTrigger["focusout"===e.type?TRIGGER_FOCUS:TRIGGER_HOVER]=!1),t._isWithActiveTrigger()||(clearTimeout(t._timeout),t._hoverState=HOVER_STATE_OUT,t.config.delay&&t.config.delay.hide?t._timeout=setTimeout((function(){t._hoverState===HOVER_STATE_OUT&&t.hide()}),t.config.delay.hide):t.hide())},t._isWithActiveTrigger=function(){for(var e in this._activeTrigger)if(this._activeTrigger[e])return!0;return!1},t._getConfig=function(e){var t=Manipulator.getDataAttributes(this.element);return Object.keys(t).forEach((function(e){-1!==DISALLOWED_ATTRIBUTES.indexOf(e)&&delete t[e]})),e&&"object"==typeof e.container&&e.container.jquery&&(e.container=e.container[0]),"number"==typeof(e=_objectSpread2({},this.constructor.Default,{},t,{},"object"==typeof e&&e?e:{})).delay&&(e.delay={show:e.delay,hide:e.delay}),"number"==typeof e.title&&(e.title=e.title.toString()),"number"==typeof e.content&&(e.content=e.content.toString()),typeCheckConfig(NAME$6,e,this.constructor.DefaultType),e.sanitize&&(e.template=sanitizeHtml(e.template,e.whiteList,e.sanitizeFn)),e},t._getDelegateConfig=function(){var e={};if(this.config)for(var t in this.config)this.constructor.Default[t]!==this.config[t]&&(e[t]=this.config[t]);return e},t._cleanTipClass=function(){var e=this.getTipElement(),t=e.getAttribute("class").match(BSCLS_PREFIX_REGEX);null!==t&&t.length>0&&t.map((function(e){return e.trim()})).forEach((function(t){return e.classList.remove(t)}))},t._handlePopperPlacementChange=function(e){var t=e.instance;this.tip=t.popper,this._cleanTipClass(),this._addAttachmentClass(this._getAttachment(e.placement))},t._fixTransition=function(){var e=this.getTipElement(),t=this.config.animation;null===e.getAttribute("x-placement")&&(e.classList.remove(CLASS_NAME_FADE$1),this.config.animation=!1,this.hide(),this.show(),this.config.animation=t)},e.jQueryInterface=function(t){return this.each((function(){var n=Data.getData(this,DATA_KEY$6),i="object"==typeof t&&t;if((n||!/dispose|hide/.test(t))&&(n||(n=new e(this,i)),"string"==typeof t)){if(void 0===n[t])throw new TypeError('No method named "'+t+'"');n[t]()}}))},e.getInstance=function(e){return Data.getData(e,DATA_KEY$6)},_createClass(e,null,[{key:"VERSION",get:function(){return VERSION$6}},{key:"Default",get:function(){return Default$4}},{key:"NAME",get:function(){return NAME$6}},{key:"DATA_KEY",get:function(){return DATA_KEY$6}},{key:"Event",get:function(){return Event$1}},{key:"EVENT_KEY",get:function(){return EVENT_KEY$6}},{key:"DefaultType",get:function(){return DefaultType$4}}]),e}(),$$7=getjQuery();if($$7){var JQUERY_NO_CONFLICT$6=$$7.fn[NAME$6];$$7.fn[NAME$6]=Tooltip.jQueryInterface,$$7.fn[NAME$6].Constructor=Tooltip,$$7.fn[NAME$6].noConflict=function(){return $$7.fn[NAME$6]=JQUERY_NO_CONFLICT$6,Tooltip.jQueryInterface}}var NAME$7="popover",VERSION$7="4.3.1",DATA_KEY$7="bs.popover",EVENT_KEY$7="."+DATA_KEY$7,CLASS_PREFIX$1="bs-popover",BSCLS_PREFIX_REGEX$1=new RegExp("(^|\\s)"+CLASS_PREFIX$1+"\\S+","g"),Default$5=_objectSpread2({},Tooltip.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),DefaultType$5=_objectSpread2({},Tooltip.DefaultType,{content:"(string|element|function)"}),Event$2={HIDE:"hide"+EVENT_KEY$7,HIDDEN:"hidden"+EVENT_KEY$7,SHOW:"show"+EVENT_KEY$7,SHOWN:"shown"+EVENT_KEY$7,INSERTED:"inserted"+EVENT_KEY$7,CLICK:"click"+EVENT_KEY$7,FOCUSIN:"focusin"+EVENT_KEY$7,FOCUSOUT:"focusout"+EVENT_KEY$7,MOUSEENTER:"mouseenter"+EVENT_KEY$7,MOUSELEAVE:"mouseleave"+EVENT_KEY$7},CLASS_NAME_FADE$2="fade",CLASS_NAME_SHOW$4="show",SELECTOR_TITLE=".popover-header",SELECTOR_CONTENT=".popover-body",Popover=function(e){function t(){return e.apply(this,arguments)||this}_inheritsLoose(t,e);var n=t.prototype;return n.isWithContent=function(){return this.getTitle()||this._getContent()},n.setContent=function(){var e=this.getTipElement();this.setElementContent(SelectorEngine.findOne(SELECTOR_TITLE,e),this.getTitle());var t=this._getContent();"function"==typeof t&&(t=t.call(this.element)),this.setElementContent(SelectorEngine.findOne(SELECTOR_CONTENT,e),t),e.classList.remove(CLASS_NAME_FADE$2),e.classList.remove(CLASS_NAME_SHOW$4)},n._addAttachmentClass=function(e){this.getTipElement().classList.add(CLASS_PREFIX$1+"-"+e)},n._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},n._cleanTipClass=function(){var e=this.getTipElement(),t=e.getAttribute("class").match(BSCLS_PREFIX_REGEX$1);null!==t&&t.length>0&&t.map((function(e){return e.trim()})).forEach((function(t){return e.classList.remove(t)}))},t.jQueryInterface=function(e){return this.each((function(){var n=Data.getData(this,DATA_KEY$7),i="object"==typeof e?e:null;if((n||!/dispose|hide/.test(e))&&(n||(n=new t(this,i),Data.setData(this,DATA_KEY$7,n)),"string"==typeof e)){if(void 0===n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},t.getInstance=function(e){return Data.getData(e,DATA_KEY$7)},_createClass(t,null,[{key:"VERSION",get:function(){return VERSION$7}},{key:"Default",get:function(){return Default$5}},{key:"NAME",get:function(){return NAME$7}},{key:"DATA_KEY",get:function(){return DATA_KEY$7}},{key:"Event",get:function(){return Event$2}},{key:"EVENT_KEY",get:function(){return EVENT_KEY$7}},{key:"DefaultType",get:function(){return DefaultType$5}}]),t}(Tooltip),$$8=getjQuery();if($$8){var JQUERY_NO_CONFLICT$7=$$8.fn[NAME$7];$$8.fn[NAME$7]=Popover.jQueryInterface,$$8.fn[NAME$7].Constructor=Popover,$$8.fn[NAME$7].noConflict=function(){return $$8.fn[NAME$7]=JQUERY_NO_CONFLICT$7,Popover.jQueryInterface}}var NAME$8="scrollspy",VERSION$8="4.3.1",DATA_KEY$8="bs.scrollspy",EVENT_KEY$8="."+DATA_KEY$8,DATA_API_KEY$6=".data-api",Default$6={offset:10,method:"auto",target:""},DefaultType$6={offset:"number",method:"string",target:"(string|element)"},EVENT_ACTIVATE="activate"+EVENT_KEY$8,EVENT_SCROLL="scroll"+EVENT_KEY$8,EVENT_LOAD_DATA_API$1="load"+EVENT_KEY$8+DATA_API_KEY$6,CLASS_NAME_DROPDOWN_ITEM="dropdown-item",CLASS_NAME_ACTIVE$2="active",SELECTOR_DATA_SPY='[data-spy="scroll"]',SELECTOR_NAV_LIST_GROUP=".nav, .list-group",SELECTOR_NAV_LINKS=".nav-link",SELECTOR_NAV_ITEMS=".nav-item",SELECTOR_LIST_ITEMS=".list-group-item",SELECTOR_DROPDOWN=".dropdown",SELECTOR_DROPDOWN_TOGGLE=".dropdown-toggle",METHOD_OFFSET="offset",METHOD_POSITION="position",ScrollSpy=function(){function e(e,t){var n=this;this._element=e,this._scrollElement="BODY"===e.tagName?window:e,this._config=this._getConfig(t),this._selector=this._config.target+" "+SELECTOR_NAV_LINKS+","+this._config.target+" "+SELECTOR_LIST_ITEMS+","+this._config.target+" ."+CLASS_NAME_DROPDOWN_ITEM,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,EventHandler.on(this._scrollElement,EVENT_SCROLL,(function(e){return n._process(e)})),this.refresh(),this._process(),Data.setData(e,DATA_KEY$8,this)}var t=e.prototype;return t.refresh=function(){var e=this,t=this._scrollElement===this._scrollElement.window?METHOD_OFFSET:METHOD_POSITION,n="auto"===this._config.method?t:this._config.method,i=n===METHOD_POSITION?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),SelectorEngine.find(this._selector).map((function(e){var t,r=getSelectorFromElement(e);if(r&&(t=SelectorEngine.findOne(r)),t){var o=t.getBoundingClientRect();if(o.width||o.height)return[Manipulator[n](t).top+i,r]}return null})).filter((function(e){return e})).sort((function(e,t){return e[0]-t[0]})).forEach((function(t){e._offsets.push(t[0]),e._targets.push(t[1])}))},t.dispose=function(){Data.removeData(this._element,DATA_KEY$8),EventHandler.off(this._scrollElement,EVENT_KEY$8),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},t._getConfig=function(e){if("string"!=typeof(e=_objectSpread2({},Default$6,{},"object"==typeof e&&e?e:{})).target){var t=e.target.id;t||(t=getUID(NAME$8),e.target.id=t),e.target="#"+t}return typeCheckConfig(NAME$8,e,DefaultType$6),e},t._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},t._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},t._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},t._process=function(){var e=this._getScrollTop()+this._config.offset,t=this._getScrollHeight(),n=this._config.offset+t-this._getOffsetHeight();if(this._scrollHeight!==t&&this.refresh(),e>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&e<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(var r=this._offsets.length;r--;){this._activeTarget!==this._targets[r]&&e>=this._offsets[r]&&(void 0===this._offsets[r+1]||e<this._offsets[r+1])&&this._activate(this._targets[r])}}},t._activate=function(e){this._activeTarget=e,this._clear();var t=this._selector.split(",").map((function(t){return t+'[data-target="'+e+'"],'+t+'[href="'+e+'"]'})),n=SelectorEngine.findOne(t.join(","));n.classList.contains(CLASS_NAME_DROPDOWN_ITEM)?(SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE,SelectorEngine.closest(n,SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE$2),n.classList.add(CLASS_NAME_ACTIVE$2)):(n.classList.add(CLASS_NAME_ACTIVE$2),SelectorEngine.parents(n,SELECTOR_NAV_LIST_GROUP).forEach((function(e){SelectorEngine.prev(e,SELECTOR_NAV_LINKS+", "+SELECTOR_LIST_ITEMS).forEach((function(e){return e.classList.add(CLASS_NAME_ACTIVE$2)})),SelectorEngine.prev(e,SELECTOR_NAV_ITEMS).forEach((function(e){SelectorEngine.children(e,SELECTOR_NAV_LINKS).forEach((function(e){return e.classList.add(CLASS_NAME_ACTIVE$2)}))}))}))),EventHandler.trigger(this._scrollElement,EVENT_ACTIVATE,{relatedTarget:e})},t._clear=function(){SelectorEngine.find(this._selector).filter((function(e){return e.classList.contains(CLASS_NAME_ACTIVE$2)})).forEach((function(e){return e.classList.remove(CLASS_NAME_ACTIVE$2)}))},e.jQueryInterface=function(t){return this.each((function(){var n=Data.getData(this,DATA_KEY$8);if(n||(n=new e(this,"object"==typeof t&&t)),"string"==typeof t){if(void 0===n[t])throw new TypeError('No method named "'+t+'"');n[t]()}}))},e.getInstance=function(e){return Data.getData(e,DATA_KEY$8)},_createClass(e,null,[{key:"VERSION",get:function(){return VERSION$8}},{key:"Default",get:function(){return Default$6}}]),e}();EventHandler.on(window,EVENT_LOAD_DATA_API$1,(function(){SelectorEngine.find(SELECTOR_DATA_SPY).forEach((function(e){return new ScrollSpy(e,Manipulator.getDataAttributes(e))}))}));var $$9=getjQuery();if($$9){var JQUERY_NO_CONFLICT$8=$$9.fn[NAME$8];$$9.fn[NAME$8]=ScrollSpy.jQueryInterface,$$9.fn[NAME$8].Constructor=ScrollSpy,$$9.fn[NAME$8].noConflict=function(){return $$9.fn[NAME$8]=JQUERY_NO_CONFLICT$8,ScrollSpy.jQueryInterface}}var NAME$9="tab",VERSION$9="4.3.1",DATA_KEY$9="bs.tab",EVENT_KEY$9="."+DATA_KEY$9,DATA_API_KEY$7=".data-api",EVENT_HIDE$3="hide"+EVENT_KEY$9,EVENT_HIDDEN$3="hidden"+EVENT_KEY$9,EVENT_SHOW$3="show"+EVENT_KEY$9,EVENT_SHOWN$3="shown"+EVENT_KEY$9,EVENT_CLICK_DATA_API$6="click"+EVENT_KEY$9+DATA_API_KEY$7,CLASS_NAME_DROPDOWN_MENU="dropdown-menu",CLASS_NAME_ACTIVE$3="active",CLASS_NAME_DISABLED$2="disabled",CLASS_NAME_FADE$3="fade",CLASS_NAME_SHOW$5="show",SELECTOR_DROPDOWN$1=".dropdown",SELECTOR_NAV_LIST_GROUP$1=".nav, .list-group",SELECTOR_ACTIVE$2=".active",SELECTOR_ACTIVE_UL=":scope > li > .active",SELECTOR_DATA_TOGGLE$4='[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',SELECTOR_DROPDOWN_TOGGLE$1=".dropdown-toggle",SELECTOR_DROPDOWN_ACTIVE_CHILD=":scope > .dropdown-menu .active",Tab=function(){function e(e){this._element=e,Data.setData(this._element,DATA_KEY$9,this)}var t=e.prototype;return t.show=function(){var e=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&this._element.classList.contains(CLASS_NAME_ACTIVE$3)||this._element.classList.contains(CLASS_NAME_DISABLED$2))){var t,n=getElementFromSelector(this._element),i=SelectorEngine.closest(this._element,SELECTOR_NAV_LIST_GROUP$1);if(i){var r="UL"===i.nodeName||"OL"===i.nodeName?SELECTOR_ACTIVE_UL:SELECTOR_ACTIVE$2;t=(t=SelectorEngine.find(r,i))[t.length-1]}var o=null;if(t&&(o=EventHandler.trigger(t,EVENT_HIDE$3,{relatedTarget:this._element})),!(EventHandler.trigger(this._element,EVENT_SHOW$3,{relatedTarget:t}).defaultPrevented||null!==o&&o.defaultPrevented)){this._activate(this._element,i);var a=function(){EventHandler.trigger(t,EVENT_HIDDEN$3,{relatedTarget:e._element}),EventHandler.trigger(e._element,EVENT_SHOWN$3,{relatedTarget:t})};n?this._activate(n,n.parentNode,a):a()}}},t.dispose=function(){Data.removeData(this._element,DATA_KEY$9),this._element=null},t._activate=function(e,t,n){var i=this,r=(!t||"UL"!==t.nodeName&&"OL"!==t.nodeName?SelectorEngine.children(t,SELECTOR_ACTIVE$2):SelectorEngine.find(SELECTOR_ACTIVE_UL,t))[0],o=n&&r&&r.classList.contains(CLASS_NAME_FADE$3),a=function(){return i._transitionComplete(e,r,n)};if(r&&o){var s=getTransitionDurationFromElement(r);r.classList.remove(CLASS_NAME_SHOW$5),EventHandler.one(r,TRANSITION_END,a),emulateTransitionEnd(r,s)}else a()},t._transitionComplete=function(e,t,n){if(t){t.classList.remove(CLASS_NAME_ACTIVE$3);var i=SelectorEngine.findOne(SELECTOR_DROPDOWN_ACTIVE_CHILD,t.parentNode);i&&i.classList.remove(CLASS_NAME_ACTIVE$3),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!1)}(e.classList.add(CLASS_NAME_ACTIVE$3),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!0),reflow(e),e.classList.contains(CLASS_NAME_FADE$3)&&e.classList.add(CLASS_NAME_SHOW$5),e.parentNode&&e.parentNode.classList.contains(CLASS_NAME_DROPDOWN_MENU))&&(SelectorEngine.closest(e,SELECTOR_DROPDOWN$1)&&SelectorEngine.find(SELECTOR_DROPDOWN_TOGGLE$1).forEach((function(e){return e.classList.add(CLASS_NAME_ACTIVE$3)})),e.setAttribute("aria-expanded",!0));n&&n()},e.jQueryInterface=function(t){return this.each((function(){var n=Data.getData(this,DATA_KEY$9)||new e(this);if("string"==typeof t){if(void 0===n[t])throw new TypeError('No method named "'+t+'"');n[t]()}}))},e.getInstance=function(e){return Data.getData(e,DATA_KEY$9)},_createClass(e,null,[{key:"VERSION",get:function(){return VERSION$9}}]),e}();EventHandler.on(document,EVENT_CLICK_DATA_API$6,SELECTOR_DATA_TOGGLE$4,(function(e){e.preventDefault(),(Data.getData(this,DATA_KEY$9)||new Tab(this)).show()}));var $$a=getjQuery();if($$a){var JQUERY_NO_CONFLICT$9=$$a.fn[NAME$9];$$a.fn[NAME$9]=Tab.jQueryInterface,$$a.fn[NAME$9].Constructor=Tab,$$a.fn[NAME$9].noConflict=function(){return $$a.fn[NAME$9]=JQUERY_NO_CONFLICT$9,Tab.jQueryInterface}}var NAME$a="toast",VERSION$a="4.3.1",DATA_KEY$a="bs.toast",EVENT_KEY$a="."+DATA_KEY$a,EVENT_CLICK_DISMISS$1="click.dismiss"+EVENT_KEY$a,EVENT_HIDE$4="hide"+EVENT_KEY$a,EVENT_HIDDEN$4="hidden"+EVENT_KEY$a,EVENT_SHOW$4="show"+EVENT_KEY$a,EVENT_SHOWN$4="shown"+EVENT_KEY$a,CLASS_NAME_FADE$4="fade",CLASS_NAME_HIDE="hide",CLASS_NAME_SHOW$6="show",CLASS_NAME_SHOWING="showing",DefaultType$7={animation:"boolean",autohide:"boolean",delay:"number"},Default$7={animation:!0,autohide:!0,delay:500},SELECTOR_DATA_DISMISS$1='[data-dismiss="toast"]',Toast=function(){function e(e,t){this._element=e,this._config=this._getConfig(t),this._timeout=null,this._setListeners(),Data.setData(e,DATA_KEY$a,this)}var t=e.prototype;return t.show=function(){var e=this;if(!EventHandler.trigger(this._element,EVENT_SHOW$4).defaultPrevented){this._config.animation&&this._element.classList.add(CLASS_NAME_FADE$4);var t=function(){e._element.classList.remove(CLASS_NAME_SHOWING),e._element.classList.add(CLASS_NAME_SHOW$6),EventHandler.trigger(e._element,EVENT_SHOWN$4),e._config.autohide&&(e._timeout=setTimeout((function(){e.hide()}),e._config.delay))};if(this._element.classList.remove(CLASS_NAME_HIDE),reflow(this._element),this._element.classList.add(CLASS_NAME_SHOWING),this._config.animation){var n=getTransitionDurationFromElement(this._element);EventHandler.one(this._element,TRANSITION_END,t),emulateTransitionEnd(this._element,n)}else t()}},t.hide=function(){var e=this;if(this._element.classList.contains(CLASS_NAME_SHOW$6)&&!EventHandler.trigger(this._element,EVENT_HIDE$4).defaultPrevented){var t=function(){e._element.classList.add(CLASS_NAME_HIDE),EventHandler.trigger(e._element,EVENT_HIDDEN$4)};if(this._element.classList.remove(CLASS_NAME_SHOW$6),this._config.animation){var n=getTransitionDurationFromElement(this._element);EventHandler.one(this._element,TRANSITION_END,t),emulateTransitionEnd(this._element,n)}else t()}},t.dispose=function(){clearTimeout(this._timeout),this._timeout=null,this._element.classList.contains(CLASS_NAME_SHOW$6)&&this._element.classList.remove(CLASS_NAME_SHOW$6),EventHandler.off(this._element,EVENT_CLICK_DISMISS$1),Data.removeData(this._element,DATA_KEY$a),this._element=null,this._config=null},t._getConfig=function(e){return e=_objectSpread2({},Default$7,{},Manipulator.getDataAttributes(this._element),{},"object"==typeof e&&e?e:{}),typeCheckConfig(NAME$a,e,this.constructor.DefaultType),e},t._setListeners=function(){var e=this;EventHandler.on(this._element,EVENT_CLICK_DISMISS$1,SELECTOR_DATA_DISMISS$1,(function(){return e.hide()}))},e.jQueryInterface=function(t){return this.each((function(){var n=Data.getData(this,DATA_KEY$a);if(n||(n=new e(this,"object"==typeof t&&t)),"string"==typeof t){if(void 0===n[t])throw new TypeError('No method named "'+t+'"');n[t](this)}}))},e.getInstance=function(e){return Data.getData(e,DATA_KEY$a)},_createClass(e,null,[{key:"VERSION",get:function(){return VERSION$a}},{key:"DefaultType",get:function(){return DefaultType$7}},{key:"Default",get:function(){return Default$7}}]),e}(),$$b=getjQuery();if($$b){var JQUERY_NO_CONFLICT$a=$$b.fn[NAME$a];$$b.fn[NAME$a]=Toast.jQueryInterface,$$b.fn[NAME$a].Constructor=Toast,$$b.fn[NAME$a].noConflict=function(){return $$b.fn[NAME$a]=JQUERY_NO_CONFLICT$a,Toast.jQueryInterface}}export{Alert,Button,Carousel,Collapse,Dropdown,Modal,Popover,ScrollSpy,Tab,Toast,Tooltip};
//# sourceMappingURL=bootstrap.esm.min.js.map \ No newline at end of file
diff --git a/dist/js/bootstrap.esm.min.js.map b/dist/js/bootstrap.esm.min.js.map
index a803e1e54b..ac0898f71e 100644
--- a/dist/js/bootstrap.esm.min.js.map
+++ b/dist/js/bootstrap.esm.min.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../../js/src/util/index.js","../../js/src/dom/data.js","../../js/src/dom/polyfill.js","../../js/src/dom/event-handler.js","../../js/src/dom/selector-engine.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/dom/manipulator.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/util/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js"],"names":["MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","toString","call","match","toLowerCase","getUID","prefix","Math","random","document","getElementById","getSelector","element","selector","getAttribute","hrefAttr","trim","getSelectorFromElement","querySelector","getElementFromSelector","getTransitionDurationFromElement","window","getComputedStyle","transitionDuration","_window$getComputedSt","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","evt","createEvent","initEvent","dispatchEvent","isElement","nodeType","emulateTransitionEnd","duration","called","emulatedDuration","addEventListener","listener","removeEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","makeArray","nodeList","slice","isVisible","style","parentNode","elementStyle","parentNodeStyle","display","visibility","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","mapData","storeData","id","set","key","data","get","keyProperties","delete","Data","setData","instance","getData","removeData","Element","prototype","matches","closest","find","querySelectorAll","findOne","createCustomEvent","eventName","params","CustomEvent","bubbles","cancelable","detail","initCustomEvent","workingDefaultPrevented","e","preventDefault","defaultPrevented","origPreventDefault","Event","this","defineProperty","configurable","defaultPreventedPreservedOnDispatch","createElement","msMatchesSelector","webkitMatchesSelector","parentElement","scopeSelectorRegex","supportScopeQuery","_","hasId","Boolean","replace","removeAttribute","$","namespaceRegex","stripNameRegex","keyEventRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","getUidEvent","uid","getEvent","fixEvent","event","which","type","charCode","keyCode","delegateTarget","bootstrapHandler","fn","handler","oneOff","EventHandler","off","apply","bootstrapDelegationHandler","domElements","target","i","length","findHandler","events","delegationSelector","uidEventList","len","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","custom","indexOf","addHandler","_normalizeParams","handlers","previousFn","removeHandler","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","on","one","_normalizeParams2","inNamespace","isNamespace","charAt","elementEvent","keyHandlers","trigger","args","jQueryEvent","isNative","nativeDispatch","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","NODE_TEXT","SelectorEngine","findFn","children","filter","child","_this","parents","ancestor","Node","ELEMENT_NODE","push","prev","siblings","previous","previousSibling","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","Selector","DISMISS","CLOSE","CLOSED","CLICK_DATA_API","ClassName","ALERT","FADE","SHOW","Alert","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","_removeElement","dispose","parent","classList","remove","contains","_destroyElement","removeChild","jQueryInterface","each","handleDismiss","alertInstance","getInstance","JQUERY_NO_CONFLICT","Constructor","noConflict","ACTIVE","BUTTON","FOCUS","DATA_TOGGLE_CARROT","DATA_TOGGLE","INPUT","FOCUS_DATA_API","BLUR_DATA_API","Button","toggle","triggerChangeEvent","addAriaPressed","input","checked","activeElement","focus","setAttribute","button","add","normalizeData","val","Number","normalizeDataKey","chr","Manipulator","setDataAttribute","removeDataAttribute","getDataAttributes","attributes","_objectSpread2","dataset","getDataAttribute","offset","rect","getBoundingClientRect","top","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft","toggleClass","className","ARROW_LEFT_KEYCODE","ARROW_RIGHT_KEYCODE","TOUCHEVENT_COMPAT_WAIT","SWIPE_THRESHOLD","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","Direction","NEXT","PREV","LEFT","RIGHT","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","TOUCHSTART","TOUCHMOVE","TOUCHEND","POINTERDOWN","POINTERUP","DRAG_START","LOAD_DATA_API","CAROUSEL","ITEM","POINTER_EVENT","ACTIVE_ITEM","ITEM_IMG","NEXT_PREV","INDICATORS","DATA_SLIDE","DATA_RIDE","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","MSPointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","_handleSwipe","absDeltax","abs","_this2","_keydown","_addTouchEventListeners","start","_this3","pointerType","clientX","touches","end","clearTimeout","itemImg","move","tagName","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","from","_setActiveIndicatorElement","indicators","nextIndicator","directionalClassName","orderClassName","activeElementIndex","nextElement","nextElementIndex","isCycling","nextElementInterval","parseInt","defaultInterval","_this4","carouselInterface","action","TypeError","ride","dataApiClickHandler","slideIndex","carousels","SHOWN","HIDE","HIDDEN","COLLAPSE","COLLAPSING","COLLAPSED","Dimension","WIDTH","HEIGHT","ACTIVES","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","container","tempActiveData","elemActive","collapseInterface","dimension","_getDimension","setTransitioning","scrollSize","triggerArrayLength","isTransitioning","jquery","selected","triggerArray","isOpen","triggerData","ESCAPE_KEYCODE","SPACE_KEYCODE","TAB_KEYCODE","ARROW_UP_KEYCODE","ARROW_DOWN_KEYCODE","RIGHT_MOUSE_BUTTON_WHICH","REGEXP_KEYDOWN","CLICK","KEYDOWN_DATA_API","KEYUP_DATA_API","DISABLED","DROPUP","DROPRIGHT","DROPLEFT","MENURIGHT","POSITION_STATIC","FORM_CHILD","MENU","NAVBAR_NAV","VISIBLE_ITEMS","AttachmentMap","TOP","TOPEND","BOTTOM","BOTTOMEND","RIGHTEND","LEFTEND","flip","boundary","reference","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","clearMenus","getParentFromElement","Popper","referenceElement","_getPopperConfig","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","parentDropdown","placement","_getOffset","offsets","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","dropdownInterface","toggles","context","clickEvent","dropdownMenu","dataApiKeydownHandler","items","backdrop","HIDE_PREVENTED","FOCUSIN","RESIZE","CLICK_DISMISS","KEYDOWN_DISMISS","MOUSEUP_DISMISS","MOUSEDOWN_DISMISS","SCROLLABLE","SCROLLBAR_MEASURER","BACKDROP","OPEN","STATIC","DIALOG","MODAL_BODY","DATA_DISMISS","FIXED_CONTENT","STICKY_CONTENT","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","showEvent","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","handleUpdate","modalBody","appendChild","_enforceFocus","transitionComplete","_this5","_triggerBackdropTransition","_this6","_this7","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","animate","_this8","currentTarget","backdropTransitionDuration","callbackRemove","modalTransitionDuration","_this9","isModalOverflowing","scrollHeight","clientHeight","paddingLeft","paddingRight","right","innerWidth","_getScrollbarWidth","actualPadding","calculatedPadding","_this10","actualMargin","marginRight","calculatedMargin","padding","margin","scrollDiv","scrollbarWidth","width","clientWidth","_this11","uriAttrs","ARIA_ATTRIBUTE_PATTERN","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attr","allowedAttributeList","attrName","nodeName","nodeValue","regExp","attrRegex","l","DefaultWhitelist","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","sanitizeHtml","unsafeHtml","whiteList","sanitizeFn","createdDocument","DOMParser","parseFromString","whitelistKeys","elements","el","elName","attributeList","whitelistedAttributes","concat","innerHTML","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","fallbackPlacement","sanitize","AUTO","HoverState","OUT","INSERTED","FOCUSOUT","TOOLTIP_INNER","Trigger","HOVER","MANUAL","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","_addAttachmentClass","_getContainer","complete","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","innerText","textContent","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","tabClass","map","token","tClass","popperData","popperInstance","popper","initConfigAnimation","TITLE","CONTENT","Popover","_getContent","method","ACTIVATE","SCROLL","DROPDOWN_ITEM","DATA_SPY","NAV_LIST_GROUP","NAV_LINKS","NAV_ITEMS","LIST_ITEMS","DROPDOWN","DROPDOWN_TOGGLE","OffsetMethod","OFFSET","POSITION","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targetSelector","targetBCR","height","item","sort","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","queries","link","join","listGroup","navItem","node","spy","DROPDOWN_MENU","ACTIVE_UL","DROPDOWN_ACTIVE_CHILD","Tab","listElement","itemSelector","hideEvent","active","_transitionComplete","dropdownChild","dropdown","SHOWING","autohide","Toast"],"mappings":"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","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => ({}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase())\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n const evt = document.createEvent('HTMLEvents')\n\n evt.initEvent(TRANSITION_END, true, true)\n element.dispatchEvent(evt)\n}\n\nconst isElement = obj => (obj[0] || obj).nodeType\n\nconst emulateTransitionEnd = (element, duration) => {\n let called = false\n const durationPadding = 5\n const emulatedDuration = duration + durationPadding\n function listener() {\n called = true\n element.removeEventListener(TRANSITION_END, listener)\n }\n\n element.addEventListener(TRANSITION_END, listener)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(element)\n }\n }, emulatedDuration)\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes)\n .forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst makeArray = nodeList => {\n if (!nodeList) {\n return []\n }\n\n return [].slice.call(nodeList)\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n const elementStyle = getComputedStyle(element)\n const parentNodeStyle = getComputedStyle(element.parentNode)\n\n return elementStyle.display !== 'none' &&\n parentNodeStyle.display !== 'none' &&\n elementStyle.visibility !== 'hidden'\n }\n\n return false\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n makeArray,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst mapData = (() => {\n const storeData = {}\n let id = 1\n return {\n set(element, key, data) {\n if (typeof element.key === 'undefined') {\n element.key = {\n key,\n id\n }\n id++\n }\n\n storeData[element.key.id] = data\n },\n get(element, key) {\n if (!element || typeof element.key === 'undefined') {\n return null\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.key === 'undefined') {\n return\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.key\n }\n }\n }\n})()\n\nconst Data = {\n setData(instance, key, data) {\n mapData.set(instance, key, data)\n },\n getData(instance, key) {\n return mapData.get(instance, key)\n },\n removeData(instance, key) {\n mapData.delete(instance, key)\n }\n}\n\nexport default Data\n","/* istanbul ignore file */\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/polyfill.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getUID } from '../util/index'\n\nlet { matches, closest } = Element.prototype\nlet find = Element.prototype.querySelectorAll\nlet findOne = Element.prototype.querySelector\nlet createCustomEvent = (eventName, params) => {\n const cEvent = new CustomEvent(eventName, params)\n\n return cEvent\n}\n\nif (typeof window.CustomEvent !== 'function') {\n createCustomEvent = (eventName, params) => {\n params = params || { bubbles: false, cancelable: false, detail: null }\n\n const evt = document.createEvent('CustomEvent')\n\n evt.initCustomEvent(eventName, params.bubbles, params.cancelable, params.detail)\n return evt\n }\n}\n\nconst workingDefaultPrevented = (() => {\n const e = document.createEvent('CustomEvent')\n\n e.initEvent('Bootstrap', true, true)\n e.preventDefault()\n return e.defaultPrevented\n})()\n\nif (!workingDefaultPrevented) {\n const origPreventDefault = Event.prototype.preventDefault\n\n Event.prototype.preventDefault = function () {\n if (!this.cancelable) {\n return\n }\n\n origPreventDefault.call(this)\n Object.defineProperty(this, 'defaultPrevented', {\n get() {\n return true\n },\n configurable: true\n })\n }\n}\n\n// MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached\nconst defaultPreventedPreservedOnDispatch = (() => {\n const e = createCustomEvent('Bootstrap', {\n cancelable: true\n })\n\n const element = document.createElement('div')\n element.addEventListener('Bootstrap', () => null)\n\n e.preventDefault()\n element.dispatchEvent(e)\n return e.defaultPrevented\n})()\n\nif (!matches) {\n matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector\n}\n\nif (!closest) {\n closest = function (selector) {\n let element = this\n\n do {\n if (matches.call(element, selector)) {\n return element\n }\n\n element = element.parentElement || element.parentNode\n } while (element !== null && element.nodeType === 1)\n\n return null\n }\n}\n\nconst scopeSelectorRegex = /:scope\\b/\nconst supportScopeQuery = (() => {\n const element = document.createElement('div')\n\n try {\n element.querySelectorAll(':scope *')\n } catch (_) {\n return false\n }\n\n return true\n})()\n\nif (!supportScopeQuery) {\n find = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelectorAll(selector)\n }\n\n const hasId = Boolean(this.id)\n\n if (!hasId) {\n this.id = getUID('scope')\n }\n\n let nodeList = null\n try {\n selector = selector.replace(scopeSelectorRegex, `#${this.id}`)\n nodeList = this.querySelectorAll(selector)\n } finally {\n if (!hasId) {\n this.removeAttribute('id')\n }\n }\n\n return nodeList\n }\n\n findOne = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelector(selector)\n }\n\n const matches = find.call(this, selector)\n\n if (typeof matches[0] !== 'undefined') {\n return matches[0]\n }\n\n return null\n }\n}\n\nexport {\n createCustomEvent,\n find,\n findOne,\n matches,\n closest,\n defaultPreventedPreservedOnDispatch\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\nimport { createCustomEvent, defaultPreventedPreservedOnDispatch } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst $ = getjQuery()\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst keyEventRegex = /^key/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\nconst nativeEvents = [\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n]\n\n/**\n * ------------------------------------------------------------------------\n * Private methods\n * ------------------------------------------------------------------------\n */\n\nfunction getUidEvent(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getEvent(element) {\n const uid = getUidEvent(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction fixEvent(event, element) {\n // Add which for key events\n if (event.which === null && keyEventRegex.test(event.type)) {\n event.which = event.charCode === null ? event.keyCode : event.charCode\n }\n\n event.delegateTarget = element\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n fixEvent(event, element)\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = target.parentNode) {\n for (let i = domElements.length; i--;) {\n if (domElements[i] === target) {\n fixEvent(event, target)\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n\n // To please ESLint\n return null\n }\n}\n\nfunction findHandler(events, handler, delegationSelector = null) {\n const uidEventList = Object.keys(events)\n\n for (let i = 0, len = uidEventList.length; i < len; i++) {\n const event = events[uidEventList[i]]\n\n if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\n return event\n }\n }\n\n return null\n}\n\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\n const delegation = typeof handler === 'string'\n const originalHandler = delegation ? delegationFn : handler\n\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n let typeEvent = originalTypeEvent.replace(stripNameRegex, '')\n const custom = customEvents[typeEvent]\n\n if (custom) {\n typeEvent = custom\n }\n\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n if (!isNative) {\n typeEvent = originalTypeEvent\n }\n\n return [delegation, originalHandler, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n if (!handler) {\n handler = delegationFn\n delegationFn = null\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const events = getEvent(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null)\n\n if (previousFn) {\n previousFn.oneOff = previousFn.oneOff && oneOff\n\n return\n }\n\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = delegation ?\n bootstrapDelegationHandler(element, handler, delegationFn) :\n bootstrapHandler(element, handler)\n\n fn.delegationSelector = delegation ? handler : null\n fn.originalHandler = originalHandler\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, delegation)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {}\n\n Object.keys(storeElementEvent)\n .forEach(handlerKey => {\n if (handlerKey.indexOf(namespace) > -1) {\n const event = storeElementEvent[handlerKey]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, false)\n },\n\n one(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFn) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getEvent(element)\n const isNamespace = originalTypeEvent.charAt(0) === '.'\n\n if (typeof originalHandler !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!events || !events[typeEvent]) {\n return\n }\n\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null)\n return\n }\n\n if (isNamespace) {\n Object.keys(events)\n .forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent)\n .forEach(keyHandlers => {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.indexOf(handlerKey) > -1) {\n const event = storeElementEvent[keyHandlers]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const typeEvent = event.replace(stripNameRegex, '')\n const inNamespace = event !== typeEvent\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n let jQueryEvent\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n let evt = null\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n if (isNative) {\n evt = document.createEvent('HTMLEvents')\n evt.initEvent(typeEvent, bubbles, true)\n } else {\n evt = createCustomEvent(event, {\n bubbles,\n cancelable: true\n })\n }\n\n // merge custom informations in our event\n if (typeof args !== 'undefined') {\n Object.keys(args)\n .forEach(key => {\n Object.defineProperty(evt, key, {\n get() {\n return args[key]\n }\n })\n })\n }\n\n if (defaultPrevented) {\n evt.preventDefault()\n\n if (!defaultPreventedPreservedOnDispatch) {\n Object.defineProperty(evt, 'defaultPrevented', {\n get: () => true\n })\n }\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { find as findFn, findOne, matches, closest } from './polyfill'\nimport { makeArray } from '../util/index'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n matches(element, selector) {\n return matches.call(element, selector)\n },\n\n find(selector, element = document.documentElement) {\n return findFn.call(element, selector)\n },\n\n findOne(selector, element = document.documentElement) {\n return findOne.call(element, selector)\n },\n\n children(element, selector) {\n const children = makeArray(element.children)\n\n return children.filter(child => this.matches(child, selector))\n },\n\n parents(element, selector) {\n const parents = []\n\n let ancestor = element.parentNode\n\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\n if (this.matches(ancestor, selector)) {\n parents.push(ancestor)\n }\n\n ancestor = ancestor.parentNode\n }\n\n return parents\n },\n\n closest(element, selector) {\n return closest.call(element, selector)\n },\n\n prev(element, selector) {\n const siblings = []\n\n let previous = element.previousSibling\n\n while (previous && previous.nodeType === Node.ELEMENT_NODE && previous.nodeType !== NODE_TEXT) {\n if (this.matches(previous, selector)) {\n siblings.push(previous)\n }\n\n previous = previous.previousSibling\n }\n\n return siblings\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Selector = {\n DISMISS: '[data-dismiss=\"alert\"]'\n}\n\nconst Event = {\n CLOSE: `close${EVENT_KEY}`,\n CLOSED: `closed${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n ALERT: 'alert',\n FADE: 'fade',\n SHOW: 'show'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n\n if (this._element) {\n Data.setData(element, DATA_KEY, this)\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent === null || customEvent.defaultPrevented) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n let parent = getElementFromSelector(element)\n\n if (!parent) {\n parent = SelectorEngine.closest(element, `.${ClassName.ALERT}`)\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n return EventHandler.trigger(element, Event.CLOSE)\n }\n\n _removeElement(element) {\n element.classList.remove(ClassName.SHOW)\n\n if (!element.classList.contains(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = getTransitionDurationFromElement(element)\n\n EventHandler\n .one(element, TRANSITION_END, () => this._destroyElement(element))\n emulateTransitionEnd(element, transitionDuration)\n }\n\n _destroyElement(element) {\n if (element.parentNode) {\n element.parentNode.removeChild(element)\n }\n\n EventHandler.trigger(element, Event.CLOSED)\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.DISMISS, Alert.handleDismiss(new Alert()))\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .alert to jQuery only if jQuery is present\n */\n\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Alert.jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert.jQueryInterface\n }\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ClassName = {\n ACTIVE: 'active',\n BUTTON: 'btn',\n FOCUS: 'focus'\n}\n\nconst Selector = {\n DATA_TOGGLE_CARROT: '[data-toggle^=\"button\"]',\n DATA_TOGGLE: '[data-toggle=\"buttons\"]',\n INPUT: 'input:not([type=\"hidden\"])',\n ACTIVE: '.active',\n BUTTON: '.btn'\n}\n\nconst Event = {\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_DATA_API: `focus${EVENT_KEY}${DATA_API_KEY}`,\n BLUR_DATA_API: `blur${EVENT_KEY}${DATA_API_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n\n const rootElement = SelectorEngine.closest(\n this._element,\n Selector.DATA_TOGGLE\n )\n\n if (rootElement) {\n const input = SelectorEngine.findOne(Selector.INPUT, this._element)\n\n if (input && input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = SelectorEngine.findOne(Selector.ACTIVE, rootElement)\n\n if (activeElement) {\n activeElement.classList.remove(ClassName.ACTIVE)\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains('disabled') ||\n rootElement.classList.contains('disabled')) {\n return\n }\n\n input.checked = !this._element.classList.contains(ClassName.ACTIVE)\n EventHandler.trigger(input, 'change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n this._element.classList.toggle(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n event.preventDefault()\n\n let button = event.target\n if (!button.classList.contains(ClassName.BUTTON)) {\n button = SelectorEngine.closest(button, Selector.BUTTON)\n }\n\n let data = Data.getData(button, DATA_KEY)\n if (!data) {\n data = new Button(button)\n }\n\n data.toggle()\n})\n\nEventHandler.on(document, Event.FOCUS_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n const button = SelectorEngine.closest(event.target, Selector.BUTTON)\n\n if (button) {\n button.classList.add(ClassName.FOCUS)\n }\n})\n\nEventHandler.on(document, Event.BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n const button = SelectorEngine.closest(event.target, Selector.BUTTON)\n\n if (button) {\n button.classList.remove(ClassName.FOCUS)\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .button to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Button.jQueryInterface\n $.fn[NAME].Constructor = Button\n\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button.jQueryInterface\n }\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(val) {\n if (val === 'true') {\n return true\n }\n\n if (val === 'false') {\n return false\n }\n\n if (val === Number(val).toString()) {\n return Number(val)\n }\n\n if (val === '' || val === 'null') {\n return null\n }\n\n return val\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {\n ...element.dataset\n }\n\n Object.keys(attributes).forEach(key => {\n attributes[key] = normalizeData(attributes[key])\n })\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-${normalizeDataKey(key)}`))\n },\n\n offset(element) {\n const rect = element.getBoundingClientRect()\n\n return {\n top: rect.top + document.body.scrollTop,\n left: rect.left + document.body.scrollLeft\n }\n },\n\n position(element) {\n return {\n top: element.offsetTop,\n left: element.offsetLeft\n }\n },\n\n toggleClass(element, className) {\n if (!element) {\n return\n }\n\n if (element.classList.contains(className)) {\n element.classList.remove(className)\n } else {\n element.classList.add(className)\n }\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n makeArray,\n reflow,\n triggerTransitionEnd,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n}\n\nconst Direction = {\n NEXT: 'next',\n PREV: 'prev',\n LEFT: 'left',\n RIGHT: 'right'\n}\n\nconst Event = {\n SLIDE: `slide${EVENT_KEY}`,\n SLID: `slid${EVENT_KEY}`,\n KEYDOWN: `keydown${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`,\n TOUCHSTART: `touchstart${EVENT_KEY}`,\n TOUCHMOVE: `touchmove${EVENT_KEY}`,\n TOUCHEND: `touchend${EVENT_KEY}`,\n POINTERDOWN: `pointerdown${EVENT_KEY}`,\n POINTERUP: `pointerup${EVENT_KEY}`,\n DRAG_START: `dragstart${EVENT_KEY}`,\n LOAD_DATA_API: `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n CAROUSEL: 'carousel',\n ACTIVE: 'active',\n SLIDE: 'slide',\n RIGHT: 'carousel-item-right',\n LEFT: 'carousel-item-left',\n NEXT: 'carousel-item-next',\n PREV: 'carousel-item-prev',\n ITEM: 'carousel-item',\n POINTER_EVENT: 'pointer-event'\n}\n\nconst Selector = {\n ACTIVE: '.active',\n ACTIVE_ITEM: '.active.carousel-item',\n ITEM: '.carousel-item',\n ITEM_IMG: '.carousel-item img',\n NEXT_PREV: '.carousel-item-next, .carousel-item-prev',\n INDICATORS: '.carousel-indicators',\n DATA_SLIDE: '[data-slide], [data-slide-to]',\n DATA_RIDE: '[data-ride=\"carousel\"]'\n}\n\nconst PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = SelectorEngine.findOne(Selector.INDICATORS, this._element)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (SelectorEngine.findOne(Selector.NEXT_PREV, this._element)) {\n triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config && this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element)\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex ?\n Direction.NEXT :\n Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n Data.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler\n .on(this._element, Event.KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler\n .on(this._element, Event.MOUSEENTER, event => this.pause(event))\n EventHandler\n .on(this._element, Event.MOUSELEAVE, event => this.cycle(event))\n }\n\n if (this._config.touch && this._touchSupported) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n const start = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchStartX = event.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.touches[0].clientX\n }\n }\n\n const move = event => {\n // ensure swiping with one touch and not pinching\n if (event.touches && event.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n\n this.touchTimeout = setTimeout(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n makeArray(SelectorEngine.find(Selector.ITEM_IMG, this._element)).forEach(itemImg => {\n EventHandler.on(itemImg, Event.DRAG_START, e => e.preventDefault())\n })\n\n if (this._pointerEvent) {\n EventHandler.on(this._element, Event.POINTERDOWN, event => start(event))\n EventHandler.on(this._element, Event.POINTERUP, event => end(event))\n\n this._element.classList.add(ClassName.POINTER_EVENT)\n } else {\n EventHandler.on(this._element, Event.TOUCHSTART, event => start(event))\n EventHandler.on(this._element, Event.TOUCHMOVE, event => move(event))\n EventHandler.on(this._element, Event.TOUCHEND, event => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode ?\n makeArray(SelectorEngine.find(Selector.ITEM, element.parentNode)) :\n []\n\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = (isPrevDirection && activeIndex === 0) ||\n (isNextDirection && activeIndex === lastItemIndex)\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] :\n this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element))\n\n return EventHandler.trigger(this._element, Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = SelectorEngine.find(Selector.ACTIVE, this._indicatorsElement)\n for (let i = 0; i < indicators.length; i++) {\n indicators[i].classList.remove(ClassName.ACTIVE)\n }\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n nextIndicator.classList.add(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || (activeElement &&\n this._getItemByDirection(direction, activeElement))\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && nextElement.classList.contains(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.defaultPrevented) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n if (this._element.classList.contains(ClassName.SLIDE)) {\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = getTransitionDurationFromElement(activeElement)\n\n EventHandler\n .one(activeElement, TRANSITION_END, () => {\n nextElement.classList.remove(directionalClassName)\n nextElement.classList.remove(orderClassName)\n nextElement.classList.add(ClassName.ACTIVE)\n\n activeElement.classList.remove(ClassName.ACTIVE)\n activeElement.classList.remove(orderClassName)\n activeElement.classList.remove(directionalClassName)\n\n this._isSliding = false\n\n setTimeout(() => {\n EventHandler.trigger(this._element, Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }, 0)\n })\n\n emulateTransitionEnd(activeElement, transitionDuration)\n } else {\n activeElement.classList.remove(ClassName.ACTIVE)\n nextElement.classList.add(ClassName.ACTIVE)\n\n this._isSliding = false\n EventHandler.trigger(this._element, Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static carouselInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n let _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element)\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(element, _config)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Carousel.carouselInterface(this, config)\n })\n }\n\n static dataApiClickHandler(event) {\n const target = getElementFromSelector(this)\n\n if (!target || !target.classList.contains(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel.carouselInterface(target, config)\n\n if (slideIndex) {\n Data.getData(target, DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel.dataApiClickHandler)\n\nEventHandler.on(window, Event.LOAD_DATA_API, () => {\n const carousels = makeArray(SelectorEngine.find(Selector.DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n Carousel.carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY))\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .carousel to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Carousel.jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel.jQueryInterface\n }\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isElement,\n makeArray,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n toggle: true,\n parent: ''\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(string|element)'\n}\n\nconst Event = {\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SHOW: 'show',\n COLLAPSE: 'collapse',\n COLLAPSING: 'collapsing',\n COLLAPSED: 'collapsed'\n}\n\nconst Dimension = {\n WIDTH: 'width',\n HEIGHT: 'height'\n}\n\nconst Selector = {\n ACTIVES: '.show, .collapsing',\n DATA_TOGGLE: '[data-toggle=\"collapse\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = makeArray(SelectorEngine.find(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n\n const toggleList = makeArray(SelectorEngine.find(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = getSelectorFromElement(elem)\n const filterElement = makeArray(SelectorEngine.find(selector))\n .filter(foundElem => foundElem === element)\n\n if (selector !== null && filterElement.length) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if (this._element.classList.contains(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = makeArray(SelectorEngine.find(Selector.ACTIVES, this._parent))\n .filter(elem => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(ClassName.COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n const container = SelectorEngine.findOne(this._selector)\n if (actives) {\n const tempActiveData = actives.filter(elem => container !== elem)\n activesData = tempActiveData[0] ? Data.getData(tempActiveData[0], DATA_KEY) : null\n\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = EventHandler.trigger(this._element, Event.SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n if (actives) {\n actives.forEach(elemActive => {\n if (container !== elemActive) {\n Collapse.collapseInterface(elemActive, 'hide')\n }\n\n if (!activesData) {\n Data.setData(elemActive, DATA_KEY, null)\n }\n })\n }\n\n const dimension = this._getDimension()\n\n this._element.classList.remove(ClassName.COLLAPSE)\n this._element.classList.add(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n this._triggerArray.forEach(element => {\n element.classList.remove(ClassName.COLLAPSED)\n element.setAttribute('aria-expanded', true)\n })\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this._element.classList.remove(ClassName.COLLAPSING)\n this._element.classList.add(ClassName.COLLAPSE)\n this._element.classList.add(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n EventHandler.trigger(this._element, Event.SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n\n emulateTransitionEnd(this._element, transitionDuration)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, Event.HIDE)\n if (startEvent.defaultPrevented) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n reflow(this._element)\n\n this._element.classList.add(ClassName.COLLAPSING)\n this._element.classList.remove(ClassName.COLLAPSE)\n this._element.classList.remove(ClassName.SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const elem = getElementFromSelector(trigger)\n\n if (elem && !elem.classList.contains(ClassName.SHOW)) {\n trigger.classList.add(ClassName.COLLAPSED)\n trigger.setAttribute('aria-expanded', false)\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n this._element.classList.remove(ClassName.COLLAPSING)\n this._element.classList.add(ClassName.COLLAPSE)\n EventHandler.trigger(this._element, Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = this._element.classList.contains(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let { parent } = this._config\n\n if (isElement(parent)) {\n // it's a jQuery object\n if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {\n parent = parent[0]\n }\n } else {\n parent = SelectorEngine.findOne(parent)\n }\n\n const selector = `[data-toggle=\"collapse\"][data-parent=\"${parent}\"]`\n\n makeArray(SelectorEngine.find(selector, parent))\n .forEach(element => {\n const selected = getElementFromSelector(element)\n\n this._addAriaAndCollapsedClass(\n selected,\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (element) {\n const isOpen = element.classList.contains(ClassName.SHOW)\n\n if (triggerArray.length) {\n triggerArray.forEach(elem => {\n if (isOpen) {\n elem.classList.remove(ClassName.COLLAPSED)\n } else {\n elem.classList.add(ClassName.COLLAPSED)\n }\n\n elem.setAttribute('aria-expanded', isOpen)\n })\n }\n }\n }\n\n // Static\n\n static collapseInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Collapse.collapseInterface(this, config)\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A') {\n event.preventDefault()\n }\n\n const triggerData = Manipulator.getDataAttributes(this)\n const selector = getSelectorFromElement(this)\n const selectorElements = makeArray(SelectorEngine.find(selector))\n\n selectorElements.forEach(element => {\n const data = Data.getData(element, DATA_KEY)\n let config\n if (data) {\n // update parent attribute\n if (data._parent === null && typeof triggerData.parent === 'string') {\n data._config.parent = triggerData.parent\n data._parent = data._getParent()\n }\n\n config = 'toggle'\n } else {\n config = triggerData\n }\n\n Collapse.collapseInterface(element, config)\n })\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .collapse to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Collapse.jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse.jQueryInterface\n }\n}\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getElementFromSelector,\n isElement,\n isVisible,\n makeArray,\n noop,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API: `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API: `keyup${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DISABLED: 'disabled',\n SHOW: 'show',\n DROPUP: 'dropup',\n DROPRIGHT: 'dropright',\n DROPLEFT: 'dropleft',\n MENURIGHT: 'dropdown-menu-right',\n POSITION_STATIC: 'position-static'\n}\n\nconst Selector = {\n DATA_TOGGLE: '[data-toggle=\"dropdown\"]',\n FORM_CHILD: '.dropdown form',\n MENU: '.dropdown-menu',\n NAVBAR_NAV: '.navbar-nav',\n VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n}\n\nconst AttachmentMap = {\n TOP: 'top-start',\n TOPEND: 'top-end',\n BOTTOM: 'bottom-start',\n BOTTOMEND: 'bottom-end',\n RIGHT: 'right-start',\n RIGHTEND: 'right-end',\n LEFT: 'left-start',\n LEFTEND: 'left-end'\n}\n\nconst Default = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n const isActive = this._menu.classList.contains(ClassName.SHOW)\n\n Dropdown.clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show()\n }\n\n show() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED) || this._menu.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const showEvent = EventHandler.trigger(parent, Event.SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n parent.classList.add(ClassName.POSITION_STATIC)\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n !makeArray(SelectorEngine.closest(parent, Selector.NAVBAR_NAV)).length) {\n makeArray(document.body.children)\n .forEach(elem => EventHandler.on(elem, 'mouseover', null, noop()))\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n Manipulator.toggleClass(this._menu, ClassName.SHOW)\n Manipulator.toggleClass(parent, ClassName.SHOW)\n EventHandler.trigger(parent, Event.SHOWN, relatedTarget)\n }\n\n hide() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED) || !this._menu.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const hideEvent = EventHandler.trigger(parent, Event.HIDE, relatedTarget)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n Manipulator.toggleClass(this._menu, ClassName.SHOW)\n Manipulator.toggleClass(parent, ClassName.SHOW)\n EventHandler.trigger(parent, Event.HIDDEN, relatedTarget)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._element, EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n EventHandler.on(this._element, Event.CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n const parent = Dropdown.getParentFromElement(this._element)\n\n return SelectorEngine.findOne(Selector.MENU, parent)\n }\n\n _getPlacement() {\n const parentDropdown = this._element.parentNode\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if (parentDropdown.classList.contains(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if (this._menu.classList.contains(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if (parentDropdown.classList.contains(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if (parentDropdown.classList.contains(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if (this._menu.classList.contains(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n\n return placement\n }\n\n _detectNavbar() {\n return Boolean(SelectorEngine.closest(this._element, '.navbar'))\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets, this._element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static dropdownInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Dropdown.dropdownInterface(this, config)\n })\n }\n\n static clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n (event.type === 'keyup' && event.which !== TAB_KEYCODE))) {\n return\n }\n\n const toggles = makeArray(SelectorEngine.find(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown.getParentFromElement(toggles[i])\n const context = Data.getData(toggles[i], DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!parent.classList.contains(ClassName.SHOW)) {\n continue\n }\n\n if (event && ((event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName)) ||\n (event.type === 'keyup' && event.which === TAB_KEYCODE)) &&\n parent.contains(event.target)) {\n continue\n }\n\n const hideEvent = EventHandler.trigger(parent, Event.HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children)\n .forEach(elem => EventHandler.off(elem, 'mouseover', null, noop()))\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n dropdownMenu.classList.remove(ClassName.SHOW)\n parent.classList.remove(ClassName.SHOW)\n EventHandler.trigger(parent, Event.HIDDEN, relatedTarget)\n }\n }\n\n static getParentFromElement(element) {\n return getElementFromSelector(element) || element.parentNode\n }\n\n static dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ?\n event.which === SPACE_KEYCODE || (event.which !== ESCAPE_KEYCODE &&\n ((event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE) ||\n SelectorEngine.closest(event.target, Selector.MENU))) :\n !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || this.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this)\n const isActive = parent.classList.contains(ClassName.SHOW)\n\n if (!isActive || (isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE))) {\n if (event.which === ESCAPE_KEYCODE) {\n SelectorEngine.findOne(Selector.DATA_TOGGLE, parent).focus()\n }\n\n Dropdown.clearMenus()\n return\n }\n\n const items = makeArray(SelectorEngine.find(Selector.VISIBLE_ITEMS, parent))\n .filter(isVisible)\n\n if (!items.length) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, Event.CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, Event.KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown.dropdownInterface(this, 'toggle')\n})\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.FORM_CHILD, e => e.stopPropagation())\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .dropdown to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Dropdown.jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown.jQueryInterface\n }\n}\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n makeArray,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: 'boolean'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDE_PREVENTED: `hidePrevented${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n RESIZE: `resize${EVENT_KEY}`,\n CLICK_DISMISS: `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS: `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS: `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS: `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SCROLLABLE: 'modal-dialog-scrollable',\n SCROLLBAR_MEASURER: 'modal-scrollbar-measure',\n BACKDROP: 'modal-backdrop',\n OPEN: 'modal-open',\n FADE: 'fade',\n SHOW: 'show',\n STATIC: 'modal-static'\n}\n\nconst Selector = {\n DIALOG: '.modal-dialog',\n MODAL_BODY: '.modal-body',\n DATA_TOGGLE: '[data-toggle=\"modal\"]',\n DATA_DISMISS: '[data-dismiss=\"modal\"]',\n FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT: '.sticky-top'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = SelectorEngine.findOne(Selector.DIALOG, element)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if (this._element.classList.contains(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = EventHandler.trigger(this._element, Event.SHOW, {\n relatedTarget\n })\n\n if (this._isShown || showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.on(this._element,\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n event => this.hide(event)\n )\n\n EventHandler.on(this._dialog, Event.MOUSEDOWN_DISMISS, () => {\n EventHandler.one(this._element, Event.MOUSEUP_DISMISS, event => {\n if (event.target === this._element) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, Event.HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n const transition = this._element.classList.contains(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.off(document, Event.FOCUSIN)\n\n this._element.classList.remove(ClassName.SHOW)\n\n EventHandler.off(this._element, Event.CLICK_DISMISS)\n EventHandler.off(this._dialog, Event.MOUSEDOWN_DISMISS)\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, event => this._hideModal(event))\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\n\n /**\n * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `Event.CLICK_DATA_API` event that should remain\n */\n EventHandler.off(document, Event.FOCUSIN)\n\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = this._element.classList.contains(ClassName.FADE)\n const modalBody = SelectorEngine.findOne(Selector.MODAL_BODY, this._dialog)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n\n if (this._dialog.classList.contains(ClassName.SCROLLABLE) && modalBody) {\n modalBody.scrollTop = 0\n } else {\n this._element.scrollTop = 0\n }\n\n if (transition) {\n reflow(this._element)\n }\n\n this._element.classList.add(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, Event.SHOWN, {\n relatedTarget\n })\n }\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._dialog)\n\n EventHandler.one(this._dialog, TRANSITION_END, transitionComplete)\n emulateTransitionEnd(this._dialog, transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n EventHandler.off(document, Event.FOCUSIN) // guard against infinite focus loop\n EventHandler.on(document, Event.FOCUSIN, event => {\n if (document !== event.target &&\n this._element !== event.target &&\n !this._element.contains(event.target)) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n EventHandler.on(this._element, Event.KEYDOWN_DISMISS, event => {\n if (event.which === ESCAPE_KEYCODE) {\n this._triggerBackdropTransition()\n }\n })\n } else {\n EventHandler.off(this._element, Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n EventHandler.on(window, Event.RESIZE, () => this._adjustDialog())\n } else {\n EventHandler.off(window, Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._isTransitioning = false\n this._showBackdrop(() => {\n document.body.classList.remove(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n EventHandler.trigger(this._element, Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n this._backdrop.parentNode.removeChild(this._backdrop)\n this._backdrop = null\n }\n\n _showBackdrop(callback) {\n const animate = this._element.classList.contains(ClassName.FADE) ?\n ClassName.FADE :\n ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n document.body.appendChild(this._backdrop)\n\n EventHandler.on(this._element, Event.CLICK_DISMISS, event => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n\n if (event.target !== event.currentTarget) {\n return\n }\n\n this._triggerBackdropTransition()\n })\n\n if (animate) {\n reflow(this._backdrop)\n }\n\n this._backdrop.classList.add(ClassName.SHOW)\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n\n EventHandler.one(this._backdrop, TRANSITION_END, callback)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n this._backdrop.classList.remove(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n callback()\n }\n\n if (this._element.classList.contains(ClassName.FADE)) {\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else {\n callback()\n }\n }\n\n _triggerBackdropTransition() {\n if (this._config.backdrop === 'static') {\n const hideEvent = EventHandler.trigger(this._element, Event.HIDE_PREVENTED)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._element.classList.add(ClassName.STATIC)\n const modalTransitionDuration = getTransitionDurationFromElement(this._element)\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.classList.remove(ClassName.STATIC)\n })\n emulateTransitionEnd(this._element, modalTransitionDuration)\n this._element.focus()\n } else {\n this.hide()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n makeArray(SelectorEngine.find(Selector.FIXED_CONTENT))\n .forEach(element => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = window.getComputedStyle(element)['padding-right']\n Manipulator.setDataAttribute(element, 'padding-right', actualPadding)\n element.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n })\n\n // Adjust sticky content margin\n makeArray(SelectorEngine.find(Selector.STICKY_CONTENT))\n .forEach(element => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = window.getComputedStyle(element)['margin-right']\n Manipulator.setDataAttribute(element, 'margin-right', actualMargin)\n element.style.marginRight = `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = window.getComputedStyle(document.body)['padding-right']\n\n Manipulator.setDataAttribute(document.body, 'padding-right', actualPadding)\n document.body.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n }\n\n document.body.classList.add(ClassName.OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n makeArray(SelectorEngine.find(Selector.FIXED_CONTENT))\n .forEach(element => {\n const padding = Manipulator.getDataAttribute(element, 'padding-right')\n if (typeof padding !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'padding-right')\n element.style.paddingRight = padding\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n makeArray(SelectorEngine.find(`${Selector.STICKY_CONTENT}`))\n .forEach(element => {\n const margin = Manipulator.getDataAttribute(element, 'margin-right')\n if (typeof margin !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'margin-right')\n element.style.marginRight = margin\n }\n })\n\n // Restore body padding\n const padding = Manipulator.getDataAttribute(document.body, 'padding-right')\n if (typeof padding === 'undefined') {\n document.body.style.paddingRight = ''\n } else {\n Manipulator.removeDataAttribute(document.body, 'padding-right')\n document.body.style.paddingRight = padding\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(this),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n EventHandler.one(target, Event.SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, Event.HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n let data = Data.getData(target, DATA_KEY)\n if (!data) {\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n\n data = new Modal(target, config)\n }\n\n data.show(this)\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .modal to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Modal.jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal.jQueryInterface\n }\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { makeArray } from './index'\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i\n\nconst allowedAttribute = (attr, allowedAttributeList) => {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter(attrRegex => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, l = regExp.length; i < l; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\n\nexport const DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\nexport function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const whitelistKeys = Object.keys(whiteList)\n const elements = makeArray(createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (whitelistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = makeArray(el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n findShadowRoot,\n getTransitionDurationFromElement,\n getUID,\n isElement,\n makeArray,\n noop,\n typeCheckConfig\n} from './util/index'\nimport {\n DefaultWhitelist,\n sanitizeHtml\n} from './util/sanitizer'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']\n\nconst DefaultType = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n whiteList: 'object',\n popperConfig: '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n}\n\nconst Default = {\n animation: true,\n template: '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"tooltip-arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\n sanitize: true,\n sanitizeFn: null,\n whiteList: DefaultWhitelist,\n popperConfig: null\n}\n\nconst HoverState = {\n SHOW: 'show',\n OUT: 'out'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n TOOLTIP_INNER: '.tooltip-inner'\n}\n\nconst Trigger = {\n HOVER: 'hover',\n FOCUS: 'focus',\n CLICK: 'click',\n MANUAL: 'manual'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n Data.setData(element, this.constructor.DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if (this.getTipElement().classList.contains(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n Data.removeData(this.element, this.constructor.DATA_KEY)\n\n EventHandler.off(this.element, this.constructor.EVENT_KEY)\n EventHandler.off(SelectorEngine.closest(this.element, '.modal'), 'hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n this.tip.parentNode.removeChild(this.tip)\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if (this.element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (this.isWithContent() && this._isEnabled) {\n const showEvent = EventHandler.trigger(this.element, this.constructor.Event.SHOW)\n const shadowRoot = findShadowRoot(this.element)\n const isInTheDom = shadowRoot === null ?\n this.element.ownerDocument.documentElement.contains(this.element) :\n shadowRoot.contains(this.element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n tip.classList.add(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function' ?\n this.config.placement.call(this, tip, this.element) :\n this.config.placement\n\n const attachment = this._getAttachment(placement)\n this._addAttachmentClass(attachment)\n\n const container = this._getContainer()\n Data.setData(tip, this.constructor.DATA_KEY, this)\n\n if (!this.element.ownerDocument.documentElement.contains(this.tip)) {\n container.appendChild(tip)\n }\n\n EventHandler.trigger(this.element, this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\n\n tip.classList.add(ClassName.SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children).forEach(element => {\n EventHandler.on(element, 'mouseover', noop())\n })\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n EventHandler.trigger(this.element, this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if (this.tip.classList.contains(ClassName.FADE)) {\n const transitionDuration = getTransitionDurationFromElement(this.tip)\n EventHandler.one(this.tip, TRANSITION_END, complete)\n emulateTransitionEnd(this.tip, transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide() {\n const tip = this.getTipElement()\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n EventHandler.trigger(this.element, this.constructor.Event.HIDDEN)\n this._popper.destroy()\n }\n\n const hideEvent = EventHandler.trigger(this.element, this.constructor.Event.HIDE)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n tip.classList.remove(ClassName.SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children)\n .forEach(element => EventHandler.off(element, 'mouseover', noop))\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if (this.tip.classList.contains(ClassName.FADE)) {\n const transitionDuration = getTransitionDurationFromElement(tip)\n\n EventHandler.one(tip, TRANSITION_END, complete)\n emulateTransitionEnd(tip, transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n getTipElement() {\n if (this.tip) {\n return this.tip\n }\n\n const element = document.createElement('div')\n element.innerHTML = this.config.template\n\n this.tip = element.children[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent(SelectorEngine.findOne(Selector.TOOLTIP_INNER, tip), this.getTitle())\n tip.classList.remove(ClassName.FADE)\n tip.classList.remove(ClassName.SHOW)\n }\n\n setElementContent(element, content) {\n if (element === null) {\n return\n }\n\n if (typeof content === 'object' && isElement(content)) {\n if (content.jquery) {\n content = content[0]\n }\n\n // content is a DOM node or a jQuery\n if (this.config.html) {\n if (content.parentNode !== element) {\n element.innerHTML = ''\n element.appendChild(content)\n }\n } else {\n element.innerText = content.textContent\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn)\n }\n\n element.innerHTML = content\n } else {\n element.innerText = content\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function' ?\n this.config.title.call(this.element) :\n this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: `.${this.constructor.NAME}-arrow`\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: data => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: data => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...this.config.offset(data.offsets, this.element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (isElement(this.config.container)) {\n return this.config.container\n }\n\n return SelectorEngine.findOne(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach(trigger => {\n if (trigger === 'click') {\n EventHandler.on(this.element,\n this.constructor.Event.CLICK,\n this.config.selector,\n event => this.toggle(event)\n )\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n EventHandler.on(this.element,\n eventIn,\n this.config.selector,\n event => this._enter(event)\n )\n EventHandler.on(this.element,\n eventOut,\n this.config.selector,\n event => this._leave(event)\n )\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n EventHandler.on(SelectorEngine.closest(this.element, '.modal'),\n 'hide.bs.modal',\n this._hideModalHandler\n )\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if (context.getTipElement().classList.contains(ClassName.SHOW) ||\n context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this.element)\n\n Object.keys(dataAttributes)\n .forEach(dataAttr => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n if (config && typeof config.container === 'object' && config.container.jquery) {\n config.container = config.container[0]\n }\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length) {\n tabClass\n .map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n const popperInstance = popperData.instance\n this.tip = popperInstance.popper\n this._cleanTipClass()\n this._addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n tip.classList.remove(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tooltip to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tooltip.jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip.jQueryInterface\n }\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport SelectorEngine from './dom/selector-engine'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement: 'right',\n trigger: 'click',\n content: '',\n template: '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"popover-arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(string|element|function)'\n}\n\nconst ClassName = {\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n TITLE: '.popover-header',\n CONTENT: '.popover-body'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n setContent() {\n const tip = this.getTipElement()\n\n // we use append for html objects to maintain js events\n this.setElementContent(SelectorEngine.findOne(Selector.TITLE, tip), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n\n this.setElementContent(SelectorEngine.findOne(Selector.CONTENT, tip), content)\n\n tip.classList.remove(ClassName.FADE)\n tip.classList.remove(ClassName.SHOW)\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n Data.setData(this, DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Popover.jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover.jQueryInterface\n }\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getSelectorFromElement,\n getUID,\n makeArray,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n offset: 10,\n method: 'auto',\n target: ''\n}\n\nconst DefaultType = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n}\n\nconst Event = {\n ACTIVATE: `activate${EVENT_KEY}`,\n SCROLL: `scroll${EVENT_KEY}`,\n LOAD_DATA_API: `load${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_ITEM: 'dropdown-item',\n ACTIVE: 'active'\n}\n\nconst Selector = {\n DATA_SPY: '[data-spy=\"scroll\"]',\n NAV_LIST_GROUP: '.nav, .list-group',\n NAV_LINKS: '.nav-link',\n NAV_ITEMS: '.nav-item',\n LIST_ITEMS: '.list-group-item',\n DROPDOWN: '.dropdown',\n DROPDOWN_TOGGLE: '.dropdown-toggle'\n}\n\nconst OffsetMethod = {\n OFFSET: 'offset',\n POSITION: 'position'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +\n `${this._config.target} ${Selector.LIST_ITEMS},` +\n `${this._config.target} .${ClassName.DROPDOWN_ITEM}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n EventHandler.on(this._scrollElement, Event.SCROLL, event => this._process(event))\n\n this.refresh()\n this._process()\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window ?\n OffsetMethod.OFFSET :\n OffsetMethod.POSITION\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod :\n this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION ?\n this._getScrollTop() :\n 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = makeArray(SelectorEngine.find(this._selector))\n\n targets\n .map(element => {\n let target\n const targetSelector = getSelectorFromElement(element)\n\n if (targetSelector) {\n target = SelectorEngine.findOne(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n return [\n Manipulator[offsetMethod](target).top + offsetBase,\n targetSelector\n ]\n }\n }\n\n return null\n })\n .filter(item => item)\n .sort((a, b) => a[0] - b[0])\n .forEach(item => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._scrollElement, EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.target !== 'string') {\n let { id } = config.target\n if (!id) {\n id = getUID(NAME)\n config.target.id = id\n }\n\n config.target = `#${id}`\n }\n\n typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset :\n this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight :\n this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n const offsetLength = this._offsets.length\n for (let i = offsetLength; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector.split(',')\n .map(selector => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const link = SelectorEngine.findOne(queries.join(','))\n\n if (link.classList.contains(ClassName.DROPDOWN_ITEM)) {\n SelectorEngine\n .findOne(Selector.DROPDOWN_TOGGLE, SelectorEngine.closest(link, Selector.DROPDOWN))\n .classList.add(ClassName.ACTIVE)\n\n link.classList.add(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n link.classList.add(ClassName.ACTIVE)\n\n SelectorEngine\n .parents(link, Selector.NAV_LIST_GROUP)\n .forEach(listGroup => {\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n SelectorEngine.prev(listGroup, `${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`)\n .forEach(item => item.classList.add(ClassName.ACTIVE))\n\n // Handle special case when .nav-link is inside .nav-item\n SelectorEngine.prev(listGroup, Selector.NAV_ITEMS)\n .forEach(navItem => {\n SelectorEngine.children(navItem, Selector.NAV_LINKS)\n .forEach(item => item.classList.add(ClassName.ACTIVE))\n })\n })\n }\n\n EventHandler.trigger(this._scrollElement, Event.ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n makeArray(SelectorEngine.find(this._selector))\n .filter(node => node.classList.contains(ClassName.ACTIVE))\n .forEach(node => node.classList.remove(ClassName.ACTIVE))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(window, Event.LOAD_DATA_API, () => {\n makeArray(SelectorEngine.find(Selector.DATA_SPY))\n .forEach(spy => new ScrollSpy(spy, Manipulator.getDataAttributes(spy)))\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = ScrollSpy.jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy.jQueryInterface\n }\n}\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n makeArray,\n reflow\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_MENU: 'dropdown-menu',\n ACTIVE: 'active',\n DISABLED: 'disabled',\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n DROPDOWN: '.dropdown',\n NAV_LIST_GROUP: '.nav, .list-group',\n ACTIVE: '.active',\n ACTIVE_UL: ':scope > li > .active',\n DATA_TOGGLE: '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n DROPDOWN_TOGGLE: '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD: ':scope > .dropdown-menu .active'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n\n Data.setData(this._element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if ((this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n this._element.classList.contains(ClassName.ACTIVE)) ||\n this._element.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n let previous\n const target = getElementFromSelector(this._element)\n const listElement = SelectorEngine.closest(this._element, Selector.NAV_LIST_GROUP)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n previous = makeArray(SelectorEngine.find(itemSelector, listElement))\n previous = previous[previous.length - 1]\n }\n\n let hideEvent = null\n\n if (previous) {\n hideEvent = EventHandler.trigger(previous, Event.HIDE, {\n relatedTarget: this._element\n })\n }\n\n const showEvent = EventHandler.trigger(this._element, Event.SHOW, {\n relatedTarget: previous\n })\n\n if (showEvent.defaultPrevented ||\n (hideEvent !== null && hideEvent.defaultPrevented)) {\n return\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n EventHandler.trigger(previous, Event.HIDDEN, {\n relatedTarget: this._element\n })\n EventHandler.trigger(this._element, Event.SHOWN, {\n relatedTarget: previous\n })\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ?\n SelectorEngine.find(Selector.ACTIVE_UL, container) :\n SelectorEngine.children(container, Selector.ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n (active && active.classList.contains(ClassName.FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = getTransitionDurationFromElement(active)\n active.classList.remove(ClassName.SHOW)\n\n EventHandler.one(active, TRANSITION_END, complete)\n emulateTransitionEnd(active, transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n active.classList.remove(ClassName.ACTIVE)\n\n const dropdownChild = SelectorEngine.findOne(Selector.DROPDOWN_ACTIVE_CHILD, active.parentNode)\n\n if (dropdownChild) {\n dropdownChild.classList.remove(ClassName.ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n element.classList.add(ClassName.ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n reflow(element)\n\n if (element.classList.contains(ClassName.FADE)) {\n element.classList.add(ClassName.SHOW)\n }\n\n if (element.parentNode && element.parentNode.classList.contains(ClassName.DROPDOWN_MENU)) {\n const dropdownElement = SelectorEngine.closest(element, Selector.DROPDOWN)\n\n if (dropdownElement) {\n makeArray(SelectorEngine.find(Selector.DROPDOWN_TOGGLE))\n .forEach(dropdown => dropdown.classList.add(ClassName.ACTIVE))\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n data.show()\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tab to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tab.jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab.jQueryInterface\n }\n}\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getTransitionDurationFromElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst Event = {\n CLICK_DISMISS: `click.dismiss${EVENT_KEY}`,\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE: 'fade',\n HIDE: 'hide',\n SHOW: 'show',\n SHOWING: 'showing'\n}\n\nconst DefaultType = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n}\n\nconst Default = {\n animation: true,\n autohide: true,\n delay: 500\n}\n\nconst Selector = {\n DATA_DISMISS: '[data-dismiss=\"toast\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n show() {\n const showEvent = EventHandler.trigger(this._element, Event.SHOW)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n if (this._config.animation) {\n this._element.classList.add(ClassName.FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(ClassName.SHOWING)\n this._element.classList.add(ClassName.SHOW)\n\n EventHandler.trigger(this._element, Event.SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(ClassName.HIDE)\n reflow(this._element)\n this._element.classList.add(ClassName.SHOWING)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, Event.HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const complete = () => {\n this._element.classList.add(ClassName.HIDE)\n EventHandler.trigger(this._element, Event.HIDDEN)\n }\n\n this._element.classList.remove(ClassName.SHOW)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n this._timeout = null\n\n if (this._element.classList.contains(ClassName.SHOW)) {\n this._element.classList.remove(ClassName.SHOW)\n }\n\n EventHandler.off(this._element, Event.CLICK_DISMISS)\n Data.removeData(this._element, DATA_KEY)\n\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...typeof config === 'object' && config ? config : {}\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(\n this._element,\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n () => this.hide()\n )\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .toast to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Toast.jQueryInterface\n $.fn[NAME].Constructor = Toast\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast.jQueryInterface\n }\n}\n\nexport default Toast\n"]} \ No newline at end of file
+{"version":3,"sources":["../../js/src/util/index.js","../../js/src/dom/data.js","../../js/src/dom/polyfill.js","../../js/src/dom/event-handler.js","../../js/src/dom/selector-engine.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/dom/manipulator.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/util/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js"],"names":["MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","toString","call","match","toLowerCase","getUID","prefix","Math","random","document","getElementById","getSelector","element","selector","getAttribute","hrefAttr","trim","getSelectorFromElement","querySelector","getElementFromSelector","getTransitionDurationFromElement","_window$getComputedSt","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","dispatchEvent","Event","isElement","nodeType","emulateTransitionEnd","duration","called","emulatedDuration","addEventListener","listener","removeEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","isVisible","style","parentNode","elementStyle","parentNodeStyle","display","visibility","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","mapData","storeData","id","set","key","data","get","keyProperties","delete","Data","setData","instance","getData","removeData","find","Element","prototype","querySelectorAll","findOne","defaultPreventedPreservedOnDispatch","e","CustomEvent","cancelable","createElement","preventDefault","defaultPrevented","scopeSelectorRegex","supportScopeQuery","_","this","hasId","Boolean","nodeList","replace","removeAttribute","matches","$","namespaceRegex","stripNameRegex","keyEventRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","getUidEvent","uid","getEvent","fixEvent","event","which","type","charCode","keyCode","delegateTarget","bootstrapHandler","fn","handler","oneOff","EventHandler","off","apply","bootstrapDelegationHandler","domElements","target","i","length","findHandler","events","delegationSelector","uidEventList","len","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","custom","indexOf","addHandler","_normalizeParams","handlers","previousFn","removeHandler","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","on","one","_normalizeParams2","inNamespace","isNamespace","charAt","elementEvent","slice","keyHandlers","trigger","args","jQueryEvent","isNative","bubbles","nativeDispatch","evt","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","createEvent","initEvent","defineProperty","NODE_TEXT","SelectorEngine","_ref","concat","findFn","children","_ref2","filter","child","parents","ancestor","Node","ELEMENT_NODE","push","closest","prev","previous","previousElementSibling","next","nextElementSibling","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","SELECTOR_DISMISS","EVENT_CLOSE","EVENT_CLOSED","EVENT_CLICK_DATA_API","CLASSNAME_ALERT","CLASSNAME_FADE","CLASSNAME_SHOW","Alert","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","_removeElement","dispose","parent","_this","classList","remove","contains","_destroyElement","removeChild","jQueryInterface","each","handleDismiss","alertInstance","getInstance","JQUERY_NO_CONFLICT","Constructor","noConflict","CLASS_NAME_ACTIVE","CLASS_NAME_BUTTON","CLASS_NAME_DISABLED","CLASS_NAME_FOCUS","SELECTOR_DATA_TOGGLE_CARROT","SELECTOR_DATA_TOGGLE","SELECTOR_INPUT","SELECTOR_ACTIVE","SELECTOR_BUTTON","EVENT_FOCUS_DATA_API","EVENT_BLUR_DATA_API","Button","toggle","triggerChangeEvent","addAriaPressed","input","checked","activeElement","focus","setAttribute","button","add","normalizeData","val","Number","normalizeDataKey","chr","Manipulator","setDataAttribute","removeDataAttribute","getDataAttributes","attributes","_objectSpread2","dataset","getDataAttribute","offset","rect","getBoundingClientRect","top","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft","toggleClass","className","ARROW_LEFT_KEYCODE","ARROW_RIGHT_KEYCODE","TOUCHEVENT_COMPAT_WAIT","SWIPE_THRESHOLD","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","DIRECTION_NEXT","DIRECTION_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","EVENT_DRAG_START","EVENT_LOAD_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_SLIDE","CLASS_NAME_RIGHT","CLASS_NAME_LEFT","CLASS_NAME_NEXT","CLASS_NAME_PREV","CLASS_NAME_POINTER_EVENT","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM","SELECTOR_ITEM_IMG","SELECTOR_NEXT_PREV","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","MSPointerEvent","_addEventListeners","_slide","nextWhenVisible","hidden","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","_handleSwipe","absDeltax","abs","_this2","_keydown","_addTouchEventListeners","_this3","start","pointerType","clientX","touches","end","clearTimeout","itemImg","move","tagName","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","from","_setActiveIndicatorElement","indicators","nextIndicator","directionalClassName","orderClassName","_this4","activeElementIndex","nextElement","nextElementIndex","isCycling","nextElementInterval","parseInt","defaultInterval","carouselInterface","action","TypeError","ride","dataApiClickHandler","slideIndex","carousels","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_SHOW","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","WIDTH","HEIGHT","SELECTOR_ACTIVES","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","container","tempActiveData","elemActive","collapseInterface","dimension","_getDimension","setTransitioning","scrollSize","triggerArrayLength","isTransitioning","jquery","selected","triggerArray","isOpen","triggerData","ESCAPE_KEYCODE","SPACE_KEYCODE","TAB_KEYCODE","ARROW_UP_KEYCODE","ARROW_DOWN_KEYCODE","RIGHT_MOUSE_BUTTON_WHICH","REGEXP_KEYDOWN","EVENT_CLICK","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","CLASS_NAME_DROPUP","CLASS_NAME_DROPRIGHT","CLASS_NAME_DROPLEFT","CLASS_NAME_MENURIGHT","CLASS_NAME_NAVBAR","CLASS_NAME_POSITION_STATIC","SELECTOR_FORM_CHILD","SELECTOR_MENU","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","PLACEMENT_TOP","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","flip","boundary","reference","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","clearMenus","getParentFromElement","Popper","referenceElement","_getPopperConfig","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","parentDropdown","placement","_getOffset","offsets","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","dropdownInterface","toggles","context","clickEvent","dropdownMenu","dataApiKeydownHandler","items","backdrop","EVENT_HIDE_PREVENTED","EVENT_FOCUSIN","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_KEYDOWN_DISMISS","EVENT_MOUSEUP_DISMISS","EVENT_MOUSEDOWN_DISMISS","CLASS_NAME_SCROLLABLE","CLASS_NAME_SCROLLBAR_MEASURER","CLASS_NAME_BACKDROP","CLASS_NAME_OPEN","CLASS_NAME_FADE","CLASS_NAME_STATIC","SELECTOR_DIALOG","SELECTOR_MODAL_BODY","SELECTOR_DATA_DISMISS","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","showEvent","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","handleUpdate","modalBody","appendChild","_enforceFocus","transitionComplete","_this5","_triggerBackdropTransition","_this6","_this7","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","_this8","animate","currentTarget","backdropTransitionDuration","callbackRemove","_this9","modalTransitionDuration","isModalOverflowing","scrollHeight","clientHeight","paddingLeft","paddingRight","right","innerWidth","_getScrollbarWidth","_this10","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","margin","scrollDiv","scrollbarWidth","width","clientWidth","_this11","uriAttrs","ARIA_ATTRIBUTE_PATTERN","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attr","allowedAttributeList","attrName","nodeName","nodeValue","regExp","attrRegex","DefaultWhitelist","*","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","sanitizeHtml","unsafeHtml","whiteList","sanitizeFn","createdDocument","DOMParser","parseFromString","whitelistKeys","elements","_loop","el","elName","attributeList","whitelistedAttributes","innerHTML","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","fallbackPlacement","sanitize","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","CLASS_NAME_MODAL","HOVER_STATE_SHOW","HOVER_STATE_OUT","SELECTOR_TOOLTIP_INNER","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","_addAttachmentClass","_getContainer","complete","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","innerText","textContent","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","tabClass","map","token","tClass","popperData","popperInstance","popper","initConfigAnimation","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","method","EVENT_ACTIVATE","EVENT_SCROLL","CLASS_NAME_DROPDOWN_ITEM","SELECTOR_DATA_SPY","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_DROPDOWN","SELECTOR_DROPDOWN_TOGGLE","METHOD_OFFSET","METHOD_POSITION","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targetSelector","targetBCR","height","item","sort","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","queries","link","join","listGroup","navItem","node","spy","CLASS_NAME_DROPDOWN_MENU","SELECTOR_ACTIVE_UL","SELECTOR_DROPDOWN_ACTIVE_CHILD","Tab","listElement","itemSelector","hideEvent","active","_transitionComplete","dropdownChild","dropdown","CLASS_NAME_HIDE","CLASS_NAME_SHOWING","autohide","Toast"],"mappings":"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","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => {\n if (obj === null || obj === undefined) {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = obj => (obj[0] || obj).nodeType\n\nconst emulateTransitionEnd = (element, duration) => {\n let called = false\n const durationPadding = 5\n const emulatedDuration = duration + durationPadding\n function listener() {\n called = true\n element.removeEventListener(TRANSITION_END, listener)\n }\n\n element.addEventListener(TRANSITION_END, listener)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(element)\n }\n }, emulatedDuration)\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes)\n .forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n const elementStyle = getComputedStyle(element)\n const parentNodeStyle = getComputedStyle(element.parentNode)\n\n return elementStyle.display !== 'none' &&\n parentNodeStyle.display !== 'none' &&\n elementStyle.visibility !== 'hidden'\n }\n\n return false\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst mapData = (() => {\n const storeData = {}\n let id = 1\n return {\n set(element, key, data) {\n if (typeof element.key === 'undefined') {\n element.key = {\n key,\n id\n }\n id++\n }\n\n storeData[element.key.id] = data\n },\n get(element, key) {\n if (!element || typeof element.key === 'undefined') {\n return null\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.key === 'undefined') {\n return\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.key\n }\n }\n }\n})()\n\nconst Data = {\n setData(instance, key, data) {\n mapData.set(instance, key, data)\n },\n getData(instance, key) {\n return mapData.get(instance, key)\n },\n removeData(instance, key) {\n mapData.delete(instance, key)\n }\n}\n\nexport default Data\n","/* istanbul ignore file */\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/polyfill.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getUID } from '../util/index'\n\nlet find = Element.prototype.querySelectorAll\nlet findOne = Element.prototype.querySelector\n\n// MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached\nconst defaultPreventedPreservedOnDispatch = (() => {\n const e = new CustomEvent('Bootstrap', {\n cancelable: true\n })\n\n const element = document.createElement('div')\n element.addEventListener('Bootstrap', () => null)\n\n e.preventDefault()\n element.dispatchEvent(e)\n return e.defaultPrevented\n})()\n\nconst scopeSelectorRegex = /:scope\\b/\nconst supportScopeQuery = (() => {\n const element = document.createElement('div')\n\n try {\n element.querySelectorAll(':scope *')\n } catch (_) {\n return false\n }\n\n return true\n})()\n\nif (!supportScopeQuery) {\n find = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelectorAll(selector)\n }\n\n const hasId = Boolean(this.id)\n\n if (!hasId) {\n this.id = getUID('scope')\n }\n\n let nodeList = null\n try {\n selector = selector.replace(scopeSelectorRegex, `#${this.id}`)\n nodeList = this.querySelectorAll(selector)\n } finally {\n if (!hasId) {\n this.removeAttribute('id')\n }\n }\n\n return nodeList\n }\n\n findOne = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelector(selector)\n }\n\n const matches = find.call(this, selector)\n\n if (typeof matches[0] !== 'undefined') {\n return matches[0]\n }\n\n return null\n }\n}\n\nexport {\n find,\n findOne,\n defaultPreventedPreservedOnDispatch\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\nimport { defaultPreventedPreservedOnDispatch } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst $ = getjQuery()\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst keyEventRegex = /^key/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\nconst nativeEvents = [\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n]\n\n/**\n * ------------------------------------------------------------------------\n * Private methods\n * ------------------------------------------------------------------------\n */\n\nfunction getUidEvent(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getEvent(element) {\n const uid = getUidEvent(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction fixEvent(event, element) {\n // Add which for key events\n if (event.which === null && keyEventRegex.test(event.type)) {\n event.which = event.charCode === null ? event.keyCode : event.charCode\n }\n\n event.delegateTarget = element\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n fixEvent(event, element)\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = target.parentNode) {\n for (let i = domElements.length; i--;) {\n if (domElements[i] === target) {\n fixEvent(event, target)\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n\n // To please ESLint\n return null\n }\n}\n\nfunction findHandler(events, handler, delegationSelector = null) {\n const uidEventList = Object.keys(events)\n\n for (let i = 0, len = uidEventList.length; i < len; i++) {\n const event = events[uidEventList[i]]\n\n if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\n return event\n }\n }\n\n return null\n}\n\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\n const delegation = typeof handler === 'string'\n const originalHandler = delegation ? delegationFn : handler\n\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n let typeEvent = originalTypeEvent.replace(stripNameRegex, '')\n const custom = customEvents[typeEvent]\n\n if (custom) {\n typeEvent = custom\n }\n\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n if (!isNative) {\n typeEvent = originalTypeEvent\n }\n\n return [delegation, originalHandler, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n if (!handler) {\n handler = delegationFn\n delegationFn = null\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const events = getEvent(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null)\n\n if (previousFn) {\n previousFn.oneOff = previousFn.oneOff && oneOff\n\n return\n }\n\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = delegation ?\n bootstrapDelegationHandler(element, handler, delegationFn) :\n bootstrapHandler(element, handler)\n\n fn.delegationSelector = delegation ? handler : null\n fn.originalHandler = originalHandler\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, delegation)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {}\n\n Object.keys(storeElementEvent)\n .forEach(handlerKey => {\n if (handlerKey.indexOf(namespace) > -1) {\n const event = storeElementEvent[handlerKey]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, false)\n },\n\n one(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFn) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getEvent(element)\n const isNamespace = originalTypeEvent.charAt(0) === '.'\n\n if (typeof originalHandler !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!events || !events[typeEvent]) {\n return\n }\n\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null)\n return\n }\n\n if (isNamespace) {\n Object.keys(events)\n .forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent)\n .forEach(keyHandlers => {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.indexOf(handlerKey) > -1) {\n const event = storeElementEvent[keyHandlers]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const typeEvent = event.replace(stripNameRegex, '')\n const inNamespace = event !== typeEvent\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n let jQueryEvent\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n let evt = null\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n if (isNative) {\n evt = document.createEvent('HTMLEvents')\n evt.initEvent(typeEvent, bubbles, true)\n } else {\n evt = new CustomEvent(event, {\n bubbles,\n cancelable: true\n })\n }\n\n // merge custom informations in our event\n if (typeof args !== 'undefined') {\n Object.keys(args)\n .forEach(key => {\n Object.defineProperty(evt, key, {\n get() {\n return args[key]\n }\n })\n })\n }\n\n if (defaultPrevented) {\n evt.preventDefault()\n\n if (!defaultPreventedPreservedOnDispatch) {\n Object.defineProperty(evt, 'defaultPrevented', {\n get: () => true\n })\n }\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { find as findFn, findOne } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n matches(element, selector) {\n return element.matches(selector)\n },\n\n find(selector, element = document.documentElement) {\n return [].concat(...findFn.call(element, selector))\n },\n\n findOne(selector, element = document.documentElement) {\n return findOne.call(element, selector)\n },\n\n children(element, selector) {\n const children = [].concat(...element.children)\n\n return children.filter(child => child.matches(selector))\n },\n\n parents(element, selector) {\n const parents = []\n\n let ancestor = element.parentNode\n\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\n if (this.matches(ancestor, selector)) {\n parents.push(ancestor)\n }\n\n ancestor = ancestor.parentNode\n }\n\n return parents\n },\n\n closest(element, selector) {\n return element.closest(selector)\n },\n\n prev(element, selector) {\n let previous = element.previousElementSibling\n\n while (previous) {\n if (previous.matches(selector)) {\n return [previous]\n }\n\n previous = previous.previousElementSibling\n }\n\n return []\n },\n\n next(element, selector) {\n let next = element.nextElementSibling\n\n while (next) {\n if (this.matches(next, selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst SELECTOR_DISMISS = '[data-dismiss=\"alert\"]'\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASSNAME_ALERT = 'alert'\nconst CLASSNAME_FADE = 'fade'\nconst CLASSNAME_SHOW = 'show'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n\n if (this._element) {\n Data.setData(element, DATA_KEY, this)\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent === null || customEvent.defaultPrevented) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n let parent = getElementFromSelector(element)\n\n if (!parent) {\n parent = SelectorEngine.closest(element, `.${CLASSNAME_ALERT}`)\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n return EventHandler.trigger(element, EVENT_CLOSE)\n }\n\n _removeElement(element) {\n element.classList.remove(CLASSNAME_SHOW)\n\n if (!element.classList.contains(CLASSNAME_FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = getTransitionDurationFromElement(element)\n\n EventHandler\n .one(element, TRANSITION_END, () => this._destroyElement(element))\n emulateTransitionEnd(element, transitionDuration)\n }\n\n _destroyElement(element) {\n if (element.parentNode) {\n element.parentNode.removeChild(element)\n }\n\n EventHandler.trigger(element, EVENT_CLOSED)\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\nEventHandler\n .on(document, EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert.handleDismiss(new Alert()))\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .alert to jQuery only if jQuery is present\n */\n\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Alert.jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert.jQueryInterface\n }\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_BUTTON = 'btn'\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_FOCUS = 'focus'\n\nconst SELECTOR_DATA_TOGGLE_CARROT = '[data-toggle^=\"button\"]'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"buttons\"]'\nconst SELECTOR_INPUT = 'input:not([type=\"hidden\"])'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_BUTTON = '.btn'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_FOCUS_DATA_API = `focus${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_BLUR_DATA_API = `blur${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n\n const rootElement = SelectorEngine.closest(\n this._element,\n SELECTOR_DATA_TOGGLE\n )\n\n if (rootElement) {\n const input = SelectorEngine.findOne(SELECTOR_INPUT, this._element)\n\n if (input && input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(CLASS_NAME_ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE, rootElement)\n\n if (activeElement) {\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains(CLASS_NAME_DISABLED) ||\n rootElement.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n input.checked = !this._element.classList.contains(CLASS_NAME_ACTIVE)\n EventHandler.trigger(input, 'change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(CLASS_NAME_ACTIVE))\n }\n\n if (triggerChangeEvent) {\n this._element.classList.toggle(CLASS_NAME_ACTIVE)\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, event => {\n event.preventDefault()\n\n let button = event.target\n if (!button.classList.contains(CLASS_NAME_BUTTON)) {\n button = SelectorEngine.closest(button, SELECTOR_BUTTON)\n }\n\n let data = Data.getData(button, DATA_KEY)\n if (!data) {\n data = new Button(button)\n }\n\n data.toggle()\n})\n\nEventHandler.on(document, EVENT_FOCUS_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, event => {\n const button = SelectorEngine.closest(event.target, SELECTOR_BUTTON)\n\n if (button) {\n button.classList.add(CLASS_NAME_FOCUS)\n }\n})\n\nEventHandler.on(document, EVENT_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, event => {\n const button = SelectorEngine.closest(event.target, SELECTOR_BUTTON)\n\n if (button) {\n button.classList.remove(CLASS_NAME_FOCUS)\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .button to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Button.jQueryInterface\n $.fn[NAME].Constructor = Button\n\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button.jQueryInterface\n }\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(val) {\n if (val === 'true') {\n return true\n }\n\n if (val === 'false') {\n return false\n }\n\n if (val === Number(val).toString()) {\n return Number(val)\n }\n\n if (val === '' || val === 'null') {\n return null\n }\n\n return val\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {\n ...element.dataset\n }\n\n Object.keys(attributes).forEach(key => {\n attributes[key] = normalizeData(attributes[key])\n })\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-${normalizeDataKey(key)}`))\n },\n\n offset(element) {\n const rect = element.getBoundingClientRect()\n\n return {\n top: rect.top + document.body.scrollTop,\n left: rect.left + document.body.scrollLeft\n }\n },\n\n position(element) {\n return {\n top: element.offsetTop,\n left: element.offsetLeft\n }\n },\n\n toggleClass(element, className) {\n if (!element) {\n return\n }\n\n if (element.classList.contains(className)) {\n element.classList.remove(className)\n } else {\n element.classList.add(className)\n }\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n reflow,\n triggerTransitionEnd,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n}\n\nconst DIRECTION_NEXT = 'next'\nconst DIRECTION_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_RIGHT = 'carousel-item-right'\nconst CLASS_NAME_LEFT = 'carousel-item-left'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_ITEM = '.active.carousel-item'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-slide], [data-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-ride=\"carousel\"]'\n\nconst PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(DIRECTION_NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(DIRECTION_PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (SelectorEngine.findOne(SELECTOR_NEXT_PREV, this._element)) {\n triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config && this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex ?\n DIRECTION_NEXT :\n DIRECTION_PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n Data.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler\n .on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler\n .on(this._element, EVENT_MOUSEENTER, event => this.pause(event))\n EventHandler\n .on(this._element, EVENT_MOUSELEAVE, event => this.cycle(event))\n }\n\n if (this._config.touch && this._touchSupported) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n const start = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchStartX = event.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.touches[0].clientX\n }\n }\n\n const move = event => {\n // ensure swiping with one touch and not pinching\n if (event.touches && event.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n\n this.touchTimeout = setTimeout(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n SelectorEngine.find(SELECTOR_ITEM_IMG, this._element).forEach(itemImg => {\n EventHandler.on(itemImg, EVENT_DRAG_START, e => e.preventDefault())\n })\n\n if (this._pointerEvent) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => start(event))\n EventHandler.on(this._element, EVENT_POINTERUP, event => end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => start(event))\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => move(event))\n EventHandler.on(this._element, EVENT_TOUCHEND, event => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode ?\n SelectorEngine.find(SELECTOR_ITEM, element.parentNode) :\n []\n\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === DIRECTION_NEXT\n const isPrevDirection = direction === DIRECTION_PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = (isPrevDirection && activeIndex === 0) ||\n (isNextDirection && activeIndex === lastItemIndex)\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === DIRECTION_PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] :\n this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element))\n\n return EventHandler.trigger(this._element, EVENT_SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = SelectorEngine.find(SELECTOR_ACTIVE, this._indicatorsElement)\n for (let i = 0; i < indicators.length; i++) {\n indicators[i].classList.remove(CLASS_NAME_ACTIVE)\n }\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n nextIndicator.classList.add(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || (activeElement &&\n this._getItemByDirection(direction, activeElement))\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === DIRECTION_NEXT) {\n directionalClassName = CLASS_NAME_LEFT\n orderClassName = CLASS_NAME_NEXT\n eventDirectionName = DIRECTION_LEFT\n } else {\n directionalClassName = CLASS_NAME_RIGHT\n orderClassName = CLASS_NAME_PREV\n eventDirectionName = DIRECTION_RIGHT\n }\n\n if (nextElement && nextElement.classList.contains(CLASS_NAME_ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.defaultPrevented) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n if (this._element.classList.contains(CLASS_NAME_SLIDE)) {\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = getTransitionDurationFromElement(activeElement)\n\n EventHandler\n .one(activeElement, TRANSITION_END, () => {\n nextElement.classList.remove(directionalClassName)\n nextElement.classList.remove(orderClassName)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n activeElement.classList.remove(orderClassName)\n activeElement.classList.remove(directionalClassName)\n\n this._isSliding = false\n\n setTimeout(() => {\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }, 0)\n })\n\n emulateTransitionEnd(activeElement, transitionDuration)\n } else {\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n this._isSliding = false\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static carouselInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n let _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element)\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(element, _config)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Carousel.carouselInterface(this, config)\n })\n }\n\n static dataApiClickHandler(event) {\n const target = getElementFromSelector(this)\n\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel.carouselInterface(target, config)\n\n if (slideIndex) {\n Data.getData(target, DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler\n .on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel.dataApiClickHandler)\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n for (let i = 0, len = carousels.length; i < len; i++) {\n Carousel.carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY))\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .carousel to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Carousel.jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel.jQueryInterface\n }\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n toggle: true,\n parent: ''\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(string|element)'\n}\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.show, .collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"collapse\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = SelectorEngine.find(\n `${SELECTOR_DATA_TOGGLE}[href=\"#${element.id}\"],` +\n `${SELECTOR_DATA_TOGGLE}[data-target=\"#${element.id}\"]`\n )\n\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = getSelectorFromElement(elem)\n const filterElement = SelectorEngine.find(selector)\n .filter(foundElem => foundElem === element)\n\n if (selector !== null && filterElement.length) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = SelectorEngine.find(SELECTOR_ACTIVES, this._parent)\n .filter(elem => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(CLASS_NAME_COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n const container = SelectorEngine.findOne(this._selector)\n if (actives) {\n const tempActiveData = actives.filter(elem => container !== elem)\n activesData = tempActiveData[0] ? Data.getData(tempActiveData[0], DATA_KEY) : null\n\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n if (actives) {\n actives.forEach(elemActive => {\n if (container !== elemActive) {\n Collapse.collapseInterface(elemActive, 'hide')\n }\n\n if (!activesData) {\n Data.setData(elemActive, DATA_KEY, null)\n }\n })\n }\n\n const dimension = this._getDimension()\n\n this._element.classList.remove(CLASS_NAME_COLLAPSE)\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n this._triggerArray.forEach(element => {\n element.classList.remove(CLASS_NAME_COLLAPSED)\n element.setAttribute('aria-expanded', true)\n })\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE)\n this._element.classList.add(CLASS_NAME_SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n\n emulateTransitionEnd(this._element, transitionDuration)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n if (startEvent.defaultPrevented) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n reflow(this._element)\n\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n this._element.classList.remove(CLASS_NAME_COLLAPSE)\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const elem = getElementFromSelector(trigger)\n\n if (elem && !elem.classList.contains(CLASS_NAME_SHOW)) {\n trigger.classList.add(CLASS_NAME_COLLAPSED)\n trigger.setAttribute('aria-expanded', false)\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = this._element.classList.contains(WIDTH)\n return hasWidth ? WIDTH : HEIGHT\n }\n\n _getParent() {\n let { parent } = this._config\n\n if (isElement(parent)) {\n // it's a jQuery object\n if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {\n parent = parent[0]\n }\n } else {\n parent = SelectorEngine.findOne(parent)\n }\n\n const selector = `${SELECTOR_DATA_TOGGLE}[data-parent=\"${parent}\"]`\n\n SelectorEngine.find(selector, parent)\n .forEach(element => {\n const selected = getElementFromSelector(element)\n\n this._addAriaAndCollapsedClass(\n selected,\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (element) {\n const isOpen = element.classList.contains(CLASS_NAME_SHOW)\n\n if (triggerArray.length) {\n triggerArray.forEach(elem => {\n if (isOpen) {\n elem.classList.remove(CLASS_NAME_COLLAPSED)\n } else {\n elem.classList.add(CLASS_NAME_COLLAPSED)\n }\n\n elem.setAttribute('aria-expanded', isOpen)\n })\n }\n }\n }\n\n // Static\n\n static collapseInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Collapse.collapseInterface(this, config)\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A') {\n event.preventDefault()\n }\n\n const triggerData = Manipulator.getDataAttributes(this)\n const selector = getSelectorFromElement(this)\n const selectorElements = SelectorEngine.find(selector)\n\n selectorElements.forEach(element => {\n const data = Data.getData(element, DATA_KEY)\n let config\n if (data) {\n // update parent attribute\n if (data._parent === null && typeof triggerData.parent === 'string') {\n data._config.parent = triggerData.parent\n data._parent = data._getParent()\n }\n\n config = 'toggle'\n } else {\n config = triggerData\n }\n\n Collapse.collapseInterface(element, config)\n })\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .collapse to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Collapse.jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse.jQueryInterface\n }\n}\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getElementFromSelector,\n isElement,\n isVisible,\n noop,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\n\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPRIGHT = 'dropright'\nconst CLASS_NAME_DROPLEFT = 'dropleft'\nconst CLASS_NAME_MENURIGHT = 'dropdown-menu-right'\nconst CLASS_NAME_NAVBAR = 'navbar'\nconst CLASS_NAME_POSITION_STATIC = 'position-static'\n\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"dropdown\"]'\nconst SELECTOR_FORM_CHILD = '.dropdown form'\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = 'top-start'\nconst PLACEMENT_TOPEND = 'top-end'\nconst PLACEMENT_BOTTOM = 'bottom-start'\nconst PLACEMENT_BOTTOMEND = 'bottom-end'\nconst PLACEMENT_RIGHT = 'right-start'\nconst PLACEMENT_LEFT = 'left-start'\n\nconst Default = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n const isActive = this._element.classList.contains(CLASS_NAME_SHOW)\n\n Dropdown.clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show()\n }\n\n show() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || this._menu.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n parent.classList.add(CLASS_NAME_POSITION_STATIC)\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n !SelectorEngine.closest(parent, SELECTOR_NAVBAR_NAV)) {\n [].concat(...document.body.children)\n .forEach(elem => EventHandler.on(elem, 'mouseover', null, noop()))\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n Manipulator.toggleClass(this._menu, CLASS_NAME_SHOW)\n Manipulator.toggleClass(this._element, CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_SHOWN, relatedTarget)\n }\n\n hide() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || !this._menu.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n Manipulator.toggleClass(this._menu, CLASS_NAME_SHOW)\n Manipulator.toggleClass(this._element, CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._element, EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n return SelectorEngine.next(this._element, SELECTOR_MENU)[0]\n }\n\n _getPlacement() {\n const parentDropdown = this._element.parentNode\n let placement = PLACEMENT_BOTTOM\n\n // Handle dropup\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n placement = PLACEMENT_TOP\n if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_TOPEND\n }\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPRIGHT)) {\n placement = PLACEMENT_RIGHT\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPLEFT)) {\n placement = PLACEMENT_LEFT\n } else if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_BOTTOMEND\n }\n\n return placement\n }\n\n _detectNavbar() {\n return Boolean(SelectorEngine.closest(this._element, `.${CLASS_NAME_NAVBAR}`))\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets, this._element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static dropdownInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Dropdown.dropdownInterface(this, config)\n })\n }\n\n static clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n (event.type === 'keyup' && event.which !== TAB_KEYCODE))) {\n return\n }\n\n const toggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown.getParentFromElement(toggles[i])\n const context = Data.getData(toggles[i], DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!toggles[i].classList.contains(CLASS_NAME_SHOW)) {\n continue\n }\n\n if (event && ((event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName)) ||\n (event.type === 'keyup' && event.which === TAB_KEYCODE)) &&\n dropdownMenu.contains(event.target)) {\n continue\n }\n\n const hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n [].concat(...document.body.children)\n .forEach(elem => EventHandler.off(elem, 'mouseover', null, noop()))\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n dropdownMenu.classList.remove(CLASS_NAME_SHOW)\n toggles[i].classList.remove(CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget)\n }\n }\n\n static getParentFromElement(element) {\n return getElementFromSelector(element) || element.parentNode\n }\n\n static dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ?\n event.which === SPACE_KEYCODE || (event.which !== ESCAPE_KEYCODE &&\n ((event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE) ||\n SelectorEngine.closest(event.target, SELECTOR_MENU))) :\n !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || this.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this)\n const isActive = this.classList.contains(CLASS_NAME_SHOW)\n\n if (event.which === ESCAPE_KEYCODE) {\n const button = this.matches(SELECTOR_DATA_TOGGLE) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0]\n button.focus()\n Dropdown.clearMenus()\n return\n }\n\n if (!isActive || event.which === SPACE_KEYCODE) {\n Dropdown.clearMenus()\n return\n }\n\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, parent)\n .filter(isVisible)\n\n if (!items.length) {\n return\n }\n\n let index = items.indexOf(event.target) || 0\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n items[index].focus()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown.dropdownInterface(this, 'toggle')\n})\nEventHandler\n .on(document, EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, e => e.stopPropagation())\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .dropdown to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Dropdown.jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown.jQueryInterface\n }\n}\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: 'boolean'\n}\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SCROLLABLE = 'modal-dialog-scrollable'\nconst CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure'\nconst CLASS_NAME_BACKDROP = 'modal-backdrop'\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"modal\"]'\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"modal\"]'\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, element)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget\n })\n\n if (this._isShown || showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.on(this._element,\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n event => this.hide(event)\n )\n\n EventHandler.on(this._dialog, EVENT_MOUSEDOWN_DISMISS, () => {\n EventHandler.one(this._element, EVENT_MOUSEUP_DISMISS, event => {\n if (event.target === this._element) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n const transition = this._element.classList.contains(CLASS_NAME_FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.off(document, EVENT_FOCUSIN)\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n EventHandler.off(this._dialog, EVENT_MOUSEDOWN_DISMISS)\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, event => this._hideModal(event))\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\n\n /**\n * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `EVENT_CLICK_DATA_API` event that should remain\n */\n EventHandler.off(document, EVENT_FOCUSIN)\n\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = this._element.classList.contains(CLASS_NAME_FADE)\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n\n if (this._dialog.classList.contains(CLASS_NAME_SCROLLABLE) && modalBody) {\n modalBody.scrollTop = 0\n } else {\n this._element.scrollTop = 0\n }\n\n if (transition) {\n reflow(this._element)\n }\n\n this._element.classList.add(CLASS_NAME_SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget\n })\n }\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._dialog)\n\n EventHandler.one(this._dialog, TRANSITION_END, transitionComplete)\n emulateTransitionEnd(this._dialog, transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n EventHandler.off(document, EVENT_FOCUSIN) // guard against infinite focus loop\n EventHandler.on(document, EVENT_FOCUSIN, event => {\n if (document !== event.target &&\n this._element !== event.target &&\n !this._element.contains(event.target)) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown) {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (this._config.keyboard && event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n } else if (!this._config.keyboard && event.which === ESCAPE_KEYCODE) {\n this._triggerBackdropTransition()\n }\n })\n } else {\n EventHandler.off(this._element, EVENT_KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n EventHandler.on(window, EVENT_RESIZE, () => this._adjustDialog())\n } else {\n EventHandler.off(window, EVENT_RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._isTransitioning = false\n this._showBackdrop(() => {\n document.body.classList.remove(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n })\n }\n\n _removeBackdrop() {\n this._backdrop.parentNode.removeChild(this._backdrop)\n this._backdrop = null\n }\n\n _showBackdrop(callback) {\n const animate = this._element.classList.contains(CLASS_NAME_FADE) ?\n CLASS_NAME_FADE :\n ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = CLASS_NAME_BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n document.body.appendChild(this._backdrop)\n\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, event => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n\n if (event.target !== event.currentTarget) {\n return\n }\n\n this._triggerBackdropTransition()\n })\n\n if (animate) {\n reflow(this._backdrop)\n }\n\n this._backdrop.classList.add(CLASS_NAME_SHOW)\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n\n EventHandler.one(this._backdrop, TRANSITION_END, callback)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n this._backdrop.classList.remove(CLASS_NAME_SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n callback()\n }\n\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else {\n callback()\n }\n }\n\n _triggerBackdropTransition() {\n if (this._config.backdrop === 'static') {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n const modalTransitionDuration = getTransitionDurationFromElement(this._element)\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n })\n emulateTransitionEnd(this._element, modalTransitionDuration)\n this._element.focus()\n } else {\n this.hide()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n SelectorEngine.find(SELECTOR_FIXED_CONTENT)\n .forEach(element => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = window.getComputedStyle(element)['padding-right']\n Manipulator.setDataAttribute(element, 'padding-right', actualPadding)\n element.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n })\n\n // Adjust sticky content margin\n SelectorEngine.find(SELECTOR_STICKY_CONTENT)\n .forEach(element => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = window.getComputedStyle(element)['margin-right']\n Manipulator.setDataAttribute(element, 'margin-right', actualMargin)\n element.style.marginRight = `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = window.getComputedStyle(document.body)['padding-right']\n\n Manipulator.setDataAttribute(document.body, 'padding-right', actualPadding)\n document.body.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n }\n\n document.body.classList.add(CLASS_NAME_OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n SelectorEngine.find(SELECTOR_FIXED_CONTENT)\n .forEach(element => {\n const padding = Manipulator.getDataAttribute(element, 'padding-right')\n if (typeof padding !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'padding-right')\n element.style.paddingRight = padding\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n SelectorEngine.find(`${SELECTOR_STICKY_CONTENT}`)\n .forEach(element => {\n const margin = Manipulator.getDataAttribute(element, 'margin-right')\n if (typeof margin !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'margin-right')\n element.style.marginRight = margin\n }\n })\n\n // Restore body padding\n const padding = Manipulator.getDataAttribute(document.body, 'padding-right')\n if (typeof padding === 'undefined') {\n document.body.style.paddingRight = ''\n } else {\n Manipulator.removeDataAttribute(document.body, 'padding-right')\n document.body.style.paddingRight = padding\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(this),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n EventHandler.one(target, EVENT_SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n let data = Data.getData(target, DATA_KEY)\n if (!data) {\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n\n data = new Modal(target, config)\n }\n\n data.show(this)\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .modal to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Modal.jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal.jQueryInterface\n }\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+=*$/i\n\nconst allowedAttribute = (attr, allowedAttributeList) => {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return SAFE_URL_PATTERN.test(attr.nodeValue) || DATA_URL_PATTERN.test(attr.nodeValue)\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter(attrRegex => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, len = regExp.length; i < len; i++) {\n if (regExp[i].test(attrName)) {\n return true\n }\n }\n\n return false\n}\n\nexport const DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\nexport function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const whitelistKeys = Object.keys(whiteList)\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (whitelistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].concat(...el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n findShadowRoot,\n getTransitionDurationFromElement,\n getUID,\n isElement,\n noop,\n typeCheckConfig\n} from './util/index'\nimport {\n DefaultWhitelist,\n sanitizeHtml\n} from './util/sanitizer'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']\n\nconst DefaultType = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n whiteList: 'object',\n popperConfig: '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n}\n\nconst Default = {\n animation: true,\n template: '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"tooltip-arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\n sanitize: true,\n sanitizeFn: null,\n whiteList: DefaultWhitelist,\n popperConfig: null\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst HOVER_STATE_SHOW = 'show'\nconst HOVER_STATE_OUT = 'out'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n Data.setData(element, this.constructor.DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if (this.getTipElement().classList.contains(CLASS_NAME_SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n Data.removeData(this.element, this.constructor.DATA_KEY)\n\n EventHandler.off(this.element, this.constructor.EVENT_KEY)\n EventHandler.off(SelectorEngine.closest(this.element, `.${CLASS_NAME_MODAL}`), 'hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n this.tip.parentNode.removeChild(this.tip)\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if (this.element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (this.isWithContent() && this._isEnabled) {\n const showEvent = EventHandler.trigger(this.element, this.constructor.Event.SHOW)\n const shadowRoot = findShadowRoot(this.element)\n const isInTheDom = shadowRoot === null ?\n this.element.ownerDocument.documentElement.contains(this.element) :\n shadowRoot.contains(this.element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n tip.classList.add(CLASS_NAME_FADE)\n }\n\n const placement = typeof this.config.placement === 'function' ?\n this.config.placement.call(this, tip, this.element) :\n this.config.placement\n\n const attachment = this._getAttachment(placement)\n this._addAttachmentClass(attachment)\n\n const container = this._getContainer()\n Data.setData(tip, this.constructor.DATA_KEY, this)\n\n if (!this.element.ownerDocument.documentElement.contains(this.tip)) {\n container.appendChild(tip)\n }\n\n EventHandler.trigger(this.element, this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\n\n tip.classList.add(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n [].concat(...document.body.children).forEach(element => {\n EventHandler.on(element, 'mouseover', noop())\n })\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n EventHandler.trigger(this.element, this.constructor.Event.SHOWN)\n\n if (prevHoverState === HOVER_STATE_OUT) {\n this._leave(null, this)\n }\n }\n\n if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n const transitionDuration = getTransitionDurationFromElement(this.tip)\n EventHandler.one(this.tip, TRANSITION_END, complete)\n emulateTransitionEnd(this.tip, transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide() {\n const tip = this.getTipElement()\n const complete = () => {\n if (this._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n EventHandler.trigger(this.element, this.constructor.Event.HIDDEN)\n this._popper.destroy()\n }\n\n const hideEvent = EventHandler.trigger(this.element, this.constructor.Event.HIDE)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n tip.classList.remove(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n [].concat(...document.body.children)\n .forEach(element => EventHandler.off(element, 'mouseover', noop))\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n\n if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n const transitionDuration = getTransitionDurationFromElement(tip)\n\n EventHandler.one(tip, TRANSITION_END, complete)\n emulateTransitionEnd(tip, transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n getTipElement() {\n if (this.tip) {\n return this.tip\n }\n\n const element = document.createElement('div')\n element.innerHTML = this.config.template\n\n this.tip = element.children[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent(SelectorEngine.findOne(SELECTOR_TOOLTIP_INNER, tip), this.getTitle())\n tip.classList.remove(CLASS_NAME_FADE)\n tip.classList.remove(CLASS_NAME_SHOW)\n }\n\n setElementContent(element, content) {\n if (element === null) {\n return\n }\n\n if (typeof content === 'object' && isElement(content)) {\n if (content.jquery) {\n content = content[0]\n }\n\n // content is a DOM node or a jQuery\n if (this.config.html) {\n if (content.parentNode !== element) {\n element.innerHTML = ''\n element.appendChild(content)\n }\n } else {\n element.innerText = content.textContent\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn)\n }\n\n element.innerHTML = content\n } else {\n element.innerText = content\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function' ?\n this.config.title.call(this.element) :\n this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: `.${this.constructor.NAME}-arrow`\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: data => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: data => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...this.config.offset(data.offsets, this.element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (isElement(this.config.container)) {\n return this.config.container\n }\n\n return SelectorEngine.findOne(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach(trigger => {\n if (trigger === 'click') {\n EventHandler.on(this.element,\n this.constructor.Event.CLICK,\n this.config.selector,\n event => this.toggle(event)\n )\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n EventHandler.on(this.element,\n eventIn,\n this.config.selector,\n event => this._enter(event)\n )\n EventHandler.on(this.element,\n eventOut,\n this.config.selector,\n event => this._leave(event)\n )\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n EventHandler.on(SelectorEngine.closest(this.element, `.${CLASS_NAME_MODAL}`),\n 'hide.bs.modal',\n this._hideModalHandler\n )\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = true\n }\n\n if (context.getTipElement().classList.contains(CLASS_NAME_SHOW) ||\n context._hoverState === HOVER_STATE_SHOW) {\n context._hoverState = HOVER_STATE_SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this.element)\n\n Object.keys(dataAttributes)\n .forEach(dataAttr => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n if (config && typeof config.container === 'object' && config.container.jquery) {\n config.container = config.container[0]\n }\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n const popperInstance = popperData.instance\n this.tip = popperInstance.popper\n this._cleanTipClass()\n this._addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n tip.classList.remove(CLASS_NAME_FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tooltip to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tooltip.jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip.jQueryInterface\n }\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport SelectorEngine from './dom/selector-engine'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement: 'right',\n trigger: 'click',\n content: '',\n template: '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"popover-arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(string|element|function)'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n setContent() {\n const tip = this.getTipElement()\n\n // we use append for html objects to maintain js events\n this.setElementContent(SelectorEngine.findOne(SELECTOR_TITLE, tip), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n\n this.setElementContent(SelectorEngine.findOne(SELECTOR_CONTENT, tip), content)\n\n tip.classList.remove(CLASS_NAME_FADE)\n tip.classList.remove(CLASS_NAME_SHOW)\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n Data.setData(this, DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Popover.jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover.jQueryInterface\n }\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getSelectorFromElement,\n getUID,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n offset: 10,\n method: 'auto',\n target: ''\n}\n\nconst DefaultType = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n}\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_SCROLL = `scroll${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-spy=\"scroll\"]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst METHOD_OFFSET = 'offset'\nconst METHOD_POSITION = 'position'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${SELECTOR_NAV_LINKS},` +\n `${this._config.target} ${SELECTOR_LIST_ITEMS},` +\n `${this._config.target} .${CLASS_NAME_DROPDOWN_ITEM}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n EventHandler.on(this._scrollElement, EVENT_SCROLL, event => this._process(event))\n\n this.refresh()\n this._process()\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window ?\n METHOD_OFFSET :\n METHOD_POSITION\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod :\n this._config.method\n\n const offsetBase = offsetMethod === METHOD_POSITION ?\n this._getScrollTop() :\n 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = SelectorEngine.find(this._selector)\n\n targets\n .map(element => {\n let target\n const targetSelector = getSelectorFromElement(element)\n\n if (targetSelector) {\n target = SelectorEngine.findOne(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n return [\n Manipulator[offsetMethod](target).top + offsetBase,\n targetSelector\n ]\n }\n }\n\n return null\n })\n .filter(item => item)\n .sort((a, b) => a[0] - b[0])\n .forEach(item => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._scrollElement, EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.target !== 'string') {\n let { id } = config.target\n if (!id) {\n id = getUID(NAME)\n config.target.id = id\n }\n\n config.target = `#${id}`\n }\n\n typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset :\n this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight :\n this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n const offsetLength = this._offsets.length\n for (let i = offsetLength; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector.split(',')\n .map(selector => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const link = SelectorEngine.findOne(queries.join(','))\n\n if (link.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n SelectorEngine\n .findOne(SELECTOR_DROPDOWN_TOGGLE, SelectorEngine.closest(link, SELECTOR_DROPDOWN))\n .classList.add(CLASS_NAME_ACTIVE)\n\n link.classList.add(CLASS_NAME_ACTIVE)\n } else {\n // Set triggered link as active\n link.classList.add(CLASS_NAME_ACTIVE)\n\n SelectorEngine\n .parents(link, SELECTOR_NAV_LIST_GROUP)\n .forEach(listGroup => {\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n SelectorEngine.prev(listGroup, `${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`)\n .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n\n // Handle special case when .nav-link is inside .nav-item\n SelectorEngine.prev(listGroup, SELECTOR_NAV_ITEMS)\n .forEach(navItem => {\n SelectorEngine.children(navItem, SELECTOR_NAV_LINKS)\n .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n })\n })\n }\n\n EventHandler.trigger(this._scrollElement, EVENT_ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n SelectorEngine.find(this._selector)\n .filter(node => node.classList.contains(CLASS_NAME_ACTIVE))\n .forEach(node => node.classList.remove(CLASS_NAME_ACTIVE))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n SelectorEngine.find(SELECTOR_DATA_SPY)\n .forEach(spy => new ScrollSpy(spy, Manipulator.getDataAttributes(spy)))\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = ScrollSpy.jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy.jQueryInterface\n }\n}\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n reflow\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_UL = ':scope > li > .active'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_ACTIVE_CHILD = ':scope > .dropdown-menu .active'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n\n Data.setData(this._element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if ((this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n this._element.classList.contains(CLASS_NAME_ACTIVE)) ||\n this._element.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n let previous\n const target = getElementFromSelector(this._element)\n const listElement = SelectorEngine.closest(this._element, SELECTOR_NAV_LIST_GROUP)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE\n previous = SelectorEngine.find(itemSelector, listElement)\n previous = previous[previous.length - 1]\n }\n\n let hideEvent = null\n\n if (previous) {\n hideEvent = EventHandler.trigger(previous, EVENT_HIDE, {\n relatedTarget: this._element\n })\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget: previous\n })\n\n if (showEvent.defaultPrevented ||\n (hideEvent !== null && hideEvent.defaultPrevented)) {\n return\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n EventHandler.trigger(previous, EVENT_HIDDEN, {\n relatedTarget: this._element\n })\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget: previous\n })\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ?\n SelectorEngine.find(SELECTOR_ACTIVE_UL, container) :\n SelectorEngine.children(container, SELECTOR_ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n (active && active.classList.contains(CLASS_NAME_FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = getTransitionDurationFromElement(active)\n active.classList.remove(CLASS_NAME_SHOW)\n\n EventHandler.one(active, TRANSITION_END, complete)\n emulateTransitionEnd(active, transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n active.classList.remove(CLASS_NAME_ACTIVE)\n\n const dropdownChild = SelectorEngine.findOne(SELECTOR_DROPDOWN_ACTIVE_CHILD, active.parentNode)\n\n if (dropdownChild) {\n dropdownChild.classList.remove(CLASS_NAME_ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n element.classList.add(CLASS_NAME_ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n reflow(element)\n\n if (element.classList.contains(CLASS_NAME_FADE)) {\n element.classList.add(CLASS_NAME_SHOW)\n }\n\n if (element.parentNode && element.parentNode.classList.contains(CLASS_NAME_DROPDOWN_MENU)) {\n const dropdownElement = SelectorEngine.closest(element, SELECTOR_DROPDOWN)\n\n if (dropdownElement) {\n SelectorEngine.find(SELECTOR_DROPDOWN_TOGGLE)\n .forEach(dropdown => dropdown.classList.add(CLASS_NAME_ACTIVE))\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n data.show()\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tab to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tab.jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab.jQueryInterface\n }\n}\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getTransitionDurationFromElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n}\n\nconst Default = {\n animation: true,\n autohide: true,\n delay: 500\n}\n\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"toast\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n show() {\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n if (this._config.animation) {\n this._element.classList.add(CLASS_NAME_FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(CLASS_NAME_SHOWING)\n this._element.classList.add(CLASS_NAME_SHOW)\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(CLASS_NAME_HIDE)\n reflow(this._element)\n this._element.classList.add(CLASS_NAME_SHOWING)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const complete = () => {\n this._element.classList.add(CLASS_NAME_HIDE)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n this._timeout = null\n\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this._element.classList.remove(CLASS_NAME_SHOW)\n }\n\n EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n Data.removeData(this._element, DATA_KEY)\n\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...typeof config === 'object' && config ? config : {}\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(\n this._element,\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n () => this.hide()\n )\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .toast to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Toast.jQueryInterface\n $.fn[NAME].Constructor = Toast\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast.jQueryInterface\n }\n}\n\nexport default Toast\n"]} \ No newline at end of file
diff --git a/dist/js/bootstrap.js b/dist/js/bootstrap.js
index fbaa847f72..2847673d48 100644
--- a/dist/js/bootstrap.js
+++ b/dist/js/bootstrap.js
@@ -1,6 +1,6 @@
/*!
* Bootstrap v4.3.1 (https://getbootstrap.com/)
- * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+ * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
(function (global, factory) {
@@ -9,7 +9,7 @@
(global = global || self, global.bootstrap = factory(global.Popper));
}(this, (function (Popper) { 'use strict';
- Popper = Popper && Popper.hasOwnProperty('default') ? Popper['default'] : Popper;
+ Popper = Popper && Object.prototype.hasOwnProperty.call(Popper, 'default') ? Popper['default'] : Popper;
function _defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
@@ -61,13 +61,13 @@
var source = arguments[i] != null ? arguments[i] : {};
if (i % 2) {
- ownKeys(source, true).forEach(function (key) {
+ ownKeys(Object(source), true).forEach(function (key) {
_defineProperty(target, key, source[key]);
});
} else if (Object.getOwnPropertyDescriptors) {
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
} else {
- ownKeys(source).forEach(function (key) {
+ ownKeys(Object(source)).forEach(function (key) {
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
});
}
@@ -93,6 +93,10 @@
var TRANSITION_END = 'transitionend'; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
var toType = function toType(obj) {
+ if (obj === null || obj === undefined) {
+ return "" + obj;
+ }
+
return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
};
/**
@@ -160,9 +164,7 @@
};
var triggerTransitionEnd = function triggerTransitionEnd(element) {
- var evt = document.createEvent('HTMLEvents');
- evt.initEvent(TRANSITION_END, true, true);
- element.dispatchEvent(evt);
+ element.dispatchEvent(new Event(TRANSITION_END));
};
var isElement = function isElement(obj) {
@@ -199,14 +201,6 @@
});
};
- var makeArray = function makeArray(nodeList) {
- if (!nodeList) {
- return [];
- }
-
- return [].slice.call(nodeList);
- };
-
var isVisible = function isVisible(element) {
if (!element) {
return false;
@@ -331,58 +325,11 @@
};
/* istanbul ignore file */
- var _Element$prototype = Element.prototype,
- matches = _Element$prototype.matches,
- closest = _Element$prototype.closest;
var find = Element.prototype.querySelectorAll;
- var findOne = Element.prototype.querySelector;
-
- var createCustomEvent = function createCustomEvent(eventName, params) {
- var cEvent = new CustomEvent(eventName, params);
- return cEvent;
- };
-
- if (typeof window.CustomEvent !== 'function') {
- createCustomEvent = function createCustomEvent(eventName, params) {
- params = params || {
- bubbles: false,
- cancelable: false,
- detail: null
- };
- var evt = document.createEvent('CustomEvent');
- evt.initCustomEvent(eventName, params.bubbles, params.cancelable, params.detail);
- return evt;
- };
- }
-
- var workingDefaultPrevented = function () {
- var e = document.createEvent('CustomEvent');
- e.initEvent('Bootstrap', true, true);
- e.preventDefault();
- return e.defaultPrevented;
- }();
-
- if (!workingDefaultPrevented) {
- var origPreventDefault = Event.prototype.preventDefault;
-
- Event.prototype.preventDefault = function () {
- if (!this.cancelable) {
- return;
- }
-
- origPreventDefault.call(this);
- Object.defineProperty(this, 'defaultPrevented', {
- get: function get() {
- return true;
- },
- configurable: true
- });
- };
- } // MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached
-
+ var findOne = Element.prototype.querySelector; // MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached
var defaultPreventedPreservedOnDispatch = function () {
- var e = createCustomEvent('Bootstrap', {
+ var e = new CustomEvent('Bootstrap', {
cancelable: true
});
var element = document.createElement('div');
@@ -394,26 +341,6 @@
return e.defaultPrevented;
}();
- if (!matches) {
- matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;
- }
-
- if (!closest) {
- closest = function closest(selector) {
- var element = this;
-
- do {
- if (matches.call(element, selector)) {
- return element;
- }
-
- element = element.parentElement || element.parentNode;
- } while (element !== null && element.nodeType === 1);
-
- return null;
- };
- }
-
var scopeSelectorRegex = /:scope\b/;
var supportScopeQuery = function () {
@@ -721,7 +648,7 @@
evt = document.createEvent('HTMLEvents');
evt.initEvent(typeEvent, bubbles, true);
} else {
- evt = createCustomEvent(event, {
+ evt = new CustomEvent(event, {
bubbles: bubbles,
cancelable: true
});
@@ -776,15 +703,17 @@
var NODE_TEXT = 3;
var SelectorEngine = {
- matches: function matches$1(element, selector) {
- return matches.call(element, selector);
+ matches: function matches(element, selector) {
+ return element.matches(selector);
},
find: function find$1(selector, element) {
+ var _ref;
+
if (element === void 0) {
element = document.documentElement;
}
- return find.call(element, selector);
+ return (_ref = []).concat.apply(_ref, find.call(element, selector));
},
findOne: function findOne$1(selector, element) {
if (element === void 0) {
@@ -794,11 +723,12 @@
return findOne.call(element, selector);
},
children: function children(element, selector) {
- var _this = this;
+ var _ref2;
+
+ var children = (_ref2 = []).concat.apply(_ref2, element.children);
- var children = makeArray(element.children);
return children.filter(function (child) {
- return _this.matches(child, selector);
+ return child.matches(selector);
});
},
parents: function parents(element, selector) {
@@ -815,22 +745,34 @@
return parents;
},
- closest: function closest$1(element, selector) {
- return closest.call(element, selector);
+ closest: function closest(element, selector) {
+ return element.closest(selector);
},
prev: function prev(element, selector) {
- var siblings = [];
- var previous = element.previousSibling;
+ var previous = element.previousElementSibling;
- while (previous && previous.nodeType === Node.ELEMENT_NODE && previous.nodeType !== NODE_TEXT) {
- if (this.matches(previous, selector)) {
- siblings.push(previous);
+ while (previous) {
+ if (previous.matches(selector)) {
+ return [previous];
}
- previous = previous.previousSibling;
+ previous = previous.previousElementSibling;
}
- return siblings;
+ return [];
+ },
+ next: function next(element, selector) {
+ var next = element.nextElementSibling;
+
+ while (next) {
+ if (this.matches(next, selector)) {
+ return [next];
+ }
+
+ next = next.nextElementSibling;
+ }
+
+ return [];
}
};
@@ -845,28 +787,20 @@
var DATA_KEY = 'bs.alert';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
- var Selector = {
- DISMISS: '[data-dismiss="alert"]'
- };
- var Event$1 = {
- CLOSE: "close" + EVENT_KEY,
- CLOSED: "closed" + EVENT_KEY,
- CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
- };
- var ClassName = {
- ALERT: 'alert',
- FADE: 'fade',
- SHOW: 'show'
- };
+ var SELECTOR_DISMISS = '[data-dismiss="alert"]';
+ var EVENT_CLOSE = "close" + EVENT_KEY;
+ var EVENT_CLOSED = "closed" + EVENT_KEY;
+ var EVENT_CLICK_DATA_API = "click" + EVENT_KEY + DATA_API_KEY;
+ var CLASSNAME_ALERT = 'alert';
+ var CLASSNAME_FADE = 'fade';
+ var CLASSNAME_SHOW = 'show';
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
- var Alert =
- /*#__PURE__*/
- function () {
+ var Alert = /*#__PURE__*/function () {
function Alert(element) {
this._element = element;
@@ -905,22 +839,22 @@
var parent = getElementFromSelector(element);
if (!parent) {
- parent = SelectorEngine.closest(element, "." + ClassName.ALERT);
+ parent = SelectorEngine.closest(element, "." + CLASSNAME_ALERT);
}
return parent;
};
_proto._triggerCloseEvent = function _triggerCloseEvent(element) {
- return EventHandler.trigger(element, Event$1.CLOSE);
+ return EventHandler.trigger(element, EVENT_CLOSE);
};
_proto._removeElement = function _removeElement(element) {
var _this = this;
- element.classList.remove(ClassName.SHOW);
+ element.classList.remove(CLASSNAME_SHOW);
- if (!element.classList.contains(ClassName.FADE)) {
+ if (!element.classList.contains(CLASSNAME_FADE)) {
this._destroyElement(element);
return;
@@ -938,7 +872,7 @@
element.parentNode.removeChild(element);
}
- EventHandler.trigger(element, Event$1.CLOSED);
+ EventHandler.trigger(element, EVENT_CLOSED);
} // Static
;
@@ -986,7 +920,7 @@
*/
- EventHandler.on(document, Event$1.CLICK_DATA_API, Selector.DISMISS, Alert.handleDismiss(new Alert()));
+ EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert.handleDismiss(new Alert()));
var $$1 = getjQuery();
/**
* ------------------------------------------------------------------------
@@ -1019,32 +953,25 @@
var DATA_KEY$1 = 'bs.button';
var EVENT_KEY$1 = "." + DATA_KEY$1;
var DATA_API_KEY$1 = '.data-api';
- var ClassName$1 = {
- ACTIVE: 'active',
- BUTTON: 'btn',
- FOCUS: 'focus'
- };
- var Selector$1 = {
- DATA_TOGGLE_CARROT: '[data-toggle^="button"]',
- DATA_TOGGLE: '[data-toggle="buttons"]',
- INPUT: 'input:not([type="hidden"])',
- ACTIVE: '.active',
- BUTTON: '.btn'
- };
- var Event$2 = {
- CLICK_DATA_API: "click" + EVENT_KEY$1 + DATA_API_KEY$1,
- FOCUS_DATA_API: "focus" + EVENT_KEY$1 + DATA_API_KEY$1,
- BLUR_DATA_API: "blur" + EVENT_KEY$1 + DATA_API_KEY$1
- };
+ var CLASS_NAME_ACTIVE = 'active';
+ var CLASS_NAME_BUTTON = 'btn';
+ var CLASS_NAME_DISABLED = 'disabled';
+ var CLASS_NAME_FOCUS = 'focus';
+ var SELECTOR_DATA_TOGGLE_CARROT = '[data-toggle^="button"]';
+ var SELECTOR_DATA_TOGGLE = '[data-toggle="buttons"]';
+ var SELECTOR_INPUT = 'input:not([type="hidden"])';
+ var SELECTOR_ACTIVE = '.active';
+ var SELECTOR_BUTTON = '.btn';
+ var EVENT_CLICK_DATA_API$1 = "click" + EVENT_KEY$1 + DATA_API_KEY$1;
+ var EVENT_FOCUS_DATA_API = "focus" + EVENT_KEY$1 + DATA_API_KEY$1;
+ var EVENT_BLUR_DATA_API = "blur" + EVENT_KEY$1 + DATA_API_KEY$1;
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
- var Button =
- /*#__PURE__*/
- function () {
+ var Button = /*#__PURE__*/function () {
function Button(element) {
this._element = element;
Data.setData(element, DATA_KEY$1, this);
@@ -1057,28 +984,28 @@
_proto.toggle = function toggle() {
var triggerChangeEvent = true;
var addAriaPressed = true;
- var rootElement = SelectorEngine.closest(this._element, Selector$1.DATA_TOGGLE);
+ var rootElement = SelectorEngine.closest(this._element, SELECTOR_DATA_TOGGLE);
if (rootElement) {
- var input = SelectorEngine.findOne(Selector$1.INPUT, this._element);
+ var input = SelectorEngine.findOne(SELECTOR_INPUT, this._element);
if (input && input.type === 'radio') {
- if (input.checked && this._element.classList.contains(ClassName$1.ACTIVE)) {
+ if (input.checked && this._element.classList.contains(CLASS_NAME_ACTIVE)) {
triggerChangeEvent = false;
} else {
- var activeElement = SelectorEngine.findOne(Selector$1.ACTIVE, rootElement);
+ var activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE, rootElement);
if (activeElement) {
- activeElement.classList.remove(ClassName$1.ACTIVE);
+ activeElement.classList.remove(CLASS_NAME_ACTIVE);
}
}
if (triggerChangeEvent) {
- if (input.hasAttribute('disabled') || rootElement.hasAttribute('disabled') || input.classList.contains('disabled') || rootElement.classList.contains('disabled')) {
+ if (input.hasAttribute('disabled') || rootElement.hasAttribute('disabled') || input.classList.contains(CLASS_NAME_DISABLED) || rootElement.classList.contains(CLASS_NAME_DISABLED)) {
return;
}
- input.checked = !this._element.classList.contains(ClassName$1.ACTIVE);
+ input.checked = !this._element.classList.contains(CLASS_NAME_ACTIVE);
EventHandler.trigger(input, 'change');
}
@@ -1088,11 +1015,11 @@
}
if (addAriaPressed) {
- this._element.setAttribute('aria-pressed', !this._element.classList.contains(ClassName$1.ACTIVE));
+ this._element.setAttribute('aria-pressed', !this._element.classList.contains(CLASS_NAME_ACTIVE));
}
if (triggerChangeEvent) {
- this._element.classList.toggle(ClassName$1.ACTIVE);
+ this._element.classList.toggle(CLASS_NAME_ACTIVE);
}
};
@@ -1136,12 +1063,12 @@
*/
- EventHandler.on(document, Event$2.CLICK_DATA_API, Selector$1.DATA_TOGGLE_CARROT, function (event) {
+ EventHandler.on(document, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE_CARROT, function (event) {
event.preventDefault();
var button = event.target;
- if (!button.classList.contains(ClassName$1.BUTTON)) {
- button = SelectorEngine.closest(button, Selector$1.BUTTON);
+ if (!button.classList.contains(CLASS_NAME_BUTTON)) {
+ button = SelectorEngine.closest(button, SELECTOR_BUTTON);
}
var data = Data.getData(button, DATA_KEY$1);
@@ -1152,18 +1079,18 @@
data.toggle();
});
- EventHandler.on(document, Event$2.FOCUS_DATA_API, Selector$1.DATA_TOGGLE_CARROT, function (event) {
- var button = SelectorEngine.closest(event.target, Selector$1.BUTTON);
+ EventHandler.on(document, EVENT_FOCUS_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, function (event) {
+ var button = SelectorEngine.closest(event.target, SELECTOR_BUTTON);
if (button) {
- button.classList.add(ClassName$1.FOCUS);
+ button.classList.add(CLASS_NAME_FOCUS);
}
});
- EventHandler.on(document, Event$2.BLUR_DATA_API, Selector$1.DATA_TOGGLE_CARROT, function (event) {
- var button = SelectorEngine.closest(event.target, Selector$1.BUTTON);
+ EventHandler.on(document, EVENT_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, function (event) {
+ var button = SelectorEngine.closest(event.target, SELECTOR_BUTTON);
if (button) {
- button.classList.remove(ClassName$1.FOCUS);
+ button.classList.remove(CLASS_NAME_FOCUS);
}
});
var $$2 = getjQuery();
@@ -1301,48 +1228,39 @@
wrap: 'boolean',
touch: 'boolean'
};
- var Direction = {
- NEXT: 'next',
- PREV: 'prev',
- LEFT: 'left',
- RIGHT: 'right'
- };
- var Event$3 = {
- SLIDE: "slide" + EVENT_KEY$2,
- SLID: "slid" + EVENT_KEY$2,
- KEYDOWN: "keydown" + EVENT_KEY$2,
- MOUSEENTER: "mouseenter" + EVENT_KEY$2,
- MOUSELEAVE: "mouseleave" + EVENT_KEY$2,
- TOUCHSTART: "touchstart" + EVENT_KEY$2,
- TOUCHMOVE: "touchmove" + EVENT_KEY$2,
- TOUCHEND: "touchend" + EVENT_KEY$2,
- POINTERDOWN: "pointerdown" + EVENT_KEY$2,
- POINTERUP: "pointerup" + EVENT_KEY$2,
- DRAG_START: "dragstart" + EVENT_KEY$2,
- LOAD_DATA_API: "load" + EVENT_KEY$2 + DATA_API_KEY$2,
- CLICK_DATA_API: "click" + EVENT_KEY$2 + DATA_API_KEY$2
- };
- var ClassName$2 = {
- CAROUSEL: 'carousel',
- ACTIVE: 'active',
- SLIDE: 'slide',
- RIGHT: 'carousel-item-right',
- LEFT: 'carousel-item-left',
- NEXT: 'carousel-item-next',
- PREV: 'carousel-item-prev',
- ITEM: 'carousel-item',
- POINTER_EVENT: 'pointer-event'
- };
- var Selector$2 = {
- ACTIVE: '.active',
- ACTIVE_ITEM: '.active.carousel-item',
- ITEM: '.carousel-item',
- ITEM_IMG: '.carousel-item img',
- NEXT_PREV: '.carousel-item-next, .carousel-item-prev',
- INDICATORS: '.carousel-indicators',
- DATA_SLIDE: '[data-slide], [data-slide-to]',
- DATA_RIDE: '[data-ride="carousel"]'
- };
+ var DIRECTION_NEXT = 'next';
+ var DIRECTION_PREV = 'prev';
+ var DIRECTION_LEFT = 'left';
+ var DIRECTION_RIGHT = 'right';
+ var EVENT_SLIDE = "slide" + EVENT_KEY$2;
+ var EVENT_SLID = "slid" + EVENT_KEY$2;
+ var EVENT_KEYDOWN = "keydown" + EVENT_KEY$2;
+ var EVENT_MOUSEENTER = "mouseenter" + EVENT_KEY$2;
+ var EVENT_MOUSELEAVE = "mouseleave" + EVENT_KEY$2;
+ var EVENT_TOUCHSTART = "touchstart" + EVENT_KEY$2;
+ var EVENT_TOUCHMOVE = "touchmove" + EVENT_KEY$2;
+ var EVENT_TOUCHEND = "touchend" + EVENT_KEY$2;
+ var EVENT_POINTERDOWN = "pointerdown" + EVENT_KEY$2;
+ var EVENT_POINTERUP = "pointerup" + EVENT_KEY$2;
+ var EVENT_DRAG_START = "dragstart" + EVENT_KEY$2;
+ var EVENT_LOAD_DATA_API = "load" + EVENT_KEY$2 + DATA_API_KEY$2;
+ var EVENT_CLICK_DATA_API$2 = "click" + EVENT_KEY$2 + DATA_API_KEY$2;
+ var CLASS_NAME_CAROUSEL = 'carousel';
+ var CLASS_NAME_ACTIVE$1 = 'active';
+ var CLASS_NAME_SLIDE = 'slide';
+ var CLASS_NAME_RIGHT = 'carousel-item-right';
+ var CLASS_NAME_LEFT = 'carousel-item-left';
+ var CLASS_NAME_NEXT = 'carousel-item-next';
+ var CLASS_NAME_PREV = 'carousel-item-prev';
+ var CLASS_NAME_POINTER_EVENT = 'pointer-event';
+ var SELECTOR_ACTIVE$1 = '.active';
+ var SELECTOR_ACTIVE_ITEM = '.active.carousel-item';
+ var SELECTOR_ITEM = '.carousel-item';
+ var SELECTOR_ITEM_IMG = '.carousel-item img';
+ var SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev';
+ var SELECTOR_INDICATORS = '.carousel-indicators';
+ var SELECTOR_DATA_SLIDE = '[data-slide], [data-slide-to]';
+ var SELECTOR_DATA_RIDE = '[data-ride="carousel"]';
var PointerType = {
TOUCH: 'touch',
PEN: 'pen'
@@ -1353,9 +1271,7 @@
* ------------------------------------------------------------------------
*/
- var Carousel =
- /*#__PURE__*/
- function () {
+ var Carousel = /*#__PURE__*/function () {
function Carousel(element, config) {
this._items = null;
this._interval = null;
@@ -1367,7 +1283,7 @@
this.touchDeltaX = 0;
this._config = this._getConfig(config);
this._element = element;
- this._indicatorsElement = SelectorEngine.findOne(Selector$2.INDICATORS, this._element);
+ this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element);
this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;
this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent);
@@ -1382,7 +1298,7 @@
// Public
_proto.next = function next() {
if (!this._isSliding) {
- this._slide(Direction.NEXT);
+ this._slide(DIRECTION_NEXT);
}
};
@@ -1396,7 +1312,7 @@
_proto.prev = function prev() {
if (!this._isSliding) {
- this._slide(Direction.PREV);
+ this._slide(DIRECTION_PREV);
}
};
@@ -1405,7 +1321,7 @@
this._isPaused = true;
}
- if (SelectorEngine.findOne(Selector$2.NEXT_PREV, this._element)) {
+ if (SelectorEngine.findOne(SELECTOR_NEXT_PREV, this._element)) {
triggerTransitionEnd(this._element);
this.cycle(true);
}
@@ -1432,7 +1348,7 @@
_proto.to = function to(index) {
var _this = this;
- this._activeElement = SelectorEngine.findOne(Selector$2.ACTIVE_ITEM, this._element);
+ this._activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element);
var activeIndex = this._getItemIndex(this._activeElement);
@@ -1441,7 +1357,7 @@
}
if (this._isSliding) {
- EventHandler.one(this._element, Event$3.SLID, function () {
+ EventHandler.one(this._element, EVENT_SLID, function () {
return _this.to(index);
});
return;
@@ -1453,7 +1369,7 @@
return;
}
- var direction = index > activeIndex ? Direction.NEXT : Direction.PREV;
+ var direction = index > activeIndex ? DIRECTION_NEXT : DIRECTION_PREV;
this._slide(direction, this._items[index]);
};
@@ -1502,16 +1418,16 @@
var _this2 = this;
if (this._config.keyboard) {
- EventHandler.on(this._element, Event$3.KEYDOWN, function (event) {
+ EventHandler.on(this._element, EVENT_KEYDOWN, function (event) {
return _this2._keydown(event);
});
}
if (this._config.pause === 'hover') {
- EventHandler.on(this._element, Event$3.MOUSEENTER, function (event) {
+ EventHandler.on(this._element, EVENT_MOUSEENTER, function (event) {
return _this2.pause(event);
});
- EventHandler.on(this._element, Event$3.MOUSELEAVE, function (event) {
+ EventHandler.on(this._element, EVENT_MOUSELEAVE, function (event) {
return _this2.cycle(event);
});
}
@@ -1568,29 +1484,29 @@
}
};
- makeArray(SelectorEngine.find(Selector$2.ITEM_IMG, this._element)).forEach(function (itemImg) {
- EventHandler.on(itemImg, Event$3.DRAG_START, function (e) {
+ SelectorEngine.find(SELECTOR_ITEM_IMG, this._element).forEach(function (itemImg) {
+ EventHandler.on(itemImg, EVENT_DRAG_START, function (e) {
return e.preventDefault();
});
});
if (this._pointerEvent) {
- EventHandler.on(this._element, Event$3.POINTERDOWN, function (event) {
+ EventHandler.on(this._element, EVENT_POINTERDOWN, function (event) {
return start(event);
});
- EventHandler.on(this._element, Event$3.POINTERUP, function (event) {
+ EventHandler.on(this._element, EVENT_POINTERUP, function (event) {
return end(event);
});
- this._element.classList.add(ClassName$2.POINTER_EVENT);
+ this._element.classList.add(CLASS_NAME_POINTER_EVENT);
} else {
- EventHandler.on(this._element, Event$3.TOUCHSTART, function (event) {
+ EventHandler.on(this._element, EVENT_TOUCHSTART, function (event) {
return start(event);
});
- EventHandler.on(this._element, Event$3.TOUCHMOVE, function (event) {
+ EventHandler.on(this._element, EVENT_TOUCHMOVE, function (event) {
return move(event);
});
- EventHandler.on(this._element, Event$3.TOUCHEND, function (event) {
+ EventHandler.on(this._element, EVENT_TOUCHEND, function (event) {
return end(event);
});
}
@@ -1615,13 +1531,13 @@
};
_proto._getItemIndex = function _getItemIndex(element) {
- this._items = element && element.parentNode ? makeArray(SelectorEngine.find(Selector$2.ITEM, element.parentNode)) : [];
+ this._items = element && element.parentNode ? SelectorEngine.find(SELECTOR_ITEM, element.parentNode) : [];
return this._items.indexOf(element);
};
_proto._getItemByDirection = function _getItemByDirection(direction, activeElement) {
- var isNextDirection = direction === Direction.NEXT;
- var isPrevDirection = direction === Direction.PREV;
+ var isNextDirection = direction === DIRECTION_NEXT;
+ var isPrevDirection = direction === DIRECTION_PREV;
var activeIndex = this._getItemIndex(activeElement);
@@ -1632,7 +1548,7 @@
return activeElement;
}
- var delta = direction === Direction.PREV ? -1 : 1;
+ var delta = direction === DIRECTION_PREV ? -1 : 1;
var itemIndex = (activeIndex + delta) % this._items.length;
return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];
};
@@ -1640,9 +1556,9 @@
_proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {
var targetIndex = this._getItemIndex(relatedTarget);
- var fromIndex = this._getItemIndex(SelectorEngine.findOne(Selector$2.ACTIVE_ITEM, this._element));
+ var fromIndex = this._getItemIndex(SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element));
- return EventHandler.trigger(this._element, Event$3.SLIDE, {
+ return EventHandler.trigger(this._element, EVENT_SLIDE, {
relatedTarget: relatedTarget,
direction: eventDirectionName,
from: fromIndex,
@@ -1652,16 +1568,16 @@
_proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {
if (this._indicatorsElement) {
- var indicators = SelectorEngine.find(Selector$2.ACTIVE, this._indicatorsElement);
+ var indicators = SelectorEngine.find(SELECTOR_ACTIVE$1, this._indicatorsElement);
for (var i = 0; i < indicators.length; i++) {
- indicators[i].classList.remove(ClassName$2.ACTIVE);
+ indicators[i].classList.remove(CLASS_NAME_ACTIVE$1);
}
var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];
if (nextIndicator) {
- nextIndicator.classList.add(ClassName$2.ACTIVE);
+ nextIndicator.classList.add(CLASS_NAME_ACTIVE$1);
}
}
};
@@ -1669,7 +1585,7 @@
_proto._slide = function _slide(direction, element) {
var _this4 = this;
- var activeElement = SelectorEngine.findOne(Selector$2.ACTIVE_ITEM, this._element);
+ var activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element);
var activeElementIndex = this._getItemIndex(activeElement);
@@ -1682,17 +1598,17 @@
var orderClassName;
var eventDirectionName;
- if (direction === Direction.NEXT) {
- directionalClassName = ClassName$2.LEFT;
- orderClassName = ClassName$2.NEXT;
- eventDirectionName = Direction.LEFT;
+ if (direction === DIRECTION_NEXT) {
+ directionalClassName = CLASS_NAME_LEFT;
+ orderClassName = CLASS_NAME_NEXT;
+ eventDirectionName = DIRECTION_LEFT;
} else {
- directionalClassName = ClassName$2.RIGHT;
- orderClassName = ClassName$2.PREV;
- eventDirectionName = Direction.RIGHT;
+ directionalClassName = CLASS_NAME_RIGHT;
+ orderClassName = CLASS_NAME_PREV;
+ eventDirectionName = DIRECTION_RIGHT;
}
- if (nextElement && nextElement.classList.contains(ClassName$2.ACTIVE)) {
+ if (nextElement && nextElement.classList.contains(CLASS_NAME_ACTIVE$1)) {
this._isSliding = false;
return;
}
@@ -1716,7 +1632,7 @@
this._setActiveIndicatorElement(nextElement);
- if (this._element.classList.contains(ClassName$2.SLIDE)) {
+ if (this._element.classList.contains(CLASS_NAME_SLIDE)) {
nextElement.classList.add(orderClassName);
reflow(nextElement);
activeElement.classList.add(directionalClassName);
@@ -1734,13 +1650,13 @@
EventHandler.one(activeElement, TRANSITION_END, function () {
nextElement.classList.remove(directionalClassName);
nextElement.classList.remove(orderClassName);
- nextElement.classList.add(ClassName$2.ACTIVE);
- activeElement.classList.remove(ClassName$2.ACTIVE);
+ nextElement.classList.add(CLASS_NAME_ACTIVE$1);
+ activeElement.classList.remove(CLASS_NAME_ACTIVE$1);
activeElement.classList.remove(orderClassName);
activeElement.classList.remove(directionalClassName);
_this4._isSliding = false;
setTimeout(function () {
- EventHandler.trigger(_this4._element, Event$3.SLID, {
+ EventHandler.trigger(_this4._element, EVENT_SLID, {
relatedTarget: nextElement,
direction: eventDirectionName,
from: activeElementIndex,
@@ -1750,10 +1666,10 @@
});
emulateTransitionEnd(activeElement, transitionDuration);
} else {
- activeElement.classList.remove(ClassName$2.ACTIVE);
- nextElement.classList.add(ClassName$2.ACTIVE);
+ activeElement.classList.remove(CLASS_NAME_ACTIVE$1);
+ nextElement.classList.add(CLASS_NAME_ACTIVE$1);
this._isSliding = false;
- EventHandler.trigger(this._element, Event$3.SLID, {
+ EventHandler.trigger(this._element, EVENT_SLID, {
relatedTarget: nextElement,
direction: eventDirectionName,
from: activeElementIndex,
@@ -1805,7 +1721,7 @@
Carousel.dataApiClickHandler = function dataApiClickHandler(event) {
var target = getElementFromSelector(this);
- if (!target || !target.classList.contains(ClassName$2.CAROUSEL)) {
+ if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {
return;
}
@@ -1851,9 +1767,9 @@
*/
- EventHandler.on(document, Event$3.CLICK_DATA_API, Selector$2.DATA_SLIDE, Carousel.dataApiClickHandler);
- EventHandler.on(window, Event$3.LOAD_DATA_API, function () {
- var carousels = makeArray(SelectorEngine.find(Selector$2.DATA_RIDE));
+ EventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_SLIDE, Carousel.dataApiClickHandler);
+ EventHandler.on(window, EVENT_LOAD_DATA_API, function () {
+ var carousels = SelectorEngine.find(SELECTOR_DATA_RIDE);
for (var i = 0, len = carousels.length; i < len; i++) {
Carousel.carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY$2));
@@ -1899,47 +1815,37 @@
toggle: 'boolean',
parent: '(string|element)'
};
- var Event$4 = {
- SHOW: "show" + EVENT_KEY$3,
- SHOWN: "shown" + EVENT_KEY$3,
- HIDE: "hide" + EVENT_KEY$3,
- HIDDEN: "hidden" + EVENT_KEY$3,
- CLICK_DATA_API: "click" + EVENT_KEY$3 + DATA_API_KEY$3
- };
- var ClassName$3 = {
- SHOW: 'show',
- COLLAPSE: 'collapse',
- COLLAPSING: 'collapsing',
- COLLAPSED: 'collapsed'
- };
- var Dimension = {
- WIDTH: 'width',
- HEIGHT: 'height'
- };
- var Selector$3 = {
- ACTIVES: '.show, .collapsing',
- DATA_TOGGLE: '[data-toggle="collapse"]'
- };
+ var EVENT_SHOW = "show" + EVENT_KEY$3;
+ var EVENT_SHOWN = "shown" + EVENT_KEY$3;
+ var EVENT_HIDE = "hide" + EVENT_KEY$3;
+ var EVENT_HIDDEN = "hidden" + EVENT_KEY$3;
+ var EVENT_CLICK_DATA_API$3 = "click" + EVENT_KEY$3 + DATA_API_KEY$3;
+ var CLASS_NAME_SHOW = 'show';
+ var CLASS_NAME_COLLAPSE = 'collapse';
+ var CLASS_NAME_COLLAPSING = 'collapsing';
+ var CLASS_NAME_COLLAPSED = 'collapsed';
+ var WIDTH = 'width';
+ var HEIGHT = 'height';
+ var SELECTOR_ACTIVES = '.show, .collapsing';
+ var SELECTOR_DATA_TOGGLE$1 = '[data-toggle="collapse"]';
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
- var Collapse =
- /*#__PURE__*/
- function () {
+ var Collapse = /*#__PURE__*/function () {
function Collapse(element, config) {
this._isTransitioning = false;
this._element = element;
this._config = this._getConfig(config);
- this._triggerArray = makeArray(SelectorEngine.find("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]")));
- var toggleList = makeArray(SelectorEngine.find(Selector$3.DATA_TOGGLE));
+ this._triggerArray = SelectorEngine.find(SELECTOR_DATA_TOGGLE$1 + "[href=\"#" + element.id + "\"]," + (SELECTOR_DATA_TOGGLE$1 + "[data-target=\"#" + element.id + "\"]"));
+ var toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$1);
for (var i = 0, len = toggleList.length; i < len; i++) {
var elem = toggleList[i];
var selector = getSelectorFromElement(elem);
- var filterElement = makeArray(SelectorEngine.find(selector)).filter(function (foundElem) {
+ var filterElement = SelectorEngine.find(selector).filter(function (foundElem) {
return foundElem === element;
});
@@ -1968,7 +1874,7 @@
// Public
_proto.toggle = function toggle() {
- if (this._element.classList.contains(ClassName$3.SHOW)) {
+ if (this._element.classList.contains(CLASS_NAME_SHOW)) {
this.hide();
} else {
this.show();
@@ -1978,7 +1884,7 @@
_proto.show = function show() {
var _this = this;
- if (this._isTransitioning || this._element.classList.contains(ClassName$3.SHOW)) {
+ if (this._isTransitioning || this._element.classList.contains(CLASS_NAME_SHOW)) {
return;
}
@@ -1986,12 +1892,12 @@
var activesData;
if (this._parent) {
- actives = makeArray(SelectorEngine.find(Selector$3.ACTIVES, this._parent)).filter(function (elem) {
+ actives = SelectorEngine.find(SELECTOR_ACTIVES, this._parent).filter(function (elem) {
if (typeof _this._config.parent === 'string') {
return elem.getAttribute('data-parent') === _this._config.parent;
}
- return elem.classList.contains(ClassName$3.COLLAPSE);
+ return elem.classList.contains(CLASS_NAME_COLLAPSE);
});
if (actives.length === 0) {
@@ -2012,7 +1918,7 @@
}
}
- var startEvent = EventHandler.trigger(this._element, Event$4.SHOW);
+ var startEvent = EventHandler.trigger(this._element, EVENT_SHOW);
if (startEvent.defaultPrevented) {
return;
@@ -2032,15 +1938,15 @@
var dimension = this._getDimension();
- this._element.classList.remove(ClassName$3.COLLAPSE);
+ this._element.classList.remove(CLASS_NAME_COLLAPSE);
- this._element.classList.add(ClassName$3.COLLAPSING);
+ this._element.classList.add(CLASS_NAME_COLLAPSING);
this._element.style[dimension] = 0;
if (this._triggerArray.length) {
this._triggerArray.forEach(function (element) {
- element.classList.remove(ClassName$3.COLLAPSED);
+ element.classList.remove(CLASS_NAME_COLLAPSED);
element.setAttribute('aria-expanded', true);
});
}
@@ -2048,17 +1954,17 @@
this.setTransitioning(true);
var complete = function complete() {
- _this._element.classList.remove(ClassName$3.COLLAPSING);
+ _this._element.classList.remove(CLASS_NAME_COLLAPSING);
- _this._element.classList.add(ClassName$3.COLLAPSE);
+ _this._element.classList.add(CLASS_NAME_COLLAPSE);
- _this._element.classList.add(ClassName$3.SHOW);
+ _this._element.classList.add(CLASS_NAME_SHOW);
_this._element.style[dimension] = '';
_this.setTransitioning(false);
- EventHandler.trigger(_this._element, Event$4.SHOWN);
+ EventHandler.trigger(_this._element, EVENT_SHOWN);
};
var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
@@ -2072,11 +1978,11 @@
_proto.hide = function hide() {
var _this2 = this;
- if (this._isTransitioning || !this._element.classList.contains(ClassName$3.SHOW)) {
+ if (this._isTransitioning || !this._element.classList.contains(CLASS_NAME_SHOW)) {
return;
}
- var startEvent = EventHandler.trigger(this._element, Event$4.HIDE);
+ var startEvent = EventHandler.trigger(this._element, EVENT_HIDE);
if (startEvent.defaultPrevented) {
return;
@@ -2087,11 +1993,11 @@
this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px";
reflow(this._element);
- this._element.classList.add(ClassName$3.COLLAPSING);
+ this._element.classList.add(CLASS_NAME_COLLAPSING);
- this._element.classList.remove(ClassName$3.COLLAPSE);
+ this._element.classList.remove(CLASS_NAME_COLLAPSE);
- this._element.classList.remove(ClassName$3.SHOW);
+ this._element.classList.remove(CLASS_NAME_SHOW);
var triggerArrayLength = this._triggerArray.length;
@@ -2100,8 +2006,8 @@
var trigger = this._triggerArray[i];
var elem = getElementFromSelector(trigger);
- if (elem && !elem.classList.contains(ClassName$3.SHOW)) {
- trigger.classList.add(ClassName$3.COLLAPSED);
+ if (elem && !elem.classList.contains(CLASS_NAME_SHOW)) {
+ trigger.classList.add(CLASS_NAME_COLLAPSED);
trigger.setAttribute('aria-expanded', false);
}
}
@@ -2112,11 +2018,11 @@
var complete = function complete() {
_this2.setTransitioning(false);
- _this2._element.classList.remove(ClassName$3.COLLAPSING);
+ _this2._element.classList.remove(CLASS_NAME_COLLAPSING);
- _this2._element.classList.add(ClassName$3.COLLAPSE);
+ _this2._element.classList.add(CLASS_NAME_COLLAPSE);
- EventHandler.trigger(_this2._element, Event$4.HIDDEN);
+ EventHandler.trigger(_this2._element, EVENT_HIDDEN);
};
this._element.style[dimension] = '';
@@ -2148,9 +2054,9 @@
};
_proto._getDimension = function _getDimension() {
- var hasWidth = this._element.classList.contains(Dimension.WIDTH);
+ var hasWidth = this._element.classList.contains(WIDTH);
- return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT;
+ return hasWidth ? WIDTH : HEIGHT;
};
_proto._getParent = function _getParent() {
@@ -2167,8 +2073,8 @@
parent = SelectorEngine.findOne(parent);
}
- var selector = "[data-toggle=\"collapse\"][data-parent=\"" + parent + "\"]";
- makeArray(SelectorEngine.find(selector, parent)).forEach(function (element) {
+ var selector = SELECTOR_DATA_TOGGLE$1 + "[data-parent=\"" + parent + "\"]";
+ SelectorEngine.find(selector, parent).forEach(function (element) {
var selected = getElementFromSelector(element);
_this3._addAriaAndCollapsedClass(selected, [element]);
@@ -2178,14 +2084,14 @@
_proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {
if (element) {
- var isOpen = element.classList.contains(ClassName$3.SHOW);
+ var isOpen = element.classList.contains(CLASS_NAME_SHOW);
if (triggerArray.length) {
triggerArray.forEach(function (elem) {
if (isOpen) {
- elem.classList.remove(ClassName$3.COLLAPSED);
+ elem.classList.remove(CLASS_NAME_COLLAPSED);
} else {
- elem.classList.add(ClassName$3.COLLAPSED);
+ elem.classList.add(CLASS_NAME_COLLAPSED);
}
elem.setAttribute('aria-expanded', isOpen);
@@ -2248,7 +2154,7 @@
*/
- EventHandler.on(document, Event$4.CLICK_DATA_API, Selector$3.DATA_TOGGLE, function (event) {
+ EventHandler.on(document, EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$1, function (event) {
// preventDefault only for <a> elements (which change the URL) not inside the collapsible element
if (event.target.tagName === 'A') {
event.preventDefault();
@@ -2256,7 +2162,7 @@
var triggerData = Manipulator.getDataAttributes(this);
var selector = getSelectorFromElement(this);
- var selectorElements = makeArray(SelectorEngine.find(selector));
+ var selectorElements = SelectorEngine.find(selector);
selectorElements.forEach(function (element) {
var data = Data.getData(element, DATA_KEY$3);
var config;
@@ -2321,42 +2227,33 @@
var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)
var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + "|" + ARROW_DOWN_KEYCODE + "|" + ESCAPE_KEYCODE);
- var Event$5 = {
- HIDE: "hide" + EVENT_KEY$4,
- HIDDEN: "hidden" + EVENT_KEY$4,
- SHOW: "show" + EVENT_KEY$4,
- SHOWN: "shown" + EVENT_KEY$4,
- CLICK: "click" + EVENT_KEY$4,
- CLICK_DATA_API: "click" + EVENT_KEY$4 + DATA_API_KEY$4,
- KEYDOWN_DATA_API: "keydown" + EVENT_KEY$4 + DATA_API_KEY$4,
- KEYUP_DATA_API: "keyup" + EVENT_KEY$4 + DATA_API_KEY$4
- };
- var ClassName$4 = {
- DISABLED: 'disabled',
- SHOW: 'show',
- DROPUP: 'dropup',
- DROPRIGHT: 'dropright',
- DROPLEFT: 'dropleft',
- MENURIGHT: 'dropdown-menu-right',
- POSITION_STATIC: 'position-static'
- };
- var Selector$4 = {
- DATA_TOGGLE: '[data-toggle="dropdown"]',
- FORM_CHILD: '.dropdown form',
- MENU: '.dropdown-menu',
- NAVBAR_NAV: '.navbar-nav',
- VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'
- };
- var AttachmentMap = {
- TOP: 'top-start',
- TOPEND: 'top-end',
- BOTTOM: 'bottom-start',
- BOTTOMEND: 'bottom-end',
- RIGHT: 'right-start',
- RIGHTEND: 'right-end',
- LEFT: 'left-start',
- LEFTEND: 'left-end'
- };
+ var EVENT_HIDE$1 = "hide" + EVENT_KEY$4;
+ var EVENT_HIDDEN$1 = "hidden" + EVENT_KEY$4;
+ var EVENT_SHOW$1 = "show" + EVENT_KEY$4;
+ var EVENT_SHOWN$1 = "shown" + EVENT_KEY$4;
+ var EVENT_CLICK = "click" + EVENT_KEY$4;
+ var EVENT_CLICK_DATA_API$4 = "click" + EVENT_KEY$4 + DATA_API_KEY$4;
+ var EVENT_KEYDOWN_DATA_API = "keydown" + EVENT_KEY$4 + DATA_API_KEY$4;
+ var EVENT_KEYUP_DATA_API = "keyup" + EVENT_KEY$4 + DATA_API_KEY$4;
+ var CLASS_NAME_DISABLED$1 = 'disabled';
+ var CLASS_NAME_SHOW$1 = 'show';
+ var CLASS_NAME_DROPUP = 'dropup';
+ var CLASS_NAME_DROPRIGHT = 'dropright';
+ var CLASS_NAME_DROPLEFT = 'dropleft';
+ var CLASS_NAME_MENURIGHT = 'dropdown-menu-right';
+ var CLASS_NAME_NAVBAR = 'navbar';
+ var CLASS_NAME_POSITION_STATIC = 'position-static';
+ var SELECTOR_DATA_TOGGLE$2 = '[data-toggle="dropdown"]';
+ var SELECTOR_FORM_CHILD = '.dropdown form';
+ var SELECTOR_MENU = '.dropdown-menu';
+ var SELECTOR_NAVBAR_NAV = '.navbar-nav';
+ var SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)';
+ var PLACEMENT_TOP = 'top-start';
+ var PLACEMENT_TOPEND = 'top-end';
+ var PLACEMENT_BOTTOM = 'bottom-start';
+ var PLACEMENT_BOTTOMEND = 'bottom-end';
+ var PLACEMENT_RIGHT = 'right-start';
+ var PLACEMENT_LEFT = 'left-start';
var Default$2 = {
offset: 0,
flip: true,
@@ -2379,9 +2276,7 @@
* ------------------------------------------------------------------------
*/
- var Dropdown =
- /*#__PURE__*/
- function () {
+ var Dropdown = /*#__PURE__*/function () {
function Dropdown(element, config) {
this._element = element;
this._popper = null;
@@ -2399,11 +2294,11 @@
// Public
_proto.toggle = function toggle() {
- if (this._element.disabled || this._element.classList.contains(ClassName$4.DISABLED)) {
+ if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED$1)) {
return;
}
- var isActive = this._menu.classList.contains(ClassName$4.SHOW);
+ var isActive = this._element.classList.contains(CLASS_NAME_SHOW$1);
Dropdown.clearMenus();
@@ -2415,7 +2310,7 @@
};
_proto.show = function show() {
- if (this._element.disabled || this._element.classList.contains(ClassName$4.DISABLED) || this._menu.classList.contains(ClassName$4.SHOW)) {
+ if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED$1) || this._menu.classList.contains(CLASS_NAME_SHOW$1)) {
return;
}
@@ -2423,7 +2318,7 @@
var relatedTarget = {
relatedTarget: this._element
};
- var showEvent = EventHandler.trigger(parent, Event$5.SHOW, relatedTarget);
+ var showEvent = EventHandler.trigger(this._element, EVENT_SHOW$1, relatedTarget);
if (showEvent.defaultPrevented) {
return;
@@ -2451,7 +2346,7 @@
if (this._config.boundary !== 'scrollParent') {
- parent.classList.add(ClassName$4.POSITION_STATIC);
+ parent.classList.add(CLASS_NAME_POSITION_STATIC);
}
this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig());
@@ -2461,8 +2356,10 @@
// https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
- if ('ontouchstart' in document.documentElement && !makeArray(SelectorEngine.closest(parent, Selector$4.NAVBAR_NAV)).length) {
- makeArray(document.body.children).forEach(function (elem) {
+ if ('ontouchstart' in document.documentElement && !SelectorEngine.closest(parent, SELECTOR_NAVBAR_NAV)) {
+ var _ref;
+
+ (_ref = []).concat.apply(_ref, document.body.children).forEach(function (elem) {
return EventHandler.on(elem, 'mouseover', null, noop());
});
}
@@ -2471,13 +2368,13 @@
this._element.setAttribute('aria-expanded', true);
- Manipulator.toggleClass(this._menu, ClassName$4.SHOW);
- Manipulator.toggleClass(parent, ClassName$4.SHOW);
- EventHandler.trigger(parent, Event$5.SHOWN, relatedTarget);
+ Manipulator.toggleClass(this._menu, CLASS_NAME_SHOW$1);
+ Manipulator.toggleClass(this._element, CLASS_NAME_SHOW$1);
+ EventHandler.trigger(parent, EVENT_SHOWN$1, relatedTarget);
};
_proto.hide = function hide() {
- if (this._element.disabled || this._element.classList.contains(ClassName$4.DISABLED) || !this._menu.classList.contains(ClassName$4.SHOW)) {
+ if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED$1) || !this._menu.classList.contains(CLASS_NAME_SHOW$1)) {
return;
}
@@ -2485,7 +2382,7 @@
var relatedTarget = {
relatedTarget: this._element
};
- var hideEvent = EventHandler.trigger(parent, Event$5.HIDE, relatedTarget);
+ var hideEvent = EventHandler.trigger(parent, EVENT_HIDE$1, relatedTarget);
if (hideEvent.defaultPrevented) {
return;
@@ -2495,9 +2392,9 @@
this._popper.destroy();
}
- Manipulator.toggleClass(this._menu, ClassName$4.SHOW);
- Manipulator.toggleClass(parent, ClassName$4.SHOW);
- EventHandler.trigger(parent, Event$5.HIDDEN, relatedTarget);
+ Manipulator.toggleClass(this._menu, CLASS_NAME_SHOW$1);
+ Manipulator.toggleClass(this._element, CLASS_NAME_SHOW$1);
+ EventHandler.trigger(parent, EVENT_HIDDEN$1, relatedTarget);
};
_proto.dispose = function dispose() {
@@ -2525,7 +2422,7 @@
_proto._addEventListeners = function _addEventListeners() {
var _this = this;
- EventHandler.on(this._element, Event$5.CLICK, function (event) {
+ EventHandler.on(this._element, EVENT_CLICK, function (event) {
event.preventDefault();
event.stopPropagation();
@@ -2540,33 +2437,32 @@
};
_proto._getMenuElement = function _getMenuElement() {
- var parent = Dropdown.getParentFromElement(this._element);
- return SelectorEngine.findOne(Selector$4.MENU, parent);
+ return SelectorEngine.next(this._element, SELECTOR_MENU)[0];
};
_proto._getPlacement = function _getPlacement() {
var parentDropdown = this._element.parentNode;
- var placement = AttachmentMap.BOTTOM; // Handle dropup
+ var placement = PLACEMENT_BOTTOM; // Handle dropup
- if (parentDropdown.classList.contains(ClassName$4.DROPUP)) {
- placement = AttachmentMap.TOP;
+ if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {
+ placement = PLACEMENT_TOP;
- if (this._menu.classList.contains(ClassName$4.MENURIGHT)) {
- placement = AttachmentMap.TOPEND;
+ if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {
+ placement = PLACEMENT_TOPEND;
}
- } else if (parentDropdown.classList.contains(ClassName$4.DROPRIGHT)) {
- placement = AttachmentMap.RIGHT;
- } else if (parentDropdown.classList.contains(ClassName$4.DROPLEFT)) {
- placement = AttachmentMap.LEFT;
- } else if (this._menu.classList.contains(ClassName$4.MENURIGHT)) {
- placement = AttachmentMap.BOTTOMEND;
+ } else if (parentDropdown.classList.contains(CLASS_NAME_DROPRIGHT)) {
+ placement = PLACEMENT_RIGHT;
+ } else if (parentDropdown.classList.contains(CLASS_NAME_DROPLEFT)) {
+ placement = PLACEMENT_LEFT;
+ } else if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {
+ placement = PLACEMENT_BOTTOMEND;
}
return placement;
};
_proto._detectNavbar = function _detectNavbar() {
- return Boolean(SelectorEngine.closest(this._element, '.navbar'));
+ return Boolean(SelectorEngine.closest(this._element, "." + CLASS_NAME_NAVBAR));
};
_proto._getOffset = function _getOffset() {
@@ -2639,7 +2535,7 @@
return;
}
- var toggles = makeArray(SelectorEngine.find(Selector$4.DATA_TOGGLE));
+ var toggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE$2);
for (var i = 0, len = toggles.length; i < len; i++) {
var parent = Dropdown.getParentFromElement(toggles[i]);
@@ -2658,15 +2554,15 @@
var dropdownMenu = context._menu;
- if (!parent.classList.contains(ClassName$4.SHOW)) {
+ if (!toggles[i].classList.contains(CLASS_NAME_SHOW$1)) {
continue;
}
- if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && parent.contains(event.target)) {
+ if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && dropdownMenu.contains(event.target)) {
continue;
}
- var hideEvent = EventHandler.trigger(parent, Event$5.HIDE, relatedTarget);
+ var hideEvent = EventHandler.trigger(parent, EVENT_HIDE$1, relatedTarget);
if (hideEvent.defaultPrevented) {
continue;
@@ -2675,7 +2571,9 @@
if ('ontouchstart' in document.documentElement) {
- makeArray(document.body.children).forEach(function (elem) {
+ var _ref2;
+
+ (_ref2 = []).concat.apply(_ref2, document.body.children).forEach(function (elem) {
return EventHandler.off(elem, 'mouseover', null, noop());
});
}
@@ -2686,9 +2584,9 @@
context._popper.destroy();
}
- dropdownMenu.classList.remove(ClassName$4.SHOW);
- parent.classList.remove(ClassName$4.SHOW);
- EventHandler.trigger(parent, Event$5.HIDDEN, relatedTarget);
+ dropdownMenu.classList.remove(CLASS_NAME_SHOW$1);
+ toggles[i].classList.remove(CLASS_NAME_SHOW$1);
+ EventHandler.trigger(parent, EVENT_HIDDEN$1, relatedTarget);
}
};
@@ -2704,36 +2602,39 @@
// - If key is other than escape
// - If key is not up or down => not a dropdown command
// - If trigger inside the menu => not a dropdown command
- if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE && (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || SelectorEngine.closest(event.target, Selector$4.MENU)) : !REGEXP_KEYDOWN.test(event.which)) {
+ if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE && (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || SelectorEngine.closest(event.target, SELECTOR_MENU)) : !REGEXP_KEYDOWN.test(event.which)) {
return;
}
event.preventDefault();
event.stopPropagation();
- if (this.disabled || this.classList.contains(ClassName$4.DISABLED)) {
+ if (this.disabled || this.classList.contains(CLASS_NAME_DISABLED$1)) {
return;
}
var parent = Dropdown.getParentFromElement(this);
- var isActive = parent.classList.contains(ClassName$4.SHOW);
+ var isActive = this.classList.contains(CLASS_NAME_SHOW$1);
- if (!isActive || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {
- if (event.which === ESCAPE_KEYCODE) {
- SelectorEngine.findOne(Selector$4.DATA_TOGGLE, parent).focus();
- }
+ if (event.which === ESCAPE_KEYCODE) {
+ var button = this.matches(SELECTOR_DATA_TOGGLE$2) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$2)[0];
+ button.focus();
+ Dropdown.clearMenus();
+ return;
+ }
+ if (!isActive || event.which === SPACE_KEYCODE) {
Dropdown.clearMenus();
return;
}
- var items = makeArray(SelectorEngine.find(Selector$4.VISIBLE_ITEMS, parent)).filter(isVisible);
+ var items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, parent).filter(isVisible);
if (!items.length) {
return;
}
- var index = items.indexOf(event.target);
+ var index = items.indexOf(event.target) || 0;
if (event.which === ARROW_UP_KEYCODE && index > 0) {
// Up
@@ -2745,10 +2646,6 @@
index++;
}
- if (index < 0) {
- index = 0;
- }
-
items[index].focus();
};
@@ -2782,16 +2679,16 @@
*/
- EventHandler.on(document, Event$5.KEYDOWN_DATA_API, Selector$4.DATA_TOGGLE, Dropdown.dataApiKeydownHandler);
- EventHandler.on(document, Event$5.KEYDOWN_DATA_API, Selector$4.MENU, Dropdown.dataApiKeydownHandler);
- EventHandler.on(document, Event$5.CLICK_DATA_API, Dropdown.clearMenus);
- EventHandler.on(document, Event$5.KEYUP_DATA_API, Dropdown.clearMenus);
- EventHandler.on(document, Event$5.CLICK_DATA_API, Selector$4.DATA_TOGGLE, function (event) {
+ EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$2, Dropdown.dataApiKeydownHandler);
+ EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler);
+ EventHandler.on(document, EVENT_CLICK_DATA_API$4, Dropdown.clearMenus);
+ EventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus);
+ EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$2, function (event) {
event.preventDefault();
event.stopPropagation();
Dropdown.dropdownInterface(this, 'toggle');
});
- EventHandler.on(document, Event$5.CLICK_DATA_API, Selector$4.FORM_CHILD, function (e) {
+ EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_FORM_CHILD, function (e) {
return e.stopPropagation();
});
var $$5 = getjQuery();
@@ -2840,50 +2737,42 @@
focus: 'boolean',
show: 'boolean'
};
- var Event$6 = {
- HIDE: "hide" + EVENT_KEY$5,
- HIDE_PREVENTED: "hidePrevented" + EVENT_KEY$5,
- HIDDEN: "hidden" + EVENT_KEY$5,
- SHOW: "show" + EVENT_KEY$5,
- SHOWN: "shown" + EVENT_KEY$5,
- FOCUSIN: "focusin" + EVENT_KEY$5,
- RESIZE: "resize" + EVENT_KEY$5,
- CLICK_DISMISS: "click.dismiss" + EVENT_KEY$5,
- KEYDOWN_DISMISS: "keydown.dismiss" + EVENT_KEY$5,
- MOUSEUP_DISMISS: "mouseup.dismiss" + EVENT_KEY$5,
- MOUSEDOWN_DISMISS: "mousedown.dismiss" + EVENT_KEY$5,
- CLICK_DATA_API: "click" + EVENT_KEY$5 + DATA_API_KEY$5
- };
- var ClassName$5 = {
- SCROLLABLE: 'modal-dialog-scrollable',
- SCROLLBAR_MEASURER: 'modal-scrollbar-measure',
- BACKDROP: 'modal-backdrop',
- OPEN: 'modal-open',
- FADE: 'fade',
- SHOW: 'show',
- STATIC: 'modal-static'
- };
- var Selector$5 = {
- DIALOG: '.modal-dialog',
- MODAL_BODY: '.modal-body',
- DATA_TOGGLE: '[data-toggle="modal"]',
- DATA_DISMISS: '[data-dismiss="modal"]',
- FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
- STICKY_CONTENT: '.sticky-top'
- };
+ var EVENT_HIDE$2 = "hide" + EVENT_KEY$5;
+ var EVENT_HIDE_PREVENTED = "hidePrevented" + EVENT_KEY$5;
+ var EVENT_HIDDEN$2 = "hidden" + EVENT_KEY$5;
+ var EVENT_SHOW$2 = "show" + EVENT_KEY$5;
+ var EVENT_SHOWN$2 = "shown" + EVENT_KEY$5;
+ var EVENT_FOCUSIN = "focusin" + EVENT_KEY$5;
+ var EVENT_RESIZE = "resize" + EVENT_KEY$5;
+ var EVENT_CLICK_DISMISS = "click.dismiss" + EVENT_KEY$5;
+ var EVENT_KEYDOWN_DISMISS = "keydown.dismiss" + EVENT_KEY$5;
+ var EVENT_MOUSEUP_DISMISS = "mouseup.dismiss" + EVENT_KEY$5;
+ var EVENT_MOUSEDOWN_DISMISS = "mousedown.dismiss" + EVENT_KEY$5;
+ var EVENT_CLICK_DATA_API$5 = "click" + EVENT_KEY$5 + DATA_API_KEY$5;
+ var CLASS_NAME_SCROLLABLE = 'modal-dialog-scrollable';
+ var CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure';
+ var CLASS_NAME_BACKDROP = 'modal-backdrop';
+ var CLASS_NAME_OPEN = 'modal-open';
+ var CLASS_NAME_FADE = 'fade';
+ var CLASS_NAME_SHOW$2 = 'show';
+ var CLASS_NAME_STATIC = 'modal-static';
+ var SELECTOR_DIALOG = '.modal-dialog';
+ var SELECTOR_MODAL_BODY = '.modal-body';
+ var SELECTOR_DATA_TOGGLE$3 = '[data-toggle="modal"]';
+ var SELECTOR_DATA_DISMISS = '[data-dismiss="modal"]';
+ var SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';
+ var SELECTOR_STICKY_CONTENT = '.sticky-top';
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
- var Modal =
- /*#__PURE__*/
- function () {
+ var Modal = /*#__PURE__*/function () {
function Modal(element, config) {
this._config = this._getConfig(config);
this._element = element;
- this._dialog = SelectorEngine.findOne(Selector$5.DIALOG, element);
+ this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, element);
this._backdrop = null;
this._isShown = false;
this._isBodyOverflowing = false;
@@ -2908,11 +2797,11 @@
return;
}
- if (this._element.classList.contains(ClassName$5.FADE)) {
+ if (this._element.classList.contains(CLASS_NAME_FADE)) {
this._isTransitioning = true;
}
- var showEvent = EventHandler.trigger(this._element, Event$6.SHOW, {
+ var showEvent = EventHandler.trigger(this._element, EVENT_SHOW$2, {
relatedTarget: relatedTarget
});
@@ -2932,11 +2821,11 @@
this._setResizeEvent();
- EventHandler.on(this._element, Event$6.CLICK_DISMISS, Selector$5.DATA_DISMISS, function (event) {
+ EventHandler.on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, function (event) {
return _this.hide(event);
});
- EventHandler.on(this._dialog, Event$6.MOUSEDOWN_DISMISS, function () {
- EventHandler.one(_this._element, Event$6.MOUSEUP_DISMISS, function (event) {
+ EventHandler.on(this._dialog, EVENT_MOUSEDOWN_DISMISS, function () {
+ EventHandler.one(_this._element, EVENT_MOUSEUP_DISMISS, function (event) {
if (event.target === _this._element) {
_this._ignoreBackdropClick = true;
}
@@ -2959,7 +2848,7 @@
return;
}
- var hideEvent = EventHandler.trigger(this._element, Event$6.HIDE);
+ var hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$2);
if (hideEvent.defaultPrevented) {
return;
@@ -2967,7 +2856,7 @@
this._isShown = false;
- var transition = this._element.classList.contains(ClassName$5.FADE);
+ var transition = this._element.classList.contains(CLASS_NAME_FADE);
if (transition) {
this._isTransitioning = true;
@@ -2977,12 +2866,12 @@
this._setResizeEvent();
- EventHandler.off(document, Event$6.FOCUSIN);
+ EventHandler.off(document, EVENT_FOCUSIN);
- this._element.classList.remove(ClassName$5.SHOW);
+ this._element.classList.remove(CLASS_NAME_SHOW$2);
- EventHandler.off(this._element, Event$6.CLICK_DISMISS);
- EventHandler.off(this._dialog, Event$6.MOUSEDOWN_DISMISS);
+ EventHandler.off(this._element, EVENT_CLICK_DISMISS);
+ EventHandler.off(this._dialog, EVENT_MOUSEDOWN_DISMISS);
if (transition) {
var transitionDuration = getTransitionDurationFromElement(this._element);
@@ -3000,12 +2889,12 @@
return EventHandler.off(htmlElement, EVENT_KEY$5);
});
/**
- * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`
+ * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`
* Do not move `document` in `htmlElements` array
- * It will remove `Event.CLICK_DATA_API` event that should remain
+ * It will remove `EVENT_CLICK_DATA_API` event that should remain
*/
- EventHandler.off(document, Event$6.FOCUSIN);
+ EventHandler.off(document, EVENT_FOCUSIN);
Data.removeData(this._element, DATA_KEY$5);
this._config = null;
this._element = null;
@@ -3032,9 +2921,9 @@
_proto._showElement = function _showElement(relatedTarget) {
var _this3 = this;
- var transition = this._element.classList.contains(ClassName$5.FADE);
+ var transition = this._element.classList.contains(CLASS_NAME_FADE);
- var modalBody = SelectorEngine.findOne(Selector$5.MODAL_BODY, this._dialog);
+ var modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog);
if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
// Don't move modal's DOM position
@@ -3047,7 +2936,7 @@
this._element.setAttribute('aria-modal', true);
- if (this._dialog.classList.contains(ClassName$5.SCROLLABLE) && modalBody) {
+ if (this._dialog.classList.contains(CLASS_NAME_SCROLLABLE) && modalBody) {
modalBody.scrollTop = 0;
} else {
this._element.scrollTop = 0;
@@ -3057,7 +2946,7 @@
reflow(this._element);
}
- this._element.classList.add(ClassName$5.SHOW);
+ this._element.classList.add(CLASS_NAME_SHOW$2);
if (this._config.focus) {
this._enforceFocus();
@@ -3069,7 +2958,7 @@
}
_this3._isTransitioning = false;
- EventHandler.trigger(_this3._element, Event$6.SHOWN, {
+ EventHandler.trigger(_this3._element, EVENT_SHOWN$2, {
relatedTarget: relatedTarget
});
};
@@ -3086,9 +2975,9 @@
_proto._enforceFocus = function _enforceFocus() {
var _this4 = this;
- EventHandler.off(document, Event$6.FOCUSIN); // guard against infinite focus loop
+ EventHandler.off(document, EVENT_FOCUSIN); // guard against infinite focus loop
- EventHandler.on(document, Event$6.FOCUSIN, function (event) {
+ EventHandler.on(document, EVENT_FOCUSIN, function (event) {
if (document !== event.target && _this4._element !== event.target && !_this4._element.contains(event.target)) {
_this4._element.focus();
}
@@ -3098,14 +2987,18 @@
_proto._setEscapeEvent = function _setEscapeEvent() {
var _this5 = this;
- if (this._isShown && this._config.keyboard) {
- EventHandler.on(this._element, Event$6.KEYDOWN_DISMISS, function (event) {
- if (event.which === ESCAPE_KEYCODE$1) {
+ if (this._isShown) {
+ EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, function (event) {
+ if (_this5._config.keyboard && event.which === ESCAPE_KEYCODE$1) {
+ event.preventDefault();
+
+ _this5.hide();
+ } else if (!_this5._config.keyboard && event.which === ESCAPE_KEYCODE$1) {
_this5._triggerBackdropTransition();
}
});
} else {
- EventHandler.off(this._element, Event$6.KEYDOWN_DISMISS);
+ EventHandler.off(this._element, EVENT_KEYDOWN_DISMISS);
}
};
@@ -3113,11 +3006,11 @@
var _this6 = this;
if (this._isShown) {
- EventHandler.on(window, Event$6.RESIZE, function () {
+ EventHandler.on(window, EVENT_RESIZE, function () {
return _this6._adjustDialog();
});
} else {
- EventHandler.off(window, Event$6.RESIZE);
+ EventHandler.off(window, EVENT_RESIZE);
}
};
@@ -3133,13 +3026,13 @@
this._isTransitioning = false;
this._showBackdrop(function () {
- document.body.classList.remove(ClassName$5.OPEN);
+ document.body.classList.remove(CLASS_NAME_OPEN);
_this7._resetAdjustments();
_this7._resetScrollbar();
- EventHandler.trigger(_this7._element, Event$6.HIDDEN);
+ EventHandler.trigger(_this7._element, EVENT_HIDDEN$2);
});
};
@@ -3152,18 +3045,18 @@
_proto._showBackdrop = function _showBackdrop(callback) {
var _this8 = this;
- var animate = this._element.classList.contains(ClassName$5.FADE) ? ClassName$5.FADE : '';
+ var animate = this._element.classList.contains(CLASS_NAME_FADE) ? CLASS_NAME_FADE : '';
if (this._isShown && this._config.backdrop) {
this._backdrop = document.createElement('div');
- this._backdrop.className = ClassName$5.BACKDROP;
+ this._backdrop.className = CLASS_NAME_BACKDROP;
if (animate) {
this._backdrop.classList.add(animate);
}
document.body.appendChild(this._backdrop);
- EventHandler.on(this._element, Event$6.CLICK_DISMISS, function (event) {
+ EventHandler.on(this._element, EVENT_CLICK_DISMISS, function (event) {
if (_this8._ignoreBackdropClick) {
_this8._ignoreBackdropClick = false;
return;
@@ -3180,7 +3073,7 @@
reflow(this._backdrop);
}
- this._backdrop.classList.add(ClassName$5.SHOW);
+ this._backdrop.classList.add(CLASS_NAME_SHOW$2);
if (!animate) {
callback();
@@ -3191,7 +3084,7 @@
EventHandler.one(this._backdrop, TRANSITION_END, callback);
emulateTransitionEnd(this._backdrop, backdropTransitionDuration);
} else if (!this._isShown && this._backdrop) {
- this._backdrop.classList.remove(ClassName$5.SHOW);
+ this._backdrop.classList.remove(CLASS_NAME_SHOW$2);
var callbackRemove = function callbackRemove() {
_this8._removeBackdrop();
@@ -3199,7 +3092,7 @@
callback();
};
- if (this._element.classList.contains(ClassName$5.FADE)) {
+ if (this._element.classList.contains(CLASS_NAME_FADE)) {
var _backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop);
EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove);
@@ -3216,17 +3109,17 @@
var _this9 = this;
if (this._config.backdrop === 'static') {
- var hideEvent = EventHandler.trigger(this._element, Event$6.HIDE_PREVENTED);
+ var hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED);
if (hideEvent.defaultPrevented) {
return;
}
- this._element.classList.add(ClassName$5.STATIC);
+ this._element.classList.add(CLASS_NAME_STATIC);
var modalTransitionDuration = getTransitionDurationFromElement(this._element);
EventHandler.one(this._element, TRANSITION_END, function () {
- _this9._element.classList.remove(ClassName$5.STATIC);
+ _this9._element.classList.remove(CLASS_NAME_STATIC);
});
emulateTransitionEnd(this._element, modalTransitionDuration);
@@ -3269,14 +3162,14 @@
// Note: DOMNode.style.paddingRight returns the actual value or '' if not set
// while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set
// Adjust fixed content padding
- makeArray(SelectorEngine.find(Selector$5.FIXED_CONTENT)).forEach(function (element) {
+ SelectorEngine.find(SELECTOR_FIXED_CONTENT).forEach(function (element) {
var actualPadding = element.style.paddingRight;
var calculatedPadding = window.getComputedStyle(element)['padding-right'];
Manipulator.setDataAttribute(element, 'padding-right', actualPadding);
element.style.paddingRight = parseFloat(calculatedPadding) + _this10._scrollbarWidth + "px";
}); // Adjust sticky content margin
- makeArray(SelectorEngine.find(Selector$5.STICKY_CONTENT)).forEach(function (element) {
+ SelectorEngine.find(SELECTOR_STICKY_CONTENT).forEach(function (element) {
var actualMargin = element.style.marginRight;
var calculatedMargin = window.getComputedStyle(element)['margin-right'];
Manipulator.setDataAttribute(element, 'margin-right', actualMargin);
@@ -3289,12 +3182,12 @@
document.body.style.paddingRight = parseFloat(calculatedPadding) + this._scrollbarWidth + "px";
}
- document.body.classList.add(ClassName$5.OPEN);
+ document.body.classList.add(CLASS_NAME_OPEN);
};
_proto._resetScrollbar = function _resetScrollbar() {
// Restore fixed content padding
- makeArray(SelectorEngine.find(Selector$5.FIXED_CONTENT)).forEach(function (element) {
+ SelectorEngine.find(SELECTOR_FIXED_CONTENT).forEach(function (element) {
var padding = Manipulator.getDataAttribute(element, 'padding-right');
if (typeof padding !== 'undefined') {
@@ -3303,7 +3196,7 @@
}
}); // Restore sticky content and navbar-toggler margin
- makeArray(SelectorEngine.find("" + Selector$5.STICKY_CONTENT)).forEach(function (element) {
+ SelectorEngine.find("" + SELECTOR_STICKY_CONTENT).forEach(function (element) {
var margin = Manipulator.getDataAttribute(element, 'margin-right');
if (typeof margin !== 'undefined') {
@@ -3325,7 +3218,7 @@
_proto._getScrollbarWidth = function _getScrollbarWidth() {
// thx d.walsh
var scrollDiv = document.createElement('div');
- scrollDiv.className = ClassName$5.SCROLLBAR_MEASURER;
+ scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER;
document.body.appendChild(scrollDiv);
var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;
document.body.removeChild(scrollDiv);
@@ -3380,7 +3273,7 @@
*/
- EventHandler.on(document, Event$6.CLICK_DATA_API, Selector$5.DATA_TOGGLE, function (event) {
+ EventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_TOGGLE$3, function (event) {
var _this11 = this;
var target = getElementFromSelector(this);
@@ -3389,13 +3282,13 @@
event.preventDefault();
}
- EventHandler.one(target, Event$6.SHOW, function (showEvent) {
+ EventHandler.one(target, EVENT_SHOW$2, function (showEvent) {
if (showEvent.defaultPrevented) {
// only register focus restorer if modal will actually get shown
return;
}
- EventHandler.one(target, Event$6.HIDDEN, function () {
+ EventHandler.one(target, EVENT_HIDDEN$2, function () {
if (isVisible(_this11)) {
_this11.focus();
}
@@ -3446,21 +3339,21 @@
* Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts
*/
- var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi;
+ var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi;
/**
* A pattern that matches safe data URLs. Only matches image, video and audio types.
*
* Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts
*/
- var DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i;
+ var DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i;
var allowedAttribute = function allowedAttribute(attr, allowedAttributeList) {
var attrName = attr.nodeName.toLowerCase();
if (allowedAttributeList.indexOf(attrName) !== -1) {
if (uriAttrs.indexOf(attrName) !== -1) {
- return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN));
+ return SAFE_URL_PATTERN.test(attr.nodeValue) || DATA_URL_PATTERN.test(attr.nodeValue);
}
return true;
@@ -3470,8 +3363,8 @@
return attrRegex instanceof RegExp;
}); // Check if a regular expression validates the attribute.
- for (var i = 0, l = regExp.length; i < l; i++) {
- if (attrName.match(regExp[i])) {
+ for (var i = 0, len = regExp.length; i < len; i++) {
+ if (regExp[i].test(attrName)) {
return true;
}
}
@@ -3498,7 +3391,7 @@
h5: [],
h6: [],
i: [],
- img: ['src', 'alt', 'title', 'width', 'height'],
+ img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],
li: [],
ol: [],
p: [],
@@ -3513,6 +3406,8 @@
ul: []
};
function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {
+ var _ref;
+
if (!unsafeHtml.length) {
return unsafeHtml;
}
@@ -3524,9 +3419,12 @@
var domParser = new window.DOMParser();
var createdDocument = domParser.parseFromString(unsafeHtml, 'text/html');
var whitelistKeys = Object.keys(whiteList);
- var elements = makeArray(createdDocument.body.querySelectorAll('*'));
+
+ var elements = (_ref = []).concat.apply(_ref, createdDocument.body.querySelectorAll('*'));
var _loop = function _loop(i, len) {
+ var _ref2;
+
var el = elements[i];
var elName = el.nodeName.toLowerCase();
@@ -3535,7 +3433,8 @@
return "continue";
}
- var attributeList = makeArray(el.attributes);
+ var attributeList = (_ref2 = []).concat.apply(_ref2, el.attributes);
+
var whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || []);
attributeList.forEach(function (attr) {
if (!allowedAttribute(attr, whitelistedAttributes)) {
@@ -3584,7 +3483,7 @@
whiteList: 'object',
popperConfig: '(null|object)'
};
- var AttachmentMap$1 = {
+ var AttachmentMap = {
AUTO: 'auto',
TOP: 'top',
RIGHT: 'right',
@@ -3609,11 +3508,7 @@
whiteList: DefaultWhitelist,
popperConfig: null
};
- var HoverState = {
- SHOW: 'show',
- OUT: 'out'
- };
- var Event$7 = {
+ var Event$1 = {
HIDE: "hide" + EVENT_KEY$6,
HIDDEN: "hidden" + EVENT_KEY$6,
SHOW: "show" + EVENT_KEY$6,
@@ -3625,28 +3520,23 @@
MOUSEENTER: "mouseenter" + EVENT_KEY$6,
MOUSELEAVE: "mouseleave" + EVENT_KEY$6
};
- var ClassName$6 = {
- FADE: 'fade',
- SHOW: 'show'
- };
- var Selector$6 = {
- TOOLTIP_INNER: '.tooltip-inner'
- };
- var Trigger = {
- HOVER: 'hover',
- FOCUS: 'focus',
- CLICK: 'click',
- MANUAL: 'manual'
- };
+ var CLASS_NAME_FADE$1 = 'fade';
+ var CLASS_NAME_MODAL = 'modal';
+ var CLASS_NAME_SHOW$3 = 'show';
+ var HOVER_STATE_SHOW = 'show';
+ var HOVER_STATE_OUT = 'out';
+ var SELECTOR_TOOLTIP_INNER = '.tooltip-inner';
+ var TRIGGER_HOVER = 'hover';
+ var TRIGGER_FOCUS = 'focus';
+ var TRIGGER_CLICK = 'click';
+ var TRIGGER_MANUAL = 'manual';
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
- var Tooltip =
- /*#__PURE__*/
- function () {
+ var Tooltip = /*#__PURE__*/function () {
function Tooltip(element, config) {
if (typeof Popper === 'undefined') {
throw new TypeError('Bootstrap\'s tooltips require Popper.js (https://popper.js.org)');
@@ -3706,7 +3596,7 @@
context._leave(null, context);
}
} else {
- if (this.getTipElement().classList.contains(ClassName$6.SHOW)) {
+ if (this.getTipElement().classList.contains(CLASS_NAME_SHOW$3)) {
this._leave(null, this);
return;
@@ -3720,7 +3610,7 @@
clearTimeout(this._timeout);
Data.removeData(this.element, this.constructor.DATA_KEY);
EventHandler.off(this.element, this.constructor.EVENT_KEY);
- EventHandler.off(SelectorEngine.closest(this.element, '.modal'), 'hide.bs.modal', this._hideModalHandler);
+ EventHandler.off(SelectorEngine.closest(this.element, "." + CLASS_NAME_MODAL), 'hide.bs.modal', this._hideModalHandler);
if (this.tip) {
this.tip.parentNode.removeChild(this.tip);
@@ -3764,7 +3654,7 @@
this.setContent();
if (this.config.animation) {
- tip.classList.add(ClassName$6.FADE);
+ tip.classList.add(CLASS_NAME_FADE$1);
}
var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;
@@ -3783,13 +3673,15 @@
EventHandler.trigger(this.element, this.constructor.Event.INSERTED);
this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment));
- tip.classList.add(ClassName$6.SHOW); // If this is a touch-enabled device we add extra
+ tip.classList.add(CLASS_NAME_SHOW$3); // If this is a touch-enabled device we add extra
// empty mouseover listeners to the body's immediate children;
// only needed because of broken event delegation on iOS
// https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
if ('ontouchstart' in document.documentElement) {
- makeArray(document.body.children).forEach(function (element) {
+ var _ref;
+
+ (_ref = []).concat.apply(_ref, document.body.children).forEach(function (element) {
EventHandler.on(element, 'mouseover', noop());
});
}
@@ -3803,12 +3695,12 @@
_this._hoverState = null;
EventHandler.trigger(_this.element, _this.constructor.Event.SHOWN);
- if (prevHoverState === HoverState.OUT) {
+ if (prevHoverState === HOVER_STATE_OUT) {
_this._leave(null, _this);
}
};
- if (this.tip.classList.contains(ClassName$6.FADE)) {
+ if (this.tip.classList.contains(CLASS_NAME_FADE$1)) {
var transitionDuration = getTransitionDurationFromElement(this.tip);
EventHandler.one(this.tip, TRANSITION_END, complete);
emulateTransitionEnd(this.tip, transitionDuration);
@@ -3824,7 +3716,7 @@
var tip = this.getTipElement();
var complete = function complete() {
- if (_this2._hoverState !== HoverState.SHOW && tip.parentNode) {
+ if (_this2._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {
tip.parentNode.removeChild(tip);
}
@@ -3843,20 +3735,22 @@
return;
}
- tip.classList.remove(ClassName$6.SHOW); // If this is a touch-enabled device we remove the extra
+ tip.classList.remove(CLASS_NAME_SHOW$3); // If this is a touch-enabled device we remove the extra
// empty mouseover listeners we added for iOS support
if ('ontouchstart' in document.documentElement) {
- makeArray(document.body.children).forEach(function (element) {
+ var _ref2;
+
+ (_ref2 = []).concat.apply(_ref2, document.body.children).forEach(function (element) {
return EventHandler.off(element, 'mouseover', noop);
});
}
- this._activeTrigger[Trigger.CLICK] = false;
- this._activeTrigger[Trigger.FOCUS] = false;
- this._activeTrigger[Trigger.HOVER] = false;
+ this._activeTrigger[TRIGGER_CLICK] = false;
+ this._activeTrigger[TRIGGER_FOCUS] = false;
+ this._activeTrigger[TRIGGER_HOVER] = false;
- if (this.tip.classList.contains(ClassName$6.FADE)) {
+ if (this.tip.classList.contains(CLASS_NAME_FADE$1)) {
var transitionDuration = getTransitionDurationFromElement(tip);
EventHandler.one(tip, TRANSITION_END, complete);
emulateTransitionEnd(tip, transitionDuration);
@@ -3891,9 +3785,9 @@
_proto.setContent = function setContent() {
var tip = this.getTipElement();
- this.setElementContent(SelectorEngine.findOne(Selector$6.TOOLTIP_INNER, tip), this.getTitle());
- tip.classList.remove(ClassName$6.FADE);
- tip.classList.remove(ClassName$6.SHOW);
+ this.setElementContent(SelectorEngine.findOne(SELECTOR_TOOLTIP_INNER, tip), this.getTitle());
+ tip.classList.remove(CLASS_NAME_FADE$1);
+ tip.classList.remove(CLASS_NAME_SHOW$3);
};
_proto.setElementContent = function setElementContent(element, content) {
@@ -4004,7 +3898,7 @@
};
_proto._getAttachment = function _getAttachment(placement) {
- return AttachmentMap$1[placement.toUpperCase()];
+ return AttachmentMap[placement.toUpperCase()];
};
_proto._setListeners = function _setListeners() {
@@ -4016,9 +3910,9 @@
EventHandler.on(_this5.element, _this5.constructor.Event.CLICK, _this5.config.selector, function (event) {
return _this5.toggle(event);
});
- } else if (trigger !== Trigger.MANUAL) {
- var eventIn = trigger === Trigger.HOVER ? _this5.constructor.Event.MOUSEENTER : _this5.constructor.Event.FOCUSIN;
- var eventOut = trigger === Trigger.HOVER ? _this5.constructor.Event.MOUSELEAVE : _this5.constructor.Event.FOCUSOUT;
+ } else if (trigger !== TRIGGER_MANUAL) {
+ var eventIn = trigger === TRIGGER_HOVER ? _this5.constructor.Event.MOUSEENTER : _this5.constructor.Event.FOCUSIN;
+ var eventOut = trigger === TRIGGER_HOVER ? _this5.constructor.Event.MOUSELEAVE : _this5.constructor.Event.FOCUSOUT;
EventHandler.on(_this5.element, eventIn, _this5.config.selector, function (event) {
return _this5._enter(event);
});
@@ -4034,7 +3928,7 @@
}
};
- EventHandler.on(SelectorEngine.closest(this.element, '.modal'), 'hide.bs.modal', this._hideModalHandler);
+ EventHandler.on(SelectorEngine.closest(this.element, "." + CLASS_NAME_MODAL), 'hide.bs.modal', this._hideModalHandler);
if (this.config.selector) {
this.config = _objectSpread2({}, this.config, {
@@ -4065,16 +3959,16 @@
}
if (event) {
- context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true;
+ context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true;
}
- if (context.getTipElement().classList.contains(ClassName$6.SHOW) || context._hoverState === HoverState.SHOW) {
- context._hoverState = HoverState.SHOW;
+ if (context.getTipElement().classList.contains(CLASS_NAME_SHOW$3) || context._hoverState === HOVER_STATE_SHOW) {
+ context._hoverState = HOVER_STATE_SHOW;
return;
}
clearTimeout(context._timeout);
- context._hoverState = HoverState.SHOW;
+ context._hoverState = HOVER_STATE_SHOW;
if (!context.config.delay || !context.config.delay.show) {
context.show();
@@ -4082,7 +3976,7 @@
}
context._timeout = setTimeout(function () {
- if (context._hoverState === HoverState.SHOW) {
+ if (context._hoverState === HOVER_STATE_SHOW) {
context.show();
}
}, context.config.delay.show);
@@ -4098,7 +3992,7 @@
}
if (event) {
- context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false;
+ context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] = false;
}
if (context._isWithActiveTrigger()) {
@@ -4106,7 +4000,7 @@
}
clearTimeout(context._timeout);
- context._hoverState = HoverState.OUT;
+ context._hoverState = HOVER_STATE_OUT;
if (!context.config.delay || !context.config.delay.hide) {
context.hide();
@@ -4114,7 +4008,7 @@
}
context._timeout = setTimeout(function () {
- if (context._hoverState === HoverState.OUT) {
+ if (context._hoverState === HOVER_STATE_OUT) {
context.hide();
}
}, context.config.delay.hide);
@@ -4186,7 +4080,7 @@
var tip = this.getTipElement();
var tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX);
- if (tabClass !== null && tabClass.length) {
+ if (tabClass !== null && tabClass.length > 0) {
tabClass.map(function (token) {
return token.trim();
}).forEach(function (tClass) {
@@ -4212,7 +4106,7 @@
return;
}
- tip.classList.remove(ClassName$6.FADE);
+ tip.classList.remove(CLASS_NAME_FADE$1);
this.config.animation = false;
this.hide();
this.show();
@@ -4271,7 +4165,7 @@
}, {
key: "Event",
get: function get() {
- return Event$7;
+ return Event$1;
}
}, {
key: "EVENT_KEY",
@@ -4333,15 +4227,7 @@
content: '(string|element|function)'
});
- var ClassName$7 = {
- FADE: 'fade',
- SHOW: 'show'
- };
- var Selector$7 = {
- TITLE: '.popover-header',
- CONTENT: '.popover-body'
- };
- var Event$8 = {
+ var Event$2 = {
HIDE: "hide" + EVENT_KEY$7,
HIDDEN: "hidden" + EVENT_KEY$7,
SHOW: "show" + EVENT_KEY$7,
@@ -4353,15 +4239,17 @@
MOUSEENTER: "mouseenter" + EVENT_KEY$7,
MOUSELEAVE: "mouseleave" + EVENT_KEY$7
};
+ var CLASS_NAME_FADE$2 = 'fade';
+ var CLASS_NAME_SHOW$4 = 'show';
+ var SELECTOR_TITLE = '.popover-header';
+ var SELECTOR_CONTENT = '.popover-body';
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
- var Popover =
- /*#__PURE__*/
- function (_Tooltip) {
+ var Popover = /*#__PURE__*/function (_Tooltip) {
_inheritsLoose(Popover, _Tooltip);
function Popover() {
@@ -4378,7 +4266,7 @@
_proto.setContent = function setContent() {
var tip = this.getTipElement(); // we use append for html objects to maintain js events
- this.setElementContent(SelectorEngine.findOne(Selector$7.TITLE, tip), this.getTitle());
+ this.setElementContent(SelectorEngine.findOne(SELECTOR_TITLE, tip), this.getTitle());
var content = this._getContent();
@@ -4386,9 +4274,9 @@
content = content.call(this.element);
}
- this.setElementContent(SelectorEngine.findOne(Selector$7.CONTENT, tip), content);
- tip.classList.remove(ClassName$7.FADE);
- tip.classList.remove(ClassName$7.SHOW);
+ this.setElementContent(SelectorEngine.findOne(SELECTOR_CONTENT, tip), content);
+ tip.classList.remove(CLASS_NAME_FADE$2);
+ tip.classList.remove(CLASS_NAME_SHOW$4);
};
_proto._addAttachmentClass = function _addAttachmentClass(attachment) {
@@ -4467,7 +4355,7 @@
}, {
key: "Event",
get: function get() {
- return Event$8;
+ return Event$2;
}
}, {
key: "EVENT_KEY",
@@ -4525,49 +4413,39 @@
method: 'string',
target: '(string|element)'
};
- var Event$9 = {
- ACTIVATE: "activate" + EVENT_KEY$8,
- SCROLL: "scroll" + EVENT_KEY$8,
- LOAD_DATA_API: "load" + EVENT_KEY$8 + DATA_API_KEY$6
- };
- var ClassName$8 = {
- DROPDOWN_ITEM: 'dropdown-item',
- ACTIVE: 'active'
- };
- var Selector$8 = {
- DATA_SPY: '[data-spy="scroll"]',
- NAV_LIST_GROUP: '.nav, .list-group',
- NAV_LINKS: '.nav-link',
- NAV_ITEMS: '.nav-item',
- LIST_ITEMS: '.list-group-item',
- DROPDOWN: '.dropdown',
- DROPDOWN_TOGGLE: '.dropdown-toggle'
- };
- var OffsetMethod = {
- OFFSET: 'offset',
- POSITION: 'position'
- };
+ var EVENT_ACTIVATE = "activate" + EVENT_KEY$8;
+ var EVENT_SCROLL = "scroll" + EVENT_KEY$8;
+ var EVENT_LOAD_DATA_API$1 = "load" + EVENT_KEY$8 + DATA_API_KEY$6;
+ var CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';
+ var CLASS_NAME_ACTIVE$2 = 'active';
+ var SELECTOR_DATA_SPY = '[data-spy="scroll"]';
+ var SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';
+ var SELECTOR_NAV_LINKS = '.nav-link';
+ var SELECTOR_NAV_ITEMS = '.nav-item';
+ var SELECTOR_LIST_ITEMS = '.list-group-item';
+ var SELECTOR_DROPDOWN = '.dropdown';
+ var SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle';
+ var METHOD_OFFSET = 'offset';
+ var METHOD_POSITION = 'position';
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
- var ScrollSpy =
- /*#__PURE__*/
- function () {
+ var ScrollSpy = /*#__PURE__*/function () {
function ScrollSpy(element, config) {
var _this = this;
this._element = element;
this._scrollElement = element.tagName === 'BODY' ? window : element;
this._config = this._getConfig(config);
- this._selector = this._config.target + " " + Selector$8.NAV_LINKS + "," + (this._config.target + " " + Selector$8.LIST_ITEMS + ",") + (this._config.target + " ." + ClassName$8.DROPDOWN_ITEM);
+ this._selector = this._config.target + " " + SELECTOR_NAV_LINKS + "," + (this._config.target + " " + SELECTOR_LIST_ITEMS + ",") + (this._config.target + " ." + CLASS_NAME_DROPDOWN_ITEM);
this._offsets = [];
this._targets = [];
this._activeTarget = null;
this._scrollHeight = 0;
- EventHandler.on(this._scrollElement, Event$9.SCROLL, function (event) {
+ EventHandler.on(this._scrollElement, EVENT_SCROLL, function (event) {
return _this._process(event);
});
this.refresh();
@@ -4584,13 +4462,13 @@
_proto.refresh = function refresh() {
var _this2 = this;
- var autoMethod = this._scrollElement === this._scrollElement.window ? OffsetMethod.OFFSET : OffsetMethod.POSITION;
+ var autoMethod = this._scrollElement === this._scrollElement.window ? METHOD_OFFSET : METHOD_POSITION;
var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
- var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0;
+ var offsetBase = offsetMethod === METHOD_POSITION ? this._getScrollTop() : 0;
this._offsets = [];
this._targets = [];
this._scrollHeight = this._getScrollHeight();
- var targets = makeArray(SelectorEngine.find(this._selector));
+ var targets = SelectorEngine.find(this._selector);
targets.map(function (element) {
var target;
var targetSelector = getSelectorFromElement(element);
@@ -4714,37 +4592,37 @@
var link = SelectorEngine.findOne(queries.join(','));
- if (link.classList.contains(ClassName$8.DROPDOWN_ITEM)) {
- SelectorEngine.findOne(Selector$8.DROPDOWN_TOGGLE, SelectorEngine.closest(link, Selector$8.DROPDOWN)).classList.add(ClassName$8.ACTIVE);
- link.classList.add(ClassName$8.ACTIVE);
+ if (link.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {
+ SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, SelectorEngine.closest(link, SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE$2);
+ link.classList.add(CLASS_NAME_ACTIVE$2);
} else {
// Set triggered link as active
- link.classList.add(ClassName$8.ACTIVE);
- SelectorEngine.parents(link, Selector$8.NAV_LIST_GROUP).forEach(function (listGroup) {
+ link.classList.add(CLASS_NAME_ACTIVE$2);
+ SelectorEngine.parents(link, SELECTOR_NAV_LIST_GROUP).forEach(function (listGroup) {
// Set triggered links parents as active
// With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
- SelectorEngine.prev(listGroup, Selector$8.NAV_LINKS + ", " + Selector$8.LIST_ITEMS).forEach(function (item) {
- return item.classList.add(ClassName$8.ACTIVE);
+ SelectorEngine.prev(listGroup, SELECTOR_NAV_LINKS + ", " + SELECTOR_LIST_ITEMS).forEach(function (item) {
+ return item.classList.add(CLASS_NAME_ACTIVE$2);
}); // Handle special case when .nav-link is inside .nav-item
- SelectorEngine.prev(listGroup, Selector$8.NAV_ITEMS).forEach(function (navItem) {
- SelectorEngine.children(navItem, Selector$8.NAV_LINKS).forEach(function (item) {
- return item.classList.add(ClassName$8.ACTIVE);
+ SelectorEngine.prev(listGroup, SELECTOR_NAV_ITEMS).forEach(function (navItem) {
+ SelectorEngine.children(navItem, SELECTOR_NAV_LINKS).forEach(function (item) {
+ return item.classList.add(CLASS_NAME_ACTIVE$2);
});
});
});
}
- EventHandler.trigger(this._scrollElement, Event$9.ACTIVATE, {
+ EventHandler.trigger(this._scrollElement, EVENT_ACTIVATE, {
relatedTarget: target
});
};
_proto._clear = function _clear() {
- makeArray(SelectorEngine.find(this._selector)).filter(function (node) {
- return node.classList.contains(ClassName$8.ACTIVE);
+ SelectorEngine.find(this._selector).filter(function (node) {
+ return node.classList.contains(CLASS_NAME_ACTIVE$2);
}).forEach(function (node) {
- return node.classList.remove(ClassName$8.ACTIVE);
+ return node.classList.remove(CLASS_NAME_ACTIVE$2);
});
} // Static
;
@@ -4794,8 +4672,8 @@
*/
- EventHandler.on(window, Event$9.LOAD_DATA_API, function () {
- makeArray(SelectorEngine.find(Selector$8.DATA_SPY)).forEach(function (spy) {
+ EventHandler.on(window, EVENT_LOAD_DATA_API$1, function () {
+ SelectorEngine.find(SELECTOR_DATA_SPY).forEach(function (spy) {
return new ScrollSpy(spy, Manipulator.getDataAttributes(spy));
});
});
@@ -4830,38 +4708,30 @@
var DATA_KEY$9 = 'bs.tab';
var EVENT_KEY$9 = "." + DATA_KEY$9;
var DATA_API_KEY$7 = '.data-api';
- var Event$a = {
- HIDE: "hide" + EVENT_KEY$9,
- HIDDEN: "hidden" + EVENT_KEY$9,
- SHOW: "show" + EVENT_KEY$9,
- SHOWN: "shown" + EVENT_KEY$9,
- CLICK_DATA_API: "click" + EVENT_KEY$9 + DATA_API_KEY$7
- };
- var ClassName$9 = {
- DROPDOWN_MENU: 'dropdown-menu',
- ACTIVE: 'active',
- DISABLED: 'disabled',
- FADE: 'fade',
- SHOW: 'show'
- };
- var Selector$9 = {
- DROPDOWN: '.dropdown',
- NAV_LIST_GROUP: '.nav, .list-group',
- ACTIVE: '.active',
- ACTIVE_UL: ':scope > li > .active',
- DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',
- DROPDOWN_TOGGLE: '.dropdown-toggle',
- DROPDOWN_ACTIVE_CHILD: ':scope > .dropdown-menu .active'
- };
+ var EVENT_HIDE$3 = "hide" + EVENT_KEY$9;
+ var EVENT_HIDDEN$3 = "hidden" + EVENT_KEY$9;
+ var EVENT_SHOW$3 = "show" + EVENT_KEY$9;
+ var EVENT_SHOWN$3 = "shown" + EVENT_KEY$9;
+ var EVENT_CLICK_DATA_API$6 = "click" + EVENT_KEY$9 + DATA_API_KEY$7;
+ var CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu';
+ var CLASS_NAME_ACTIVE$3 = 'active';
+ var CLASS_NAME_DISABLED$2 = 'disabled';
+ var CLASS_NAME_FADE$3 = 'fade';
+ var CLASS_NAME_SHOW$5 = 'show';
+ var SELECTOR_DROPDOWN$1 = '.dropdown';
+ var SELECTOR_NAV_LIST_GROUP$1 = '.nav, .list-group';
+ var SELECTOR_ACTIVE$2 = '.active';
+ var SELECTOR_ACTIVE_UL = ':scope > li > .active';
+ var SELECTOR_DATA_TOGGLE$4 = '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]';
+ var SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle';
+ var SELECTOR_DROPDOWN_ACTIVE_CHILD = ':scope > .dropdown-menu .active';
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
- var Tab =
- /*#__PURE__*/
- function () {
+ var Tab = /*#__PURE__*/function () {
function Tab(element) {
this._element = element;
Data.setData(this._element, DATA_KEY$9, this);
@@ -4874,29 +4744,29 @@
_proto.show = function show() {
var _this = this;
- if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && this._element.classList.contains(ClassName$9.ACTIVE) || this._element.classList.contains(ClassName$9.DISABLED)) {
+ if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && this._element.classList.contains(CLASS_NAME_ACTIVE$3) || this._element.classList.contains(CLASS_NAME_DISABLED$2)) {
return;
}
var previous;
var target = getElementFromSelector(this._element);
- var listElement = SelectorEngine.closest(this._element, Selector$9.NAV_LIST_GROUP);
+ var listElement = SelectorEngine.closest(this._element, SELECTOR_NAV_LIST_GROUP$1);
if (listElement) {
- var itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector$9.ACTIVE_UL : Selector$9.ACTIVE;
- previous = makeArray(SelectorEngine.find(itemSelector, listElement));
+ var itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE$2;
+ previous = SelectorEngine.find(itemSelector, listElement);
previous = previous[previous.length - 1];
}
var hideEvent = null;
if (previous) {
- hideEvent = EventHandler.trigger(previous, Event$a.HIDE, {
+ hideEvent = EventHandler.trigger(previous, EVENT_HIDE$3, {
relatedTarget: this._element
});
}
- var showEvent = EventHandler.trigger(this._element, Event$a.SHOW, {
+ var showEvent = EventHandler.trigger(this._element, EVENT_SHOW$3, {
relatedTarget: previous
});
@@ -4907,10 +4777,10 @@
this._activate(this._element, listElement);
var complete = function complete() {
- EventHandler.trigger(previous, Event$a.HIDDEN, {
+ EventHandler.trigger(previous, EVENT_HIDDEN$3, {
relatedTarget: _this._element
});
- EventHandler.trigger(_this._element, Event$a.SHOWN, {
+ EventHandler.trigger(_this._element, EVENT_SHOWN$3, {
relatedTarget: previous
});
};
@@ -4931,9 +4801,9 @@
_proto._activate = function _activate(element, container, callback) {
var _this2 = this;
- var activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ? SelectorEngine.find(Selector$9.ACTIVE_UL, container) : SelectorEngine.children(container, Selector$9.ACTIVE);
+ var activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ? SelectorEngine.find(SELECTOR_ACTIVE_UL, container) : SelectorEngine.children(container, SELECTOR_ACTIVE$2);
var active = activeElements[0];
- var isTransitioning = callback && active && active.classList.contains(ClassName$9.FADE);
+ var isTransitioning = callback && active && active.classList.contains(CLASS_NAME_FADE$3);
var complete = function complete() {
return _this2._transitionComplete(element, active, callback);
@@ -4941,7 +4811,7 @@
if (active && isTransitioning) {
var transitionDuration = getTransitionDurationFromElement(active);
- active.classList.remove(ClassName$9.SHOW);
+ active.classList.remove(CLASS_NAME_SHOW$5);
EventHandler.one(active, TRANSITION_END, complete);
emulateTransitionEnd(active, transitionDuration);
} else {
@@ -4951,11 +4821,11 @@
_proto._transitionComplete = function _transitionComplete(element, active, callback) {
if (active) {
- active.classList.remove(ClassName$9.ACTIVE);
- var dropdownChild = SelectorEngine.findOne(Selector$9.DROPDOWN_ACTIVE_CHILD, active.parentNode);
+ active.classList.remove(CLASS_NAME_ACTIVE$3);
+ var dropdownChild = SelectorEngine.findOne(SELECTOR_DROPDOWN_ACTIVE_CHILD, active.parentNode);
if (dropdownChild) {
- dropdownChild.classList.remove(ClassName$9.ACTIVE);
+ dropdownChild.classList.remove(CLASS_NAME_ACTIVE$3);
}
if (active.getAttribute('role') === 'tab') {
@@ -4963,7 +4833,7 @@
}
}
- element.classList.add(ClassName$9.ACTIVE);
+ element.classList.add(CLASS_NAME_ACTIVE$3);
if (element.getAttribute('role') === 'tab') {
element.setAttribute('aria-selected', true);
@@ -4971,16 +4841,16 @@
reflow(element);
- if (element.classList.contains(ClassName$9.FADE)) {
- element.classList.add(ClassName$9.SHOW);
+ if (element.classList.contains(CLASS_NAME_FADE$3)) {
+ element.classList.add(CLASS_NAME_SHOW$5);
}
- if (element.parentNode && element.parentNode.classList.contains(ClassName$9.DROPDOWN_MENU)) {
- var dropdownElement = SelectorEngine.closest(element, Selector$9.DROPDOWN);
+ if (element.parentNode && element.parentNode.classList.contains(CLASS_NAME_DROPDOWN_MENU)) {
+ var dropdownElement = SelectorEngine.closest(element, SELECTOR_DROPDOWN$1);
if (dropdownElement) {
- makeArray(SelectorEngine.find(Selector$9.DROPDOWN_TOGGLE)).forEach(function (dropdown) {
- return dropdown.classList.add(ClassName$9.ACTIVE);
+ SelectorEngine.find(SELECTOR_DROPDOWN_TOGGLE$1).forEach(function (dropdown) {
+ return dropdown.classList.add(CLASS_NAME_ACTIVE$3);
});
}
@@ -5027,7 +4897,7 @@
*/
- EventHandler.on(document, Event$a.CLICK_DATA_API, Selector$9.DATA_TOGGLE, function (event) {
+ EventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$4, function (event) {
event.preventDefault();
var data = Data.getData(this, DATA_KEY$9) || new Tab(this);
data.show();
@@ -5063,19 +4933,15 @@
var VERSION$a = '4.3.1';
var DATA_KEY$a = 'bs.toast';
var EVENT_KEY$a = "." + DATA_KEY$a;
- var Event$b = {
- CLICK_DISMISS: "click.dismiss" + EVENT_KEY$a,
- HIDE: "hide" + EVENT_KEY$a,
- HIDDEN: "hidden" + EVENT_KEY$a,
- SHOW: "show" + EVENT_KEY$a,
- SHOWN: "shown" + EVENT_KEY$a
- };
- var ClassName$a = {
- FADE: 'fade',
- HIDE: 'hide',
- SHOW: 'show',
- SHOWING: 'showing'
- };
+ var EVENT_CLICK_DISMISS$1 = "click.dismiss" + EVENT_KEY$a;
+ var EVENT_HIDE$4 = "hide" + EVENT_KEY$a;
+ var EVENT_HIDDEN$4 = "hidden" + EVENT_KEY$a;
+ var EVENT_SHOW$4 = "show" + EVENT_KEY$a;
+ var EVENT_SHOWN$4 = "shown" + EVENT_KEY$a;
+ var CLASS_NAME_FADE$4 = 'fade';
+ var CLASS_NAME_HIDE = 'hide';
+ var CLASS_NAME_SHOW$6 = 'show';
+ var CLASS_NAME_SHOWING = 'showing';
var DefaultType$7 = {
animation: 'boolean',
autohide: 'boolean',
@@ -5086,18 +4952,14 @@
autohide: true,
delay: 500
};
- var Selector$a = {
- DATA_DISMISS: '[data-dismiss="toast"]'
- };
+ var SELECTOR_DATA_DISMISS$1 = '[data-dismiss="toast"]';
/**
* ------------------------------------------------------------------------
* Class Definition
* ------------------------------------------------------------------------
*/
- var Toast =
- /*#__PURE__*/
- function () {
+ var Toast = /*#__PURE__*/function () {
function Toast(element, config) {
this._element = element;
this._config = this._getConfig(config);
@@ -5115,22 +4977,22 @@
_proto.show = function show() {
var _this = this;
- var showEvent = EventHandler.trigger(this._element, Event$b.SHOW);
+ var showEvent = EventHandler.trigger(this._element, EVENT_SHOW$4);
if (showEvent.defaultPrevented) {
return;
}
if (this._config.animation) {
- this._element.classList.add(ClassName$a.FADE);
+ this._element.classList.add(CLASS_NAME_FADE$4);
}
var complete = function complete() {
- _this._element.classList.remove(ClassName$a.SHOWING);
+ _this._element.classList.remove(CLASS_NAME_SHOWING);
- _this._element.classList.add(ClassName$a.SHOW);
+ _this._element.classList.add(CLASS_NAME_SHOW$6);
- EventHandler.trigger(_this._element, Event$b.SHOWN);
+ EventHandler.trigger(_this._element, EVENT_SHOWN$4);
if (_this._config.autohide) {
_this._timeout = setTimeout(function () {
@@ -5139,11 +5001,11 @@
}
};
- this._element.classList.remove(ClassName$a.HIDE);
+ this._element.classList.remove(CLASS_NAME_HIDE);
reflow(this._element);
- this._element.classList.add(ClassName$a.SHOWING);
+ this._element.classList.add(CLASS_NAME_SHOWING);
if (this._config.animation) {
var transitionDuration = getTransitionDurationFromElement(this._element);
@@ -5157,23 +5019,23 @@
_proto.hide = function hide() {
var _this2 = this;
- if (!this._element.classList.contains(ClassName$a.SHOW)) {
+ if (!this._element.classList.contains(CLASS_NAME_SHOW$6)) {
return;
}
- var hideEvent = EventHandler.trigger(this._element, Event$b.HIDE);
+ var hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$4);
if (hideEvent.defaultPrevented) {
return;
}
var complete = function complete() {
- _this2._element.classList.add(ClassName$a.HIDE);
+ _this2._element.classList.add(CLASS_NAME_HIDE);
- EventHandler.trigger(_this2._element, Event$b.HIDDEN);
+ EventHandler.trigger(_this2._element, EVENT_HIDDEN$4);
};
- this._element.classList.remove(ClassName$a.SHOW);
+ this._element.classList.remove(CLASS_NAME_SHOW$6);
if (this._config.animation) {
var transitionDuration = getTransitionDurationFromElement(this._element);
@@ -5188,11 +5050,11 @@
clearTimeout(this._timeout);
this._timeout = null;
- if (this._element.classList.contains(ClassName$a.SHOW)) {
- this._element.classList.remove(ClassName$a.SHOW);
+ if (this._element.classList.contains(CLASS_NAME_SHOW$6)) {
+ this._element.classList.remove(CLASS_NAME_SHOW$6);
}
- EventHandler.off(this._element, Event$b.CLICK_DISMISS);
+ EventHandler.off(this._element, EVENT_CLICK_DISMISS$1);
Data.removeData(this._element, DATA_KEY$a);
this._element = null;
this._config = null;
@@ -5208,7 +5070,7 @@
_proto._setListeners = function _setListeners() {
var _this3 = this;
- EventHandler.on(this._element, Event$b.CLICK_DISMISS, Selector$a.DATA_DISMISS, function () {
+ EventHandler.on(this._element, EVENT_CLICK_DISMISS$1, SELECTOR_DATA_DISMISS$1, function () {
return _this3.hide();
});
} // Static
diff --git a/dist/js/bootstrap.js.map b/dist/js/bootstrap.js.map
index 927204cae5..90b5a0c243 100644
--- a/dist/js/bootstrap.js.map
+++ b/dist/js/bootstrap.js.map
@@ -1 +1 @@
-{"version":3,"file":"bootstrap.js","sources":["../../js/src/util/index.js","../../js/src/dom/data.js","../../js/src/dom/polyfill.js","../../js/src/dom/event-handler.js","../../js/src/dom/selector-engine.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/dom/manipulator.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/util/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/index.umd.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => ({}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase())\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n const evt = document.createEvent('HTMLEvents')\n\n evt.initEvent(TRANSITION_END, true, true)\n element.dispatchEvent(evt)\n}\n\nconst isElement = obj => (obj[0] || obj).nodeType\n\nconst emulateTransitionEnd = (element, duration) => {\n let called = false\n const durationPadding = 5\n const emulatedDuration = duration + durationPadding\n function listener() {\n called = true\n element.removeEventListener(TRANSITION_END, listener)\n }\n\n element.addEventListener(TRANSITION_END, listener)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(element)\n }\n }, emulatedDuration)\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes)\n .forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst makeArray = nodeList => {\n if (!nodeList) {\n return []\n }\n\n return [].slice.call(nodeList)\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n const elementStyle = getComputedStyle(element)\n const parentNodeStyle = getComputedStyle(element.parentNode)\n\n return elementStyle.display !== 'none' &&\n parentNodeStyle.display !== 'none' &&\n elementStyle.visibility !== 'hidden'\n }\n\n return false\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n makeArray,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst mapData = (() => {\n const storeData = {}\n let id = 1\n return {\n set(element, key, data) {\n if (typeof element.key === 'undefined') {\n element.key = {\n key,\n id\n }\n id++\n }\n\n storeData[element.key.id] = data\n },\n get(element, key) {\n if (!element || typeof element.key === 'undefined') {\n return null\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.key === 'undefined') {\n return\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.key\n }\n }\n }\n})()\n\nconst Data = {\n setData(instance, key, data) {\n mapData.set(instance, key, data)\n },\n getData(instance, key) {\n return mapData.get(instance, key)\n },\n removeData(instance, key) {\n mapData.delete(instance, key)\n }\n}\n\nexport default Data\n","/* istanbul ignore file */\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/polyfill.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getUID } from '../util/index'\n\nlet { matches, closest } = Element.prototype\nlet find = Element.prototype.querySelectorAll\nlet findOne = Element.prototype.querySelector\nlet createCustomEvent = (eventName, params) => {\n const cEvent = new CustomEvent(eventName, params)\n\n return cEvent\n}\n\nif (typeof window.CustomEvent !== 'function') {\n createCustomEvent = (eventName, params) => {\n params = params || { bubbles: false, cancelable: false, detail: null }\n\n const evt = document.createEvent('CustomEvent')\n\n evt.initCustomEvent(eventName, params.bubbles, params.cancelable, params.detail)\n return evt\n }\n}\n\nconst workingDefaultPrevented = (() => {\n const e = document.createEvent('CustomEvent')\n\n e.initEvent('Bootstrap', true, true)\n e.preventDefault()\n return e.defaultPrevented\n})()\n\nif (!workingDefaultPrevented) {\n const origPreventDefault = Event.prototype.preventDefault\n\n Event.prototype.preventDefault = function () {\n if (!this.cancelable) {\n return\n }\n\n origPreventDefault.call(this)\n Object.defineProperty(this, 'defaultPrevented', {\n get() {\n return true\n },\n configurable: true\n })\n }\n}\n\n// MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached\nconst defaultPreventedPreservedOnDispatch = (() => {\n const e = createCustomEvent('Bootstrap', {\n cancelable: true\n })\n\n const element = document.createElement('div')\n element.addEventListener('Bootstrap', () => null)\n\n e.preventDefault()\n element.dispatchEvent(e)\n return e.defaultPrevented\n})()\n\nif (!matches) {\n matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector\n}\n\nif (!closest) {\n closest = function (selector) {\n let element = this\n\n do {\n if (matches.call(element, selector)) {\n return element\n }\n\n element = element.parentElement || element.parentNode\n } while (element !== null && element.nodeType === 1)\n\n return null\n }\n}\n\nconst scopeSelectorRegex = /:scope\\b/\nconst supportScopeQuery = (() => {\n const element = document.createElement('div')\n\n try {\n element.querySelectorAll(':scope *')\n } catch (_) {\n return false\n }\n\n return true\n})()\n\nif (!supportScopeQuery) {\n find = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelectorAll(selector)\n }\n\n const hasId = Boolean(this.id)\n\n if (!hasId) {\n this.id = getUID('scope')\n }\n\n let nodeList = null\n try {\n selector = selector.replace(scopeSelectorRegex, `#${this.id}`)\n nodeList = this.querySelectorAll(selector)\n } finally {\n if (!hasId) {\n this.removeAttribute('id')\n }\n }\n\n return nodeList\n }\n\n findOne = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelector(selector)\n }\n\n const matches = find.call(this, selector)\n\n if (typeof matches[0] !== 'undefined') {\n return matches[0]\n }\n\n return null\n }\n}\n\nexport {\n createCustomEvent,\n find,\n findOne,\n matches,\n closest,\n defaultPreventedPreservedOnDispatch\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\nimport { createCustomEvent, defaultPreventedPreservedOnDispatch } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst $ = getjQuery()\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst keyEventRegex = /^key/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\nconst nativeEvents = [\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n]\n\n/**\n * ------------------------------------------------------------------------\n * Private methods\n * ------------------------------------------------------------------------\n */\n\nfunction getUidEvent(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getEvent(element) {\n const uid = getUidEvent(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction fixEvent(event, element) {\n // Add which for key events\n if (event.which === null && keyEventRegex.test(event.type)) {\n event.which = event.charCode === null ? event.keyCode : event.charCode\n }\n\n event.delegateTarget = element\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n fixEvent(event, element)\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = target.parentNode) {\n for (let i = domElements.length; i--;) {\n if (domElements[i] === target) {\n fixEvent(event, target)\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n\n // To please ESLint\n return null\n }\n}\n\nfunction findHandler(events, handler, delegationSelector = null) {\n const uidEventList = Object.keys(events)\n\n for (let i = 0, len = uidEventList.length; i < len; i++) {\n const event = events[uidEventList[i]]\n\n if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\n return event\n }\n }\n\n return null\n}\n\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\n const delegation = typeof handler === 'string'\n const originalHandler = delegation ? delegationFn : handler\n\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n let typeEvent = originalTypeEvent.replace(stripNameRegex, '')\n const custom = customEvents[typeEvent]\n\n if (custom) {\n typeEvent = custom\n }\n\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n if (!isNative) {\n typeEvent = originalTypeEvent\n }\n\n return [delegation, originalHandler, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n if (!handler) {\n handler = delegationFn\n delegationFn = null\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const events = getEvent(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null)\n\n if (previousFn) {\n previousFn.oneOff = previousFn.oneOff && oneOff\n\n return\n }\n\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = delegation ?\n bootstrapDelegationHandler(element, handler, delegationFn) :\n bootstrapHandler(element, handler)\n\n fn.delegationSelector = delegation ? handler : null\n fn.originalHandler = originalHandler\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, delegation)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {}\n\n Object.keys(storeElementEvent)\n .forEach(handlerKey => {\n if (handlerKey.indexOf(namespace) > -1) {\n const event = storeElementEvent[handlerKey]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, false)\n },\n\n one(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFn) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getEvent(element)\n const isNamespace = originalTypeEvent.charAt(0) === '.'\n\n if (typeof originalHandler !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!events || !events[typeEvent]) {\n return\n }\n\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null)\n return\n }\n\n if (isNamespace) {\n Object.keys(events)\n .forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent)\n .forEach(keyHandlers => {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.indexOf(handlerKey) > -1) {\n const event = storeElementEvent[keyHandlers]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const typeEvent = event.replace(stripNameRegex, '')\n const inNamespace = event !== typeEvent\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n let jQueryEvent\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n let evt = null\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n if (isNative) {\n evt = document.createEvent('HTMLEvents')\n evt.initEvent(typeEvent, bubbles, true)\n } else {\n evt = createCustomEvent(event, {\n bubbles,\n cancelable: true\n })\n }\n\n // merge custom informations in our event\n if (typeof args !== 'undefined') {\n Object.keys(args)\n .forEach(key => {\n Object.defineProperty(evt, key, {\n get() {\n return args[key]\n }\n })\n })\n }\n\n if (defaultPrevented) {\n evt.preventDefault()\n\n if (!defaultPreventedPreservedOnDispatch) {\n Object.defineProperty(evt, 'defaultPrevented', {\n get: () => true\n })\n }\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { find as findFn, findOne, matches, closest } from './polyfill'\nimport { makeArray } from '../util/index'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n matches(element, selector) {\n return matches.call(element, selector)\n },\n\n find(selector, element = document.documentElement) {\n return findFn.call(element, selector)\n },\n\n findOne(selector, element = document.documentElement) {\n return findOne.call(element, selector)\n },\n\n children(element, selector) {\n const children = makeArray(element.children)\n\n return children.filter(child => this.matches(child, selector))\n },\n\n parents(element, selector) {\n const parents = []\n\n let ancestor = element.parentNode\n\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\n if (this.matches(ancestor, selector)) {\n parents.push(ancestor)\n }\n\n ancestor = ancestor.parentNode\n }\n\n return parents\n },\n\n closest(element, selector) {\n return closest.call(element, selector)\n },\n\n prev(element, selector) {\n const siblings = []\n\n let previous = element.previousSibling\n\n while (previous && previous.nodeType === Node.ELEMENT_NODE && previous.nodeType !== NODE_TEXT) {\n if (this.matches(previous, selector)) {\n siblings.push(previous)\n }\n\n previous = previous.previousSibling\n }\n\n return siblings\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Selector = {\n DISMISS: '[data-dismiss=\"alert\"]'\n}\n\nconst Event = {\n CLOSE: `close${EVENT_KEY}`,\n CLOSED: `closed${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n ALERT: 'alert',\n FADE: 'fade',\n SHOW: 'show'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n\n if (this._element) {\n Data.setData(element, DATA_KEY, this)\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent === null || customEvent.defaultPrevented) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n let parent = getElementFromSelector(element)\n\n if (!parent) {\n parent = SelectorEngine.closest(element, `.${ClassName.ALERT}`)\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n return EventHandler.trigger(element, Event.CLOSE)\n }\n\n _removeElement(element) {\n element.classList.remove(ClassName.SHOW)\n\n if (!element.classList.contains(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = getTransitionDurationFromElement(element)\n\n EventHandler\n .one(element, TRANSITION_END, () => this._destroyElement(element))\n emulateTransitionEnd(element, transitionDuration)\n }\n\n _destroyElement(element) {\n if (element.parentNode) {\n element.parentNode.removeChild(element)\n }\n\n EventHandler.trigger(element, Event.CLOSED)\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.DISMISS, Alert.handleDismiss(new Alert()))\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .alert to jQuery only if jQuery is present\n */\n\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Alert.jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert.jQueryInterface\n }\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ClassName = {\n ACTIVE: 'active',\n BUTTON: 'btn',\n FOCUS: 'focus'\n}\n\nconst Selector = {\n DATA_TOGGLE_CARROT: '[data-toggle^=\"button\"]',\n DATA_TOGGLE: '[data-toggle=\"buttons\"]',\n INPUT: 'input:not([type=\"hidden\"])',\n ACTIVE: '.active',\n BUTTON: '.btn'\n}\n\nconst Event = {\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_DATA_API: `focus${EVENT_KEY}${DATA_API_KEY}`,\n BLUR_DATA_API: `blur${EVENT_KEY}${DATA_API_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n\n const rootElement = SelectorEngine.closest(\n this._element,\n Selector.DATA_TOGGLE\n )\n\n if (rootElement) {\n const input = SelectorEngine.findOne(Selector.INPUT, this._element)\n\n if (input && input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = SelectorEngine.findOne(Selector.ACTIVE, rootElement)\n\n if (activeElement) {\n activeElement.classList.remove(ClassName.ACTIVE)\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains('disabled') ||\n rootElement.classList.contains('disabled')) {\n return\n }\n\n input.checked = !this._element.classList.contains(ClassName.ACTIVE)\n EventHandler.trigger(input, 'change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n this._element.classList.toggle(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n event.preventDefault()\n\n let button = event.target\n if (!button.classList.contains(ClassName.BUTTON)) {\n button = SelectorEngine.closest(button, Selector.BUTTON)\n }\n\n let data = Data.getData(button, DATA_KEY)\n if (!data) {\n data = new Button(button)\n }\n\n data.toggle()\n})\n\nEventHandler.on(document, Event.FOCUS_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n const button = SelectorEngine.closest(event.target, Selector.BUTTON)\n\n if (button) {\n button.classList.add(ClassName.FOCUS)\n }\n})\n\nEventHandler.on(document, Event.BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n const button = SelectorEngine.closest(event.target, Selector.BUTTON)\n\n if (button) {\n button.classList.remove(ClassName.FOCUS)\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .button to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Button.jQueryInterface\n $.fn[NAME].Constructor = Button\n\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button.jQueryInterface\n }\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(val) {\n if (val === 'true') {\n return true\n }\n\n if (val === 'false') {\n return false\n }\n\n if (val === Number(val).toString()) {\n return Number(val)\n }\n\n if (val === '' || val === 'null') {\n return null\n }\n\n return val\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {\n ...element.dataset\n }\n\n Object.keys(attributes).forEach(key => {\n attributes[key] = normalizeData(attributes[key])\n })\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-${normalizeDataKey(key)}`))\n },\n\n offset(element) {\n const rect = element.getBoundingClientRect()\n\n return {\n top: rect.top + document.body.scrollTop,\n left: rect.left + document.body.scrollLeft\n }\n },\n\n position(element) {\n return {\n top: element.offsetTop,\n left: element.offsetLeft\n }\n },\n\n toggleClass(element, className) {\n if (!element) {\n return\n }\n\n if (element.classList.contains(className)) {\n element.classList.remove(className)\n } else {\n element.classList.add(className)\n }\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n makeArray,\n reflow,\n triggerTransitionEnd,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n}\n\nconst Direction = {\n NEXT: 'next',\n PREV: 'prev',\n LEFT: 'left',\n RIGHT: 'right'\n}\n\nconst Event = {\n SLIDE: `slide${EVENT_KEY}`,\n SLID: `slid${EVENT_KEY}`,\n KEYDOWN: `keydown${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`,\n TOUCHSTART: `touchstart${EVENT_KEY}`,\n TOUCHMOVE: `touchmove${EVENT_KEY}`,\n TOUCHEND: `touchend${EVENT_KEY}`,\n POINTERDOWN: `pointerdown${EVENT_KEY}`,\n POINTERUP: `pointerup${EVENT_KEY}`,\n DRAG_START: `dragstart${EVENT_KEY}`,\n LOAD_DATA_API: `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n CAROUSEL: 'carousel',\n ACTIVE: 'active',\n SLIDE: 'slide',\n RIGHT: 'carousel-item-right',\n LEFT: 'carousel-item-left',\n NEXT: 'carousel-item-next',\n PREV: 'carousel-item-prev',\n ITEM: 'carousel-item',\n POINTER_EVENT: 'pointer-event'\n}\n\nconst Selector = {\n ACTIVE: '.active',\n ACTIVE_ITEM: '.active.carousel-item',\n ITEM: '.carousel-item',\n ITEM_IMG: '.carousel-item img',\n NEXT_PREV: '.carousel-item-next, .carousel-item-prev',\n INDICATORS: '.carousel-indicators',\n DATA_SLIDE: '[data-slide], [data-slide-to]',\n DATA_RIDE: '[data-ride=\"carousel\"]'\n}\n\nconst PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = SelectorEngine.findOne(Selector.INDICATORS, this._element)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (SelectorEngine.findOne(Selector.NEXT_PREV, this._element)) {\n triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config && this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element)\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex ?\n Direction.NEXT :\n Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n Data.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler\n .on(this._element, Event.KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler\n .on(this._element, Event.MOUSEENTER, event => this.pause(event))\n EventHandler\n .on(this._element, Event.MOUSELEAVE, event => this.cycle(event))\n }\n\n if (this._config.touch && this._touchSupported) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n const start = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchStartX = event.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.touches[0].clientX\n }\n }\n\n const move = event => {\n // ensure swiping with one touch and not pinching\n if (event.touches && event.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n\n this.touchTimeout = setTimeout(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n makeArray(SelectorEngine.find(Selector.ITEM_IMG, this._element)).forEach(itemImg => {\n EventHandler.on(itemImg, Event.DRAG_START, e => e.preventDefault())\n })\n\n if (this._pointerEvent) {\n EventHandler.on(this._element, Event.POINTERDOWN, event => start(event))\n EventHandler.on(this._element, Event.POINTERUP, event => end(event))\n\n this._element.classList.add(ClassName.POINTER_EVENT)\n } else {\n EventHandler.on(this._element, Event.TOUCHSTART, event => start(event))\n EventHandler.on(this._element, Event.TOUCHMOVE, event => move(event))\n EventHandler.on(this._element, Event.TOUCHEND, event => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode ?\n makeArray(SelectorEngine.find(Selector.ITEM, element.parentNode)) :\n []\n\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = (isPrevDirection && activeIndex === 0) ||\n (isNextDirection && activeIndex === lastItemIndex)\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] :\n this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element))\n\n return EventHandler.trigger(this._element, Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = SelectorEngine.find(Selector.ACTIVE, this._indicatorsElement)\n for (let i = 0; i < indicators.length; i++) {\n indicators[i].classList.remove(ClassName.ACTIVE)\n }\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n nextIndicator.classList.add(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || (activeElement &&\n this._getItemByDirection(direction, activeElement))\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && nextElement.classList.contains(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.defaultPrevented) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n if (this._element.classList.contains(ClassName.SLIDE)) {\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = getTransitionDurationFromElement(activeElement)\n\n EventHandler\n .one(activeElement, TRANSITION_END, () => {\n nextElement.classList.remove(directionalClassName)\n nextElement.classList.remove(orderClassName)\n nextElement.classList.add(ClassName.ACTIVE)\n\n activeElement.classList.remove(ClassName.ACTIVE)\n activeElement.classList.remove(orderClassName)\n activeElement.classList.remove(directionalClassName)\n\n this._isSliding = false\n\n setTimeout(() => {\n EventHandler.trigger(this._element, Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }, 0)\n })\n\n emulateTransitionEnd(activeElement, transitionDuration)\n } else {\n activeElement.classList.remove(ClassName.ACTIVE)\n nextElement.classList.add(ClassName.ACTIVE)\n\n this._isSliding = false\n EventHandler.trigger(this._element, Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static carouselInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n let _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element)\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(element, _config)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Carousel.carouselInterface(this, config)\n })\n }\n\n static dataApiClickHandler(event) {\n const target = getElementFromSelector(this)\n\n if (!target || !target.classList.contains(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel.carouselInterface(target, config)\n\n if (slideIndex) {\n Data.getData(target, DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel.dataApiClickHandler)\n\nEventHandler.on(window, Event.LOAD_DATA_API, () => {\n const carousels = makeArray(SelectorEngine.find(Selector.DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n Carousel.carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY))\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .carousel to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Carousel.jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel.jQueryInterface\n }\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isElement,\n makeArray,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n toggle: true,\n parent: ''\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(string|element)'\n}\n\nconst Event = {\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SHOW: 'show',\n COLLAPSE: 'collapse',\n COLLAPSING: 'collapsing',\n COLLAPSED: 'collapsed'\n}\n\nconst Dimension = {\n WIDTH: 'width',\n HEIGHT: 'height'\n}\n\nconst Selector = {\n ACTIVES: '.show, .collapsing',\n DATA_TOGGLE: '[data-toggle=\"collapse\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = makeArray(SelectorEngine.find(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n\n const toggleList = makeArray(SelectorEngine.find(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = getSelectorFromElement(elem)\n const filterElement = makeArray(SelectorEngine.find(selector))\n .filter(foundElem => foundElem === element)\n\n if (selector !== null && filterElement.length) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if (this._element.classList.contains(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = makeArray(SelectorEngine.find(Selector.ACTIVES, this._parent))\n .filter(elem => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(ClassName.COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n const container = SelectorEngine.findOne(this._selector)\n if (actives) {\n const tempActiveData = actives.filter(elem => container !== elem)\n activesData = tempActiveData[0] ? Data.getData(tempActiveData[0], DATA_KEY) : null\n\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = EventHandler.trigger(this._element, Event.SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n if (actives) {\n actives.forEach(elemActive => {\n if (container !== elemActive) {\n Collapse.collapseInterface(elemActive, 'hide')\n }\n\n if (!activesData) {\n Data.setData(elemActive, DATA_KEY, null)\n }\n })\n }\n\n const dimension = this._getDimension()\n\n this._element.classList.remove(ClassName.COLLAPSE)\n this._element.classList.add(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n this._triggerArray.forEach(element => {\n element.classList.remove(ClassName.COLLAPSED)\n element.setAttribute('aria-expanded', true)\n })\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this._element.classList.remove(ClassName.COLLAPSING)\n this._element.classList.add(ClassName.COLLAPSE)\n this._element.classList.add(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n EventHandler.trigger(this._element, Event.SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n\n emulateTransitionEnd(this._element, transitionDuration)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, Event.HIDE)\n if (startEvent.defaultPrevented) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n reflow(this._element)\n\n this._element.classList.add(ClassName.COLLAPSING)\n this._element.classList.remove(ClassName.COLLAPSE)\n this._element.classList.remove(ClassName.SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const elem = getElementFromSelector(trigger)\n\n if (elem && !elem.classList.contains(ClassName.SHOW)) {\n trigger.classList.add(ClassName.COLLAPSED)\n trigger.setAttribute('aria-expanded', false)\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n this._element.classList.remove(ClassName.COLLAPSING)\n this._element.classList.add(ClassName.COLLAPSE)\n EventHandler.trigger(this._element, Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = this._element.classList.contains(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let { parent } = this._config\n\n if (isElement(parent)) {\n // it's a jQuery object\n if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {\n parent = parent[0]\n }\n } else {\n parent = SelectorEngine.findOne(parent)\n }\n\n const selector = `[data-toggle=\"collapse\"][data-parent=\"${parent}\"]`\n\n makeArray(SelectorEngine.find(selector, parent))\n .forEach(element => {\n const selected = getElementFromSelector(element)\n\n this._addAriaAndCollapsedClass(\n selected,\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (element) {\n const isOpen = element.classList.contains(ClassName.SHOW)\n\n if (triggerArray.length) {\n triggerArray.forEach(elem => {\n if (isOpen) {\n elem.classList.remove(ClassName.COLLAPSED)\n } else {\n elem.classList.add(ClassName.COLLAPSED)\n }\n\n elem.setAttribute('aria-expanded', isOpen)\n })\n }\n }\n }\n\n // Static\n\n static collapseInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Collapse.collapseInterface(this, config)\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A') {\n event.preventDefault()\n }\n\n const triggerData = Manipulator.getDataAttributes(this)\n const selector = getSelectorFromElement(this)\n const selectorElements = makeArray(SelectorEngine.find(selector))\n\n selectorElements.forEach(element => {\n const data = Data.getData(element, DATA_KEY)\n let config\n if (data) {\n // update parent attribute\n if (data._parent === null && typeof triggerData.parent === 'string') {\n data._config.parent = triggerData.parent\n data._parent = data._getParent()\n }\n\n config = 'toggle'\n } else {\n config = triggerData\n }\n\n Collapse.collapseInterface(element, config)\n })\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .collapse to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Collapse.jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse.jQueryInterface\n }\n}\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getElementFromSelector,\n isElement,\n isVisible,\n makeArray,\n noop,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API: `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API: `keyup${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DISABLED: 'disabled',\n SHOW: 'show',\n DROPUP: 'dropup',\n DROPRIGHT: 'dropright',\n DROPLEFT: 'dropleft',\n MENURIGHT: 'dropdown-menu-right',\n POSITION_STATIC: 'position-static'\n}\n\nconst Selector = {\n DATA_TOGGLE: '[data-toggle=\"dropdown\"]',\n FORM_CHILD: '.dropdown form',\n MENU: '.dropdown-menu',\n NAVBAR_NAV: '.navbar-nav',\n VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n}\n\nconst AttachmentMap = {\n TOP: 'top-start',\n TOPEND: 'top-end',\n BOTTOM: 'bottom-start',\n BOTTOMEND: 'bottom-end',\n RIGHT: 'right-start',\n RIGHTEND: 'right-end',\n LEFT: 'left-start',\n LEFTEND: 'left-end'\n}\n\nconst Default = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n const isActive = this._menu.classList.contains(ClassName.SHOW)\n\n Dropdown.clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show()\n }\n\n show() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED) || this._menu.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const showEvent = EventHandler.trigger(parent, Event.SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n parent.classList.add(ClassName.POSITION_STATIC)\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n !makeArray(SelectorEngine.closest(parent, Selector.NAVBAR_NAV)).length) {\n makeArray(document.body.children)\n .forEach(elem => EventHandler.on(elem, 'mouseover', null, noop()))\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n Manipulator.toggleClass(this._menu, ClassName.SHOW)\n Manipulator.toggleClass(parent, ClassName.SHOW)\n EventHandler.trigger(parent, Event.SHOWN, relatedTarget)\n }\n\n hide() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED) || !this._menu.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const hideEvent = EventHandler.trigger(parent, Event.HIDE, relatedTarget)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n Manipulator.toggleClass(this._menu, ClassName.SHOW)\n Manipulator.toggleClass(parent, ClassName.SHOW)\n EventHandler.trigger(parent, Event.HIDDEN, relatedTarget)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._element, EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n EventHandler.on(this._element, Event.CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n const parent = Dropdown.getParentFromElement(this._element)\n\n return SelectorEngine.findOne(Selector.MENU, parent)\n }\n\n _getPlacement() {\n const parentDropdown = this._element.parentNode\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if (parentDropdown.classList.contains(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if (this._menu.classList.contains(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if (parentDropdown.classList.contains(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if (parentDropdown.classList.contains(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if (this._menu.classList.contains(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n\n return placement\n }\n\n _detectNavbar() {\n return Boolean(SelectorEngine.closest(this._element, '.navbar'))\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets, this._element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static dropdownInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Dropdown.dropdownInterface(this, config)\n })\n }\n\n static clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n (event.type === 'keyup' && event.which !== TAB_KEYCODE))) {\n return\n }\n\n const toggles = makeArray(SelectorEngine.find(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown.getParentFromElement(toggles[i])\n const context = Data.getData(toggles[i], DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!parent.classList.contains(ClassName.SHOW)) {\n continue\n }\n\n if (event && ((event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName)) ||\n (event.type === 'keyup' && event.which === TAB_KEYCODE)) &&\n parent.contains(event.target)) {\n continue\n }\n\n const hideEvent = EventHandler.trigger(parent, Event.HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children)\n .forEach(elem => EventHandler.off(elem, 'mouseover', null, noop()))\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n dropdownMenu.classList.remove(ClassName.SHOW)\n parent.classList.remove(ClassName.SHOW)\n EventHandler.trigger(parent, Event.HIDDEN, relatedTarget)\n }\n }\n\n static getParentFromElement(element) {\n return getElementFromSelector(element) || element.parentNode\n }\n\n static dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ?\n event.which === SPACE_KEYCODE || (event.which !== ESCAPE_KEYCODE &&\n ((event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE) ||\n SelectorEngine.closest(event.target, Selector.MENU))) :\n !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || this.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this)\n const isActive = parent.classList.contains(ClassName.SHOW)\n\n if (!isActive || (isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE))) {\n if (event.which === ESCAPE_KEYCODE) {\n SelectorEngine.findOne(Selector.DATA_TOGGLE, parent).focus()\n }\n\n Dropdown.clearMenus()\n return\n }\n\n const items = makeArray(SelectorEngine.find(Selector.VISIBLE_ITEMS, parent))\n .filter(isVisible)\n\n if (!items.length) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, Event.CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, Event.KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown.dropdownInterface(this, 'toggle')\n})\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.FORM_CHILD, e => e.stopPropagation())\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .dropdown to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Dropdown.jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown.jQueryInterface\n }\n}\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n makeArray,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: 'boolean'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDE_PREVENTED: `hidePrevented${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n RESIZE: `resize${EVENT_KEY}`,\n CLICK_DISMISS: `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS: `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS: `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS: `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SCROLLABLE: 'modal-dialog-scrollable',\n SCROLLBAR_MEASURER: 'modal-scrollbar-measure',\n BACKDROP: 'modal-backdrop',\n OPEN: 'modal-open',\n FADE: 'fade',\n SHOW: 'show',\n STATIC: 'modal-static'\n}\n\nconst Selector = {\n DIALOG: '.modal-dialog',\n MODAL_BODY: '.modal-body',\n DATA_TOGGLE: '[data-toggle=\"modal\"]',\n DATA_DISMISS: '[data-dismiss=\"modal\"]',\n FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT: '.sticky-top'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = SelectorEngine.findOne(Selector.DIALOG, element)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if (this._element.classList.contains(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = EventHandler.trigger(this._element, Event.SHOW, {\n relatedTarget\n })\n\n if (this._isShown || showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.on(this._element,\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n event => this.hide(event)\n )\n\n EventHandler.on(this._dialog, Event.MOUSEDOWN_DISMISS, () => {\n EventHandler.one(this._element, Event.MOUSEUP_DISMISS, event => {\n if (event.target === this._element) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, Event.HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n const transition = this._element.classList.contains(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.off(document, Event.FOCUSIN)\n\n this._element.classList.remove(ClassName.SHOW)\n\n EventHandler.off(this._element, Event.CLICK_DISMISS)\n EventHandler.off(this._dialog, Event.MOUSEDOWN_DISMISS)\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, event => this._hideModal(event))\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\n\n /**\n * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `Event.CLICK_DATA_API` event that should remain\n */\n EventHandler.off(document, Event.FOCUSIN)\n\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = this._element.classList.contains(ClassName.FADE)\n const modalBody = SelectorEngine.findOne(Selector.MODAL_BODY, this._dialog)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n\n if (this._dialog.classList.contains(ClassName.SCROLLABLE) && modalBody) {\n modalBody.scrollTop = 0\n } else {\n this._element.scrollTop = 0\n }\n\n if (transition) {\n reflow(this._element)\n }\n\n this._element.classList.add(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, Event.SHOWN, {\n relatedTarget\n })\n }\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._dialog)\n\n EventHandler.one(this._dialog, TRANSITION_END, transitionComplete)\n emulateTransitionEnd(this._dialog, transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n EventHandler.off(document, Event.FOCUSIN) // guard against infinite focus loop\n EventHandler.on(document, Event.FOCUSIN, event => {\n if (document !== event.target &&\n this._element !== event.target &&\n !this._element.contains(event.target)) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n EventHandler.on(this._element, Event.KEYDOWN_DISMISS, event => {\n if (event.which === ESCAPE_KEYCODE) {\n this._triggerBackdropTransition()\n }\n })\n } else {\n EventHandler.off(this._element, Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n EventHandler.on(window, Event.RESIZE, () => this._adjustDialog())\n } else {\n EventHandler.off(window, Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._isTransitioning = false\n this._showBackdrop(() => {\n document.body.classList.remove(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n EventHandler.trigger(this._element, Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n this._backdrop.parentNode.removeChild(this._backdrop)\n this._backdrop = null\n }\n\n _showBackdrop(callback) {\n const animate = this._element.classList.contains(ClassName.FADE) ?\n ClassName.FADE :\n ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n document.body.appendChild(this._backdrop)\n\n EventHandler.on(this._element, Event.CLICK_DISMISS, event => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n\n if (event.target !== event.currentTarget) {\n return\n }\n\n this._triggerBackdropTransition()\n })\n\n if (animate) {\n reflow(this._backdrop)\n }\n\n this._backdrop.classList.add(ClassName.SHOW)\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n\n EventHandler.one(this._backdrop, TRANSITION_END, callback)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n this._backdrop.classList.remove(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n callback()\n }\n\n if (this._element.classList.contains(ClassName.FADE)) {\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else {\n callback()\n }\n }\n\n _triggerBackdropTransition() {\n if (this._config.backdrop === 'static') {\n const hideEvent = EventHandler.trigger(this._element, Event.HIDE_PREVENTED)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._element.classList.add(ClassName.STATIC)\n const modalTransitionDuration = getTransitionDurationFromElement(this._element)\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.classList.remove(ClassName.STATIC)\n })\n emulateTransitionEnd(this._element, modalTransitionDuration)\n this._element.focus()\n } else {\n this.hide()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n makeArray(SelectorEngine.find(Selector.FIXED_CONTENT))\n .forEach(element => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = window.getComputedStyle(element)['padding-right']\n Manipulator.setDataAttribute(element, 'padding-right', actualPadding)\n element.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n })\n\n // Adjust sticky content margin\n makeArray(SelectorEngine.find(Selector.STICKY_CONTENT))\n .forEach(element => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = window.getComputedStyle(element)['margin-right']\n Manipulator.setDataAttribute(element, 'margin-right', actualMargin)\n element.style.marginRight = `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = window.getComputedStyle(document.body)['padding-right']\n\n Manipulator.setDataAttribute(document.body, 'padding-right', actualPadding)\n document.body.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n }\n\n document.body.classList.add(ClassName.OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n makeArray(SelectorEngine.find(Selector.FIXED_CONTENT))\n .forEach(element => {\n const padding = Manipulator.getDataAttribute(element, 'padding-right')\n if (typeof padding !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'padding-right')\n element.style.paddingRight = padding\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n makeArray(SelectorEngine.find(`${Selector.STICKY_CONTENT}`))\n .forEach(element => {\n const margin = Manipulator.getDataAttribute(element, 'margin-right')\n if (typeof margin !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'margin-right')\n element.style.marginRight = margin\n }\n })\n\n // Restore body padding\n const padding = Manipulator.getDataAttribute(document.body, 'padding-right')\n if (typeof padding === 'undefined') {\n document.body.style.paddingRight = ''\n } else {\n Manipulator.removeDataAttribute(document.body, 'padding-right')\n document.body.style.paddingRight = padding\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(this),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n EventHandler.one(target, Event.SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, Event.HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n let data = Data.getData(target, DATA_KEY)\n if (!data) {\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n\n data = new Modal(target, config)\n }\n\n data.show(this)\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .modal to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Modal.jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal.jQueryInterface\n }\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { makeArray } from './index'\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i\n\nconst allowedAttribute = (attr, allowedAttributeList) => {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter(attrRegex => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, l = regExp.length; i < l; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\n\nexport const DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\nexport function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const whitelistKeys = Object.keys(whiteList)\n const elements = makeArray(createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (whitelistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = makeArray(el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n findShadowRoot,\n getTransitionDurationFromElement,\n getUID,\n isElement,\n makeArray,\n noop,\n typeCheckConfig\n} from './util/index'\nimport {\n DefaultWhitelist,\n sanitizeHtml\n} from './util/sanitizer'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']\n\nconst DefaultType = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n whiteList: 'object',\n popperConfig: '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n}\n\nconst Default = {\n animation: true,\n template: '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"tooltip-arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\n sanitize: true,\n sanitizeFn: null,\n whiteList: DefaultWhitelist,\n popperConfig: null\n}\n\nconst HoverState = {\n SHOW: 'show',\n OUT: 'out'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n TOOLTIP_INNER: '.tooltip-inner'\n}\n\nconst Trigger = {\n HOVER: 'hover',\n FOCUS: 'focus',\n CLICK: 'click',\n MANUAL: 'manual'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n Data.setData(element, this.constructor.DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if (this.getTipElement().classList.contains(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n Data.removeData(this.element, this.constructor.DATA_KEY)\n\n EventHandler.off(this.element, this.constructor.EVENT_KEY)\n EventHandler.off(SelectorEngine.closest(this.element, '.modal'), 'hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n this.tip.parentNode.removeChild(this.tip)\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if (this.element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (this.isWithContent() && this._isEnabled) {\n const showEvent = EventHandler.trigger(this.element, this.constructor.Event.SHOW)\n const shadowRoot = findShadowRoot(this.element)\n const isInTheDom = shadowRoot === null ?\n this.element.ownerDocument.documentElement.contains(this.element) :\n shadowRoot.contains(this.element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n tip.classList.add(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function' ?\n this.config.placement.call(this, tip, this.element) :\n this.config.placement\n\n const attachment = this._getAttachment(placement)\n this._addAttachmentClass(attachment)\n\n const container = this._getContainer()\n Data.setData(tip, this.constructor.DATA_KEY, this)\n\n if (!this.element.ownerDocument.documentElement.contains(this.tip)) {\n container.appendChild(tip)\n }\n\n EventHandler.trigger(this.element, this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\n\n tip.classList.add(ClassName.SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children).forEach(element => {\n EventHandler.on(element, 'mouseover', noop())\n })\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n EventHandler.trigger(this.element, this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if (this.tip.classList.contains(ClassName.FADE)) {\n const transitionDuration = getTransitionDurationFromElement(this.tip)\n EventHandler.one(this.tip, TRANSITION_END, complete)\n emulateTransitionEnd(this.tip, transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide() {\n const tip = this.getTipElement()\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n EventHandler.trigger(this.element, this.constructor.Event.HIDDEN)\n this._popper.destroy()\n }\n\n const hideEvent = EventHandler.trigger(this.element, this.constructor.Event.HIDE)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n tip.classList.remove(ClassName.SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children)\n .forEach(element => EventHandler.off(element, 'mouseover', noop))\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if (this.tip.classList.contains(ClassName.FADE)) {\n const transitionDuration = getTransitionDurationFromElement(tip)\n\n EventHandler.one(tip, TRANSITION_END, complete)\n emulateTransitionEnd(tip, transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n getTipElement() {\n if (this.tip) {\n return this.tip\n }\n\n const element = document.createElement('div')\n element.innerHTML = this.config.template\n\n this.tip = element.children[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent(SelectorEngine.findOne(Selector.TOOLTIP_INNER, tip), this.getTitle())\n tip.classList.remove(ClassName.FADE)\n tip.classList.remove(ClassName.SHOW)\n }\n\n setElementContent(element, content) {\n if (element === null) {\n return\n }\n\n if (typeof content === 'object' && isElement(content)) {\n if (content.jquery) {\n content = content[0]\n }\n\n // content is a DOM node or a jQuery\n if (this.config.html) {\n if (content.parentNode !== element) {\n element.innerHTML = ''\n element.appendChild(content)\n }\n } else {\n element.innerText = content.textContent\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn)\n }\n\n element.innerHTML = content\n } else {\n element.innerText = content\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function' ?\n this.config.title.call(this.element) :\n this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: `.${this.constructor.NAME}-arrow`\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: data => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: data => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...this.config.offset(data.offsets, this.element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (isElement(this.config.container)) {\n return this.config.container\n }\n\n return SelectorEngine.findOne(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach(trigger => {\n if (trigger === 'click') {\n EventHandler.on(this.element,\n this.constructor.Event.CLICK,\n this.config.selector,\n event => this.toggle(event)\n )\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n EventHandler.on(this.element,\n eventIn,\n this.config.selector,\n event => this._enter(event)\n )\n EventHandler.on(this.element,\n eventOut,\n this.config.selector,\n event => this._leave(event)\n )\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n EventHandler.on(SelectorEngine.closest(this.element, '.modal'),\n 'hide.bs.modal',\n this._hideModalHandler\n )\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if (context.getTipElement().classList.contains(ClassName.SHOW) ||\n context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this.element)\n\n Object.keys(dataAttributes)\n .forEach(dataAttr => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n if (config && typeof config.container === 'object' && config.container.jquery) {\n config.container = config.container[0]\n }\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length) {\n tabClass\n .map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n const popperInstance = popperData.instance\n this.tip = popperInstance.popper\n this._cleanTipClass()\n this._addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n tip.classList.remove(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tooltip to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tooltip.jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip.jQueryInterface\n }\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport SelectorEngine from './dom/selector-engine'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement: 'right',\n trigger: 'click',\n content: '',\n template: '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"popover-arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(string|element|function)'\n}\n\nconst ClassName = {\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n TITLE: '.popover-header',\n CONTENT: '.popover-body'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n setContent() {\n const tip = this.getTipElement()\n\n // we use append for html objects to maintain js events\n this.setElementContent(SelectorEngine.findOne(Selector.TITLE, tip), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n\n this.setElementContent(SelectorEngine.findOne(Selector.CONTENT, tip), content)\n\n tip.classList.remove(ClassName.FADE)\n tip.classList.remove(ClassName.SHOW)\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n Data.setData(this, DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Popover.jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover.jQueryInterface\n }\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getSelectorFromElement,\n getUID,\n makeArray,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n offset: 10,\n method: 'auto',\n target: ''\n}\n\nconst DefaultType = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n}\n\nconst Event = {\n ACTIVATE: `activate${EVENT_KEY}`,\n SCROLL: `scroll${EVENT_KEY}`,\n LOAD_DATA_API: `load${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_ITEM: 'dropdown-item',\n ACTIVE: 'active'\n}\n\nconst Selector = {\n DATA_SPY: '[data-spy=\"scroll\"]',\n NAV_LIST_GROUP: '.nav, .list-group',\n NAV_LINKS: '.nav-link',\n NAV_ITEMS: '.nav-item',\n LIST_ITEMS: '.list-group-item',\n DROPDOWN: '.dropdown',\n DROPDOWN_TOGGLE: '.dropdown-toggle'\n}\n\nconst OffsetMethod = {\n OFFSET: 'offset',\n POSITION: 'position'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +\n `${this._config.target} ${Selector.LIST_ITEMS},` +\n `${this._config.target} .${ClassName.DROPDOWN_ITEM}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n EventHandler.on(this._scrollElement, Event.SCROLL, event => this._process(event))\n\n this.refresh()\n this._process()\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window ?\n OffsetMethod.OFFSET :\n OffsetMethod.POSITION\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod :\n this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION ?\n this._getScrollTop() :\n 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = makeArray(SelectorEngine.find(this._selector))\n\n targets\n .map(element => {\n let target\n const targetSelector = getSelectorFromElement(element)\n\n if (targetSelector) {\n target = SelectorEngine.findOne(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n return [\n Manipulator[offsetMethod](target).top + offsetBase,\n targetSelector\n ]\n }\n }\n\n return null\n })\n .filter(item => item)\n .sort((a, b) => a[0] - b[0])\n .forEach(item => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._scrollElement, EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.target !== 'string') {\n let { id } = config.target\n if (!id) {\n id = getUID(NAME)\n config.target.id = id\n }\n\n config.target = `#${id}`\n }\n\n typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset :\n this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight :\n this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n const offsetLength = this._offsets.length\n for (let i = offsetLength; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector.split(',')\n .map(selector => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const link = SelectorEngine.findOne(queries.join(','))\n\n if (link.classList.contains(ClassName.DROPDOWN_ITEM)) {\n SelectorEngine\n .findOne(Selector.DROPDOWN_TOGGLE, SelectorEngine.closest(link, Selector.DROPDOWN))\n .classList.add(ClassName.ACTIVE)\n\n link.classList.add(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n link.classList.add(ClassName.ACTIVE)\n\n SelectorEngine\n .parents(link, Selector.NAV_LIST_GROUP)\n .forEach(listGroup => {\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n SelectorEngine.prev(listGroup, `${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`)\n .forEach(item => item.classList.add(ClassName.ACTIVE))\n\n // Handle special case when .nav-link is inside .nav-item\n SelectorEngine.prev(listGroup, Selector.NAV_ITEMS)\n .forEach(navItem => {\n SelectorEngine.children(navItem, Selector.NAV_LINKS)\n .forEach(item => item.classList.add(ClassName.ACTIVE))\n })\n })\n }\n\n EventHandler.trigger(this._scrollElement, Event.ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n makeArray(SelectorEngine.find(this._selector))\n .filter(node => node.classList.contains(ClassName.ACTIVE))\n .forEach(node => node.classList.remove(ClassName.ACTIVE))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(window, Event.LOAD_DATA_API, () => {\n makeArray(SelectorEngine.find(Selector.DATA_SPY))\n .forEach(spy => new ScrollSpy(spy, Manipulator.getDataAttributes(spy)))\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = ScrollSpy.jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy.jQueryInterface\n }\n}\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n makeArray,\n reflow\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_MENU: 'dropdown-menu',\n ACTIVE: 'active',\n DISABLED: 'disabled',\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n DROPDOWN: '.dropdown',\n NAV_LIST_GROUP: '.nav, .list-group',\n ACTIVE: '.active',\n ACTIVE_UL: ':scope > li > .active',\n DATA_TOGGLE: '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n DROPDOWN_TOGGLE: '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD: ':scope > .dropdown-menu .active'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n\n Data.setData(this._element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if ((this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n this._element.classList.contains(ClassName.ACTIVE)) ||\n this._element.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n let previous\n const target = getElementFromSelector(this._element)\n const listElement = SelectorEngine.closest(this._element, Selector.NAV_LIST_GROUP)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n previous = makeArray(SelectorEngine.find(itemSelector, listElement))\n previous = previous[previous.length - 1]\n }\n\n let hideEvent = null\n\n if (previous) {\n hideEvent = EventHandler.trigger(previous, Event.HIDE, {\n relatedTarget: this._element\n })\n }\n\n const showEvent = EventHandler.trigger(this._element, Event.SHOW, {\n relatedTarget: previous\n })\n\n if (showEvent.defaultPrevented ||\n (hideEvent !== null && hideEvent.defaultPrevented)) {\n return\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n EventHandler.trigger(previous, Event.HIDDEN, {\n relatedTarget: this._element\n })\n EventHandler.trigger(this._element, Event.SHOWN, {\n relatedTarget: previous\n })\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ?\n SelectorEngine.find(Selector.ACTIVE_UL, container) :\n SelectorEngine.children(container, Selector.ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n (active && active.classList.contains(ClassName.FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = getTransitionDurationFromElement(active)\n active.classList.remove(ClassName.SHOW)\n\n EventHandler.one(active, TRANSITION_END, complete)\n emulateTransitionEnd(active, transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n active.classList.remove(ClassName.ACTIVE)\n\n const dropdownChild = SelectorEngine.findOne(Selector.DROPDOWN_ACTIVE_CHILD, active.parentNode)\n\n if (dropdownChild) {\n dropdownChild.classList.remove(ClassName.ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n element.classList.add(ClassName.ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n reflow(element)\n\n if (element.classList.contains(ClassName.FADE)) {\n element.classList.add(ClassName.SHOW)\n }\n\n if (element.parentNode && element.parentNode.classList.contains(ClassName.DROPDOWN_MENU)) {\n const dropdownElement = SelectorEngine.closest(element, Selector.DROPDOWN)\n\n if (dropdownElement) {\n makeArray(SelectorEngine.find(Selector.DROPDOWN_TOGGLE))\n .forEach(dropdown => dropdown.classList.add(ClassName.ACTIVE))\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n data.show()\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tab to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tab.jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab.jQueryInterface\n }\n}\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getTransitionDurationFromElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst Event = {\n CLICK_DISMISS: `click.dismiss${EVENT_KEY}`,\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE: 'fade',\n HIDE: 'hide',\n SHOW: 'show',\n SHOWING: 'showing'\n}\n\nconst DefaultType = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n}\n\nconst Default = {\n animation: true,\n autohide: true,\n delay: 500\n}\n\nconst Selector = {\n DATA_DISMISS: '[data-dismiss=\"toast\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n show() {\n const showEvent = EventHandler.trigger(this._element, Event.SHOW)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n if (this._config.animation) {\n this._element.classList.add(ClassName.FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(ClassName.SHOWING)\n this._element.classList.add(ClassName.SHOW)\n\n EventHandler.trigger(this._element, Event.SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(ClassName.HIDE)\n reflow(this._element)\n this._element.classList.add(ClassName.SHOWING)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, Event.HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const complete = () => {\n this._element.classList.add(ClassName.HIDE)\n EventHandler.trigger(this._element, Event.HIDDEN)\n }\n\n this._element.classList.remove(ClassName.SHOW)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n this._timeout = null\n\n if (this._element.classList.contains(ClassName.SHOW)) {\n this._element.classList.remove(ClassName.SHOW)\n }\n\n EventHandler.off(this._element, Event.CLICK_DISMISS)\n Data.removeData(this._element, DATA_KEY)\n\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...typeof config === 'object' && config ? config : {}\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(\n this._element,\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n () => this.hide()\n )\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .toast to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Toast.jQueryInterface\n $.fn[NAME].Constructor = Toast\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast.jQueryInterface\n }\n}\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): index.umd.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Alert from './src/alert'\nimport Button from './src/button'\nimport Carousel from './src/carousel'\nimport Collapse from './src/collapse'\nimport Dropdown from './src/dropdown'\nimport Modal from './src/modal'\nimport Popover from './src/popover'\nimport ScrollSpy from './src/scrollspy'\nimport Tab from './src/tab'\nimport Toast from './src/toast'\nimport Tooltip from './src/tooltip'\n\nexport default {\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n ScrollSpy,\n Tab,\n Toast,\n Tooltip\n}\n"],"names":["MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","toString","call","match","toLowerCase","getUID","prefix","Math","random","document","getElementById","getSelector","element","selector","getAttribute","hrefAttr","trim","getSelectorFromElement","querySelector","getElementFromSelector","getTransitionDurationFromElement","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","evt","createEvent","initEvent","dispatchEvent","isElement","nodeType","emulateTransitionEnd","duration","called","durationPadding","emulatedDuration","listener","removeEventListener","addEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","makeArray","nodeList","slice","isVisible","style","parentNode","elementStyle","parentNodeStyle","display","visibility","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","mapData","storeData","id","set","key","data","get","keyProperties","delete","Data","setData","instance","getData","removeData","Element","prototype","matches","closest","find","querySelectorAll","findOne","createCustomEvent","eventName","params","cEvent","CustomEvent","bubbles","cancelable","detail","initCustomEvent","workingDefaultPrevented","e","preventDefault","defaultPrevented","origPreventDefault","Event","defineProperty","configurable","defaultPreventedPreservedOnDispatch","createElement","msMatchesSelector","webkitMatchesSelector","parentElement","scopeSelectorRegex","supportScopeQuery","_","hasId","Boolean","replace","removeAttribute","$","namespaceRegex","stripNameRegex","keyEventRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","getUidEvent","uid","getEvent","fixEvent","event","which","type","charCode","keyCode","delegateTarget","bootstrapHandler","fn","handler","oneOff","EventHandler","off","apply","bootstrapDelegationHandler","domElements","target","i","length","findHandler","events","delegationSelector","uidEventList","len","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","custom","isNative","indexOf","addHandler","handlers","previousFn","removeHandler","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","on","one","inNamespace","isNamespace","charAt","elementEvent","keyHandlers","trigger","args","jQueryEvent","nativeDispatch","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","NODE_TEXT","SelectorEngine","findFn","children","filter","child","parents","ancestor","Node","ELEMENT_NODE","push","prev","siblings","previous","previousSibling","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","Selector","DISMISS","CLOSE","CLOSED","CLICK_DATA_API","ClassName","ALERT","FADE","SHOW","Alert","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","_removeElement","dispose","parent","classList","remove","contains","_destroyElement","removeChild","jQueryInterface","each","handleDismiss","alertInstance","getInstance","JQUERY_NO_CONFLICT","Constructor","noConflict","ACTIVE","BUTTON","FOCUS","DATA_TOGGLE_CARROT","DATA_TOGGLE","INPUT","FOCUS_DATA_API","BLUR_DATA_API","Button","toggle","triggerChangeEvent","addAriaPressed","input","checked","activeElement","focus","setAttribute","button","add","normalizeData","val","Number","normalizeDataKey","chr","Manipulator","setDataAttribute","removeDataAttribute","getDataAttributes","attributes","dataset","getDataAttribute","offset","rect","getBoundingClientRect","top","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft","toggleClass","className","ARROW_LEFT_KEYCODE","ARROW_RIGHT_KEYCODE","TOUCHEVENT_COMPAT_WAIT","SWIPE_THRESHOLD","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","Direction","NEXT","PREV","LEFT","RIGHT","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","TOUCHSTART","TOUCHMOVE","TOUCHEND","POINTERDOWN","POINTERUP","DRAG_START","LOAD_DATA_API","CAROUSEL","ITEM","POINTER_EVENT","ACTIVE_ITEM","ITEM_IMG","NEXT_PREV","INDICATORS","DATA_SLIDE","DATA_RIDE","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","MSPointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","_handleSwipe","absDeltax","abs","_keydown","_addTouchEventListeners","start","pointerType","clientX","touches","move","end","clearTimeout","itemImg","tagName","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","from","_setActiveIndicatorElement","indicators","nextIndicator","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","slideEvent","nextElementInterval","parseInt","defaultInterval","carouselInterface","action","TypeError","ride","dataApiClickHandler","slideIndex","carousels","SHOWN","HIDE","HIDDEN","COLLAPSE","COLLAPSING","COLLAPSED","Dimension","WIDTH","HEIGHT","ACTIVES","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","container","tempActiveData","startEvent","elemActive","collapseInterface","dimension","_getDimension","setTransitioning","complete","capitalizedDimension","scrollSize","triggerArrayLength","isTransitioning","hasWidth","jquery","selected","triggerArray","isOpen","triggerData","selectorElements","ESCAPE_KEYCODE","SPACE_KEYCODE","TAB_KEYCODE","ARROW_UP_KEYCODE","ARROW_DOWN_KEYCODE","RIGHT_MOUSE_BUTTON_WHICH","REGEXP_KEYDOWN","CLICK","KEYDOWN_DATA_API","KEYUP_DATA_API","DISABLED","DROPUP","DROPRIGHT","DROPLEFT","MENURIGHT","POSITION_STATIC","FORM_CHILD","MENU","NAVBAR_NAV","VISIBLE_ITEMS","AttachmentMap","TOP","TOPEND","BOTTOM","BOTTOMEND","RIGHTEND","LEFTEND","flip","boundary","reference","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","clearMenus","getParentFromElement","showEvent","Popper","referenceElement","_getPopperConfig","hideEvent","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","parentDropdown","placement","_getOffset","offsets","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","dropdownInterface","toggles","context","clickEvent","dropdownMenu","dataApiKeydownHandler","items","backdrop","HIDE_PREVENTED","FOCUSIN","RESIZE","CLICK_DISMISS","KEYDOWN_DISMISS","MOUSEUP_DISMISS","MOUSEDOWN_DISMISS","SCROLLABLE","SCROLLBAR_MEASURER","BACKDROP","OPEN","STATIC","DIALOG","MODAL_BODY","DATA_DISMISS","FIXED_CONTENT","STICKY_CONTENT","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","handleUpdate","modalBody","appendChild","_enforceFocus","transitionComplete","_triggerBackdropTransition","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","animate","currentTarget","backdropTransitionDuration","callbackRemove","modalTransitionDuration","isModalOverflowing","scrollHeight","clientHeight","paddingLeft","paddingRight","right","innerWidth","_getScrollbarWidth","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","margin","scrollDiv","scrollbarWidth","width","clientWidth","uriAttrs","ARIA_ATTRIBUTE_PATTERN","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attr","allowedAttributeList","attrName","nodeName","nodeValue","regExp","attrRegex","l","DefaultWhitelist","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","sanitizeHtml","unsafeHtml","whiteList","sanitizeFn","domParser","DOMParser","createdDocument","parseFromString","whitelistKeys","elements","el","elName","attributeList","whitelistedAttributes","concat","innerHTML","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","fallbackPlacement","sanitize","AUTO","HoverState","OUT","INSERTED","FOCUSOUT","TOOLTIP_INNER","Trigger","HOVER","MANUAL","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","_addAttachmentClass","_getContainer","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","innerText","textContent","defaultBsConfig","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","triggers","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","tabClass","map","token","tClass","popperData","popperInstance","popper","initConfigAnimation","TITLE","CONTENT","Popover","_getContent","method","ACTIVATE","SCROLL","DROPDOWN_ITEM","DATA_SPY","NAV_LIST_GROUP","NAV_LINKS","NAV_ITEMS","LIST_ITEMS","DROPDOWN","DROPDOWN_TOGGLE","OffsetMethod","OFFSET","POSITION","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targets","targetSelector","targetBCR","height","item","sort","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","offsetLength","isActiveTarget","queries","link","join","listGroup","navItem","node","spy","DROPDOWN_MENU","ACTIVE_UL","DROPDOWN_ACTIVE_CHILD","Tab","listElement","itemSelector","activeElements","active","_transitionComplete","dropdownChild","dropdownElement","dropdown","SHOWING","autohide","Toast"],"mappings":"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"} \ No newline at end of file
+{"version":3,"file":"bootstrap.js","sources":["../../js/src/util/index.js","../../js/src/dom/data.js","../../js/src/dom/polyfill.js","../../js/src/dom/event-handler.js","../../js/src/dom/selector-engine.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/dom/manipulator.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/util/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/index.umd.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => {\n if (obj === null || obj === undefined) {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = obj => (obj[0] || obj).nodeType\n\nconst emulateTransitionEnd = (element, duration) => {\n let called = false\n const durationPadding = 5\n const emulatedDuration = duration + durationPadding\n function listener() {\n called = true\n element.removeEventListener(TRANSITION_END, listener)\n }\n\n element.addEventListener(TRANSITION_END, listener)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(element)\n }\n }, emulatedDuration)\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes)\n .forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n const elementStyle = getComputedStyle(element)\n const parentNodeStyle = getComputedStyle(element.parentNode)\n\n return elementStyle.display !== 'none' &&\n parentNodeStyle.display !== 'none' &&\n elementStyle.visibility !== 'hidden'\n }\n\n return false\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst mapData = (() => {\n const storeData = {}\n let id = 1\n return {\n set(element, key, data) {\n if (typeof element.key === 'undefined') {\n element.key = {\n key,\n id\n }\n id++\n }\n\n storeData[element.key.id] = data\n },\n get(element, key) {\n if (!element || typeof element.key === 'undefined') {\n return null\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.key === 'undefined') {\n return\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.key\n }\n }\n }\n})()\n\nconst Data = {\n setData(instance, key, data) {\n mapData.set(instance, key, data)\n },\n getData(instance, key) {\n return mapData.get(instance, key)\n },\n removeData(instance, key) {\n mapData.delete(instance, key)\n }\n}\n\nexport default Data\n","/* istanbul ignore file */\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/polyfill.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getUID } from '../util/index'\n\nlet find = Element.prototype.querySelectorAll\nlet findOne = Element.prototype.querySelector\n\n// MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached\nconst defaultPreventedPreservedOnDispatch = (() => {\n const e = new CustomEvent('Bootstrap', {\n cancelable: true\n })\n\n const element = document.createElement('div')\n element.addEventListener('Bootstrap', () => null)\n\n e.preventDefault()\n element.dispatchEvent(e)\n return e.defaultPrevented\n})()\n\nconst scopeSelectorRegex = /:scope\\b/\nconst supportScopeQuery = (() => {\n const element = document.createElement('div')\n\n try {\n element.querySelectorAll(':scope *')\n } catch (_) {\n return false\n }\n\n return true\n})()\n\nif (!supportScopeQuery) {\n find = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelectorAll(selector)\n }\n\n const hasId = Boolean(this.id)\n\n if (!hasId) {\n this.id = getUID('scope')\n }\n\n let nodeList = null\n try {\n selector = selector.replace(scopeSelectorRegex, `#${this.id}`)\n nodeList = this.querySelectorAll(selector)\n } finally {\n if (!hasId) {\n this.removeAttribute('id')\n }\n }\n\n return nodeList\n }\n\n findOne = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelector(selector)\n }\n\n const matches = find.call(this, selector)\n\n if (typeof matches[0] !== 'undefined') {\n return matches[0]\n }\n\n return null\n }\n}\n\nexport {\n find,\n findOne,\n defaultPreventedPreservedOnDispatch\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\nimport { defaultPreventedPreservedOnDispatch } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst $ = getjQuery()\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst keyEventRegex = /^key/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\nconst nativeEvents = [\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n]\n\n/**\n * ------------------------------------------------------------------------\n * Private methods\n * ------------------------------------------------------------------------\n */\n\nfunction getUidEvent(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getEvent(element) {\n const uid = getUidEvent(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction fixEvent(event, element) {\n // Add which for key events\n if (event.which === null && keyEventRegex.test(event.type)) {\n event.which = event.charCode === null ? event.keyCode : event.charCode\n }\n\n event.delegateTarget = element\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n fixEvent(event, element)\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = target.parentNode) {\n for (let i = domElements.length; i--;) {\n if (domElements[i] === target) {\n fixEvent(event, target)\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n\n // To please ESLint\n return null\n }\n}\n\nfunction findHandler(events, handler, delegationSelector = null) {\n const uidEventList = Object.keys(events)\n\n for (let i = 0, len = uidEventList.length; i < len; i++) {\n const event = events[uidEventList[i]]\n\n if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\n return event\n }\n }\n\n return null\n}\n\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\n const delegation = typeof handler === 'string'\n const originalHandler = delegation ? delegationFn : handler\n\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n let typeEvent = originalTypeEvent.replace(stripNameRegex, '')\n const custom = customEvents[typeEvent]\n\n if (custom) {\n typeEvent = custom\n }\n\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n if (!isNative) {\n typeEvent = originalTypeEvent\n }\n\n return [delegation, originalHandler, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n if (!handler) {\n handler = delegationFn\n delegationFn = null\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const events = getEvent(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null)\n\n if (previousFn) {\n previousFn.oneOff = previousFn.oneOff && oneOff\n\n return\n }\n\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = delegation ?\n bootstrapDelegationHandler(element, handler, delegationFn) :\n bootstrapHandler(element, handler)\n\n fn.delegationSelector = delegation ? handler : null\n fn.originalHandler = originalHandler\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, delegation)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {}\n\n Object.keys(storeElementEvent)\n .forEach(handlerKey => {\n if (handlerKey.indexOf(namespace) > -1) {\n const event = storeElementEvent[handlerKey]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, false)\n },\n\n one(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFn) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getEvent(element)\n const isNamespace = originalTypeEvent.charAt(0) === '.'\n\n if (typeof originalHandler !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!events || !events[typeEvent]) {\n return\n }\n\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null)\n return\n }\n\n if (isNamespace) {\n Object.keys(events)\n .forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent)\n .forEach(keyHandlers => {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.indexOf(handlerKey) > -1) {\n const event = storeElementEvent[keyHandlers]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const typeEvent = event.replace(stripNameRegex, '')\n const inNamespace = event !== typeEvent\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n let jQueryEvent\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n let evt = null\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n if (isNative) {\n evt = document.createEvent('HTMLEvents')\n evt.initEvent(typeEvent, bubbles, true)\n } else {\n evt = new CustomEvent(event, {\n bubbles,\n cancelable: true\n })\n }\n\n // merge custom informations in our event\n if (typeof args !== 'undefined') {\n Object.keys(args)\n .forEach(key => {\n Object.defineProperty(evt, key, {\n get() {\n return args[key]\n }\n })\n })\n }\n\n if (defaultPrevented) {\n evt.preventDefault()\n\n if (!defaultPreventedPreservedOnDispatch) {\n Object.defineProperty(evt, 'defaultPrevented', {\n get: () => true\n })\n }\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { find as findFn, findOne } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n matches(element, selector) {\n return element.matches(selector)\n },\n\n find(selector, element = document.documentElement) {\n return [].concat(...findFn.call(element, selector))\n },\n\n findOne(selector, element = document.documentElement) {\n return findOne.call(element, selector)\n },\n\n children(element, selector) {\n const children = [].concat(...element.children)\n\n return children.filter(child => child.matches(selector))\n },\n\n parents(element, selector) {\n const parents = []\n\n let ancestor = element.parentNode\n\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\n if (this.matches(ancestor, selector)) {\n parents.push(ancestor)\n }\n\n ancestor = ancestor.parentNode\n }\n\n return parents\n },\n\n closest(element, selector) {\n return element.closest(selector)\n },\n\n prev(element, selector) {\n let previous = element.previousElementSibling\n\n while (previous) {\n if (previous.matches(selector)) {\n return [previous]\n }\n\n previous = previous.previousElementSibling\n }\n\n return []\n },\n\n next(element, selector) {\n let next = element.nextElementSibling\n\n while (next) {\n if (this.matches(next, selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst SELECTOR_DISMISS = '[data-dismiss=\"alert\"]'\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASSNAME_ALERT = 'alert'\nconst CLASSNAME_FADE = 'fade'\nconst CLASSNAME_SHOW = 'show'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n\n if (this._element) {\n Data.setData(element, DATA_KEY, this)\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent === null || customEvent.defaultPrevented) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n let parent = getElementFromSelector(element)\n\n if (!parent) {\n parent = SelectorEngine.closest(element, `.${CLASSNAME_ALERT}`)\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n return EventHandler.trigger(element, EVENT_CLOSE)\n }\n\n _removeElement(element) {\n element.classList.remove(CLASSNAME_SHOW)\n\n if (!element.classList.contains(CLASSNAME_FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = getTransitionDurationFromElement(element)\n\n EventHandler\n .one(element, TRANSITION_END, () => this._destroyElement(element))\n emulateTransitionEnd(element, transitionDuration)\n }\n\n _destroyElement(element) {\n if (element.parentNode) {\n element.parentNode.removeChild(element)\n }\n\n EventHandler.trigger(element, EVENT_CLOSED)\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\nEventHandler\n .on(document, EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert.handleDismiss(new Alert()))\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .alert to jQuery only if jQuery is present\n */\n\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Alert.jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert.jQueryInterface\n }\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_BUTTON = 'btn'\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_FOCUS = 'focus'\n\nconst SELECTOR_DATA_TOGGLE_CARROT = '[data-toggle^=\"button\"]'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"buttons\"]'\nconst SELECTOR_INPUT = 'input:not([type=\"hidden\"])'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_BUTTON = '.btn'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_FOCUS_DATA_API = `focus${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_BLUR_DATA_API = `blur${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n\n const rootElement = SelectorEngine.closest(\n this._element,\n SELECTOR_DATA_TOGGLE\n )\n\n if (rootElement) {\n const input = SelectorEngine.findOne(SELECTOR_INPUT, this._element)\n\n if (input && input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(CLASS_NAME_ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE, rootElement)\n\n if (activeElement) {\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains(CLASS_NAME_DISABLED) ||\n rootElement.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n input.checked = !this._element.classList.contains(CLASS_NAME_ACTIVE)\n EventHandler.trigger(input, 'change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(CLASS_NAME_ACTIVE))\n }\n\n if (triggerChangeEvent) {\n this._element.classList.toggle(CLASS_NAME_ACTIVE)\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, event => {\n event.preventDefault()\n\n let button = event.target\n if (!button.classList.contains(CLASS_NAME_BUTTON)) {\n button = SelectorEngine.closest(button, SELECTOR_BUTTON)\n }\n\n let data = Data.getData(button, DATA_KEY)\n if (!data) {\n data = new Button(button)\n }\n\n data.toggle()\n})\n\nEventHandler.on(document, EVENT_FOCUS_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, event => {\n const button = SelectorEngine.closest(event.target, SELECTOR_BUTTON)\n\n if (button) {\n button.classList.add(CLASS_NAME_FOCUS)\n }\n})\n\nEventHandler.on(document, EVENT_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, event => {\n const button = SelectorEngine.closest(event.target, SELECTOR_BUTTON)\n\n if (button) {\n button.classList.remove(CLASS_NAME_FOCUS)\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .button to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Button.jQueryInterface\n $.fn[NAME].Constructor = Button\n\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button.jQueryInterface\n }\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(val) {\n if (val === 'true') {\n return true\n }\n\n if (val === 'false') {\n return false\n }\n\n if (val === Number(val).toString()) {\n return Number(val)\n }\n\n if (val === '' || val === 'null') {\n return null\n }\n\n return val\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {\n ...element.dataset\n }\n\n Object.keys(attributes).forEach(key => {\n attributes[key] = normalizeData(attributes[key])\n })\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-${normalizeDataKey(key)}`))\n },\n\n offset(element) {\n const rect = element.getBoundingClientRect()\n\n return {\n top: rect.top + document.body.scrollTop,\n left: rect.left + document.body.scrollLeft\n }\n },\n\n position(element) {\n return {\n top: element.offsetTop,\n left: element.offsetLeft\n }\n },\n\n toggleClass(element, className) {\n if (!element) {\n return\n }\n\n if (element.classList.contains(className)) {\n element.classList.remove(className)\n } else {\n element.classList.add(className)\n }\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n reflow,\n triggerTransitionEnd,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n}\n\nconst DIRECTION_NEXT = 'next'\nconst DIRECTION_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_RIGHT = 'carousel-item-right'\nconst CLASS_NAME_LEFT = 'carousel-item-left'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_ITEM = '.active.carousel-item'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-slide], [data-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-ride=\"carousel\"]'\n\nconst PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(DIRECTION_NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(DIRECTION_PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (SelectorEngine.findOne(SELECTOR_NEXT_PREV, this._element)) {\n triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config && this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex ?\n DIRECTION_NEXT :\n DIRECTION_PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n Data.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler\n .on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler\n .on(this._element, EVENT_MOUSEENTER, event => this.pause(event))\n EventHandler\n .on(this._element, EVENT_MOUSELEAVE, event => this.cycle(event))\n }\n\n if (this._config.touch && this._touchSupported) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n const start = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchStartX = event.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.touches[0].clientX\n }\n }\n\n const move = event => {\n // ensure swiping with one touch and not pinching\n if (event.touches && event.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n\n this.touchTimeout = setTimeout(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n SelectorEngine.find(SELECTOR_ITEM_IMG, this._element).forEach(itemImg => {\n EventHandler.on(itemImg, EVENT_DRAG_START, e => e.preventDefault())\n })\n\n if (this._pointerEvent) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => start(event))\n EventHandler.on(this._element, EVENT_POINTERUP, event => end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => start(event))\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => move(event))\n EventHandler.on(this._element, EVENT_TOUCHEND, event => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode ?\n SelectorEngine.find(SELECTOR_ITEM, element.parentNode) :\n []\n\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === DIRECTION_NEXT\n const isPrevDirection = direction === DIRECTION_PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = (isPrevDirection && activeIndex === 0) ||\n (isNextDirection && activeIndex === lastItemIndex)\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === DIRECTION_PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] :\n this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element))\n\n return EventHandler.trigger(this._element, EVENT_SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = SelectorEngine.find(SELECTOR_ACTIVE, this._indicatorsElement)\n for (let i = 0; i < indicators.length; i++) {\n indicators[i].classList.remove(CLASS_NAME_ACTIVE)\n }\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n nextIndicator.classList.add(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || (activeElement &&\n this._getItemByDirection(direction, activeElement))\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === DIRECTION_NEXT) {\n directionalClassName = CLASS_NAME_LEFT\n orderClassName = CLASS_NAME_NEXT\n eventDirectionName = DIRECTION_LEFT\n } else {\n directionalClassName = CLASS_NAME_RIGHT\n orderClassName = CLASS_NAME_PREV\n eventDirectionName = DIRECTION_RIGHT\n }\n\n if (nextElement && nextElement.classList.contains(CLASS_NAME_ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.defaultPrevented) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n if (this._element.classList.contains(CLASS_NAME_SLIDE)) {\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = getTransitionDurationFromElement(activeElement)\n\n EventHandler\n .one(activeElement, TRANSITION_END, () => {\n nextElement.classList.remove(directionalClassName)\n nextElement.classList.remove(orderClassName)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n activeElement.classList.remove(orderClassName)\n activeElement.classList.remove(directionalClassName)\n\n this._isSliding = false\n\n setTimeout(() => {\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }, 0)\n })\n\n emulateTransitionEnd(activeElement, transitionDuration)\n } else {\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n this._isSliding = false\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static carouselInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n let _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element)\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(element, _config)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Carousel.carouselInterface(this, config)\n })\n }\n\n static dataApiClickHandler(event) {\n const target = getElementFromSelector(this)\n\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel.carouselInterface(target, config)\n\n if (slideIndex) {\n Data.getData(target, DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler\n .on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel.dataApiClickHandler)\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n for (let i = 0, len = carousels.length; i < len; i++) {\n Carousel.carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY))\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .carousel to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Carousel.jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel.jQueryInterface\n }\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n toggle: true,\n parent: ''\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(string|element)'\n}\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.show, .collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"collapse\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = SelectorEngine.find(\n `${SELECTOR_DATA_TOGGLE}[href=\"#${element.id}\"],` +\n `${SELECTOR_DATA_TOGGLE}[data-target=\"#${element.id}\"]`\n )\n\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = getSelectorFromElement(elem)\n const filterElement = SelectorEngine.find(selector)\n .filter(foundElem => foundElem === element)\n\n if (selector !== null && filterElement.length) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = SelectorEngine.find(SELECTOR_ACTIVES, this._parent)\n .filter(elem => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(CLASS_NAME_COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n const container = SelectorEngine.findOne(this._selector)\n if (actives) {\n const tempActiveData = actives.filter(elem => container !== elem)\n activesData = tempActiveData[0] ? Data.getData(tempActiveData[0], DATA_KEY) : null\n\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n if (actives) {\n actives.forEach(elemActive => {\n if (container !== elemActive) {\n Collapse.collapseInterface(elemActive, 'hide')\n }\n\n if (!activesData) {\n Data.setData(elemActive, DATA_KEY, null)\n }\n })\n }\n\n const dimension = this._getDimension()\n\n this._element.classList.remove(CLASS_NAME_COLLAPSE)\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n this._triggerArray.forEach(element => {\n element.classList.remove(CLASS_NAME_COLLAPSED)\n element.setAttribute('aria-expanded', true)\n })\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE)\n this._element.classList.add(CLASS_NAME_SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n\n emulateTransitionEnd(this._element, transitionDuration)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n if (startEvent.defaultPrevented) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n reflow(this._element)\n\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n this._element.classList.remove(CLASS_NAME_COLLAPSE)\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const elem = getElementFromSelector(trigger)\n\n if (elem && !elem.classList.contains(CLASS_NAME_SHOW)) {\n trigger.classList.add(CLASS_NAME_COLLAPSED)\n trigger.setAttribute('aria-expanded', false)\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = this._element.classList.contains(WIDTH)\n return hasWidth ? WIDTH : HEIGHT\n }\n\n _getParent() {\n let { parent } = this._config\n\n if (isElement(parent)) {\n // it's a jQuery object\n if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {\n parent = parent[0]\n }\n } else {\n parent = SelectorEngine.findOne(parent)\n }\n\n const selector = `${SELECTOR_DATA_TOGGLE}[data-parent=\"${parent}\"]`\n\n SelectorEngine.find(selector, parent)\n .forEach(element => {\n const selected = getElementFromSelector(element)\n\n this._addAriaAndCollapsedClass(\n selected,\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (element) {\n const isOpen = element.classList.contains(CLASS_NAME_SHOW)\n\n if (triggerArray.length) {\n triggerArray.forEach(elem => {\n if (isOpen) {\n elem.classList.remove(CLASS_NAME_COLLAPSED)\n } else {\n elem.classList.add(CLASS_NAME_COLLAPSED)\n }\n\n elem.setAttribute('aria-expanded', isOpen)\n })\n }\n }\n }\n\n // Static\n\n static collapseInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Collapse.collapseInterface(this, config)\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A') {\n event.preventDefault()\n }\n\n const triggerData = Manipulator.getDataAttributes(this)\n const selector = getSelectorFromElement(this)\n const selectorElements = SelectorEngine.find(selector)\n\n selectorElements.forEach(element => {\n const data = Data.getData(element, DATA_KEY)\n let config\n if (data) {\n // update parent attribute\n if (data._parent === null && typeof triggerData.parent === 'string') {\n data._config.parent = triggerData.parent\n data._parent = data._getParent()\n }\n\n config = 'toggle'\n } else {\n config = triggerData\n }\n\n Collapse.collapseInterface(element, config)\n })\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .collapse to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Collapse.jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse.jQueryInterface\n }\n}\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getElementFromSelector,\n isElement,\n isVisible,\n noop,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\n\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPRIGHT = 'dropright'\nconst CLASS_NAME_DROPLEFT = 'dropleft'\nconst CLASS_NAME_MENURIGHT = 'dropdown-menu-right'\nconst CLASS_NAME_NAVBAR = 'navbar'\nconst CLASS_NAME_POSITION_STATIC = 'position-static'\n\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"dropdown\"]'\nconst SELECTOR_FORM_CHILD = '.dropdown form'\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = 'top-start'\nconst PLACEMENT_TOPEND = 'top-end'\nconst PLACEMENT_BOTTOM = 'bottom-start'\nconst PLACEMENT_BOTTOMEND = 'bottom-end'\nconst PLACEMENT_RIGHT = 'right-start'\nconst PLACEMENT_LEFT = 'left-start'\n\nconst Default = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n const isActive = this._element.classList.contains(CLASS_NAME_SHOW)\n\n Dropdown.clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show()\n }\n\n show() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || this._menu.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n parent.classList.add(CLASS_NAME_POSITION_STATIC)\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n !SelectorEngine.closest(parent, SELECTOR_NAVBAR_NAV)) {\n [].concat(...document.body.children)\n .forEach(elem => EventHandler.on(elem, 'mouseover', null, noop()))\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n Manipulator.toggleClass(this._menu, CLASS_NAME_SHOW)\n Manipulator.toggleClass(this._element, CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_SHOWN, relatedTarget)\n }\n\n hide() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || !this._menu.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n Manipulator.toggleClass(this._menu, CLASS_NAME_SHOW)\n Manipulator.toggleClass(this._element, CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._element, EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n return SelectorEngine.next(this._element, SELECTOR_MENU)[0]\n }\n\n _getPlacement() {\n const parentDropdown = this._element.parentNode\n let placement = PLACEMENT_BOTTOM\n\n // Handle dropup\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n placement = PLACEMENT_TOP\n if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_TOPEND\n }\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPRIGHT)) {\n placement = PLACEMENT_RIGHT\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPLEFT)) {\n placement = PLACEMENT_LEFT\n } else if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_BOTTOMEND\n }\n\n return placement\n }\n\n _detectNavbar() {\n return Boolean(SelectorEngine.closest(this._element, `.${CLASS_NAME_NAVBAR}`))\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets, this._element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static dropdownInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Dropdown.dropdownInterface(this, config)\n })\n }\n\n static clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n (event.type === 'keyup' && event.which !== TAB_KEYCODE))) {\n return\n }\n\n const toggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown.getParentFromElement(toggles[i])\n const context = Data.getData(toggles[i], DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!toggles[i].classList.contains(CLASS_NAME_SHOW)) {\n continue\n }\n\n if (event && ((event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName)) ||\n (event.type === 'keyup' && event.which === TAB_KEYCODE)) &&\n dropdownMenu.contains(event.target)) {\n continue\n }\n\n const hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n [].concat(...document.body.children)\n .forEach(elem => EventHandler.off(elem, 'mouseover', null, noop()))\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n dropdownMenu.classList.remove(CLASS_NAME_SHOW)\n toggles[i].classList.remove(CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget)\n }\n }\n\n static getParentFromElement(element) {\n return getElementFromSelector(element) || element.parentNode\n }\n\n static dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ?\n event.which === SPACE_KEYCODE || (event.which !== ESCAPE_KEYCODE &&\n ((event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE) ||\n SelectorEngine.closest(event.target, SELECTOR_MENU))) :\n !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || this.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this)\n const isActive = this.classList.contains(CLASS_NAME_SHOW)\n\n if (event.which === ESCAPE_KEYCODE) {\n const button = this.matches(SELECTOR_DATA_TOGGLE) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0]\n button.focus()\n Dropdown.clearMenus()\n return\n }\n\n if (!isActive || event.which === SPACE_KEYCODE) {\n Dropdown.clearMenus()\n return\n }\n\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, parent)\n .filter(isVisible)\n\n if (!items.length) {\n return\n }\n\n let index = items.indexOf(event.target) || 0\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n items[index].focus()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown.dropdownInterface(this, 'toggle')\n})\nEventHandler\n .on(document, EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, e => e.stopPropagation())\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .dropdown to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Dropdown.jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown.jQueryInterface\n }\n}\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: 'boolean'\n}\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SCROLLABLE = 'modal-dialog-scrollable'\nconst CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure'\nconst CLASS_NAME_BACKDROP = 'modal-backdrop'\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"modal\"]'\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"modal\"]'\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, element)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget\n })\n\n if (this._isShown || showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.on(this._element,\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n event => this.hide(event)\n )\n\n EventHandler.on(this._dialog, EVENT_MOUSEDOWN_DISMISS, () => {\n EventHandler.one(this._element, EVENT_MOUSEUP_DISMISS, event => {\n if (event.target === this._element) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n const transition = this._element.classList.contains(CLASS_NAME_FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.off(document, EVENT_FOCUSIN)\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n EventHandler.off(this._dialog, EVENT_MOUSEDOWN_DISMISS)\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, event => this._hideModal(event))\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\n\n /**\n * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `EVENT_CLICK_DATA_API` event that should remain\n */\n EventHandler.off(document, EVENT_FOCUSIN)\n\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = this._element.classList.contains(CLASS_NAME_FADE)\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n\n if (this._dialog.classList.contains(CLASS_NAME_SCROLLABLE) && modalBody) {\n modalBody.scrollTop = 0\n } else {\n this._element.scrollTop = 0\n }\n\n if (transition) {\n reflow(this._element)\n }\n\n this._element.classList.add(CLASS_NAME_SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget\n })\n }\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._dialog)\n\n EventHandler.one(this._dialog, TRANSITION_END, transitionComplete)\n emulateTransitionEnd(this._dialog, transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n EventHandler.off(document, EVENT_FOCUSIN) // guard against infinite focus loop\n EventHandler.on(document, EVENT_FOCUSIN, event => {\n if (document !== event.target &&\n this._element !== event.target &&\n !this._element.contains(event.target)) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown) {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (this._config.keyboard && event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n } else if (!this._config.keyboard && event.which === ESCAPE_KEYCODE) {\n this._triggerBackdropTransition()\n }\n })\n } else {\n EventHandler.off(this._element, EVENT_KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n EventHandler.on(window, EVENT_RESIZE, () => this._adjustDialog())\n } else {\n EventHandler.off(window, EVENT_RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._isTransitioning = false\n this._showBackdrop(() => {\n document.body.classList.remove(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n })\n }\n\n _removeBackdrop() {\n this._backdrop.parentNode.removeChild(this._backdrop)\n this._backdrop = null\n }\n\n _showBackdrop(callback) {\n const animate = this._element.classList.contains(CLASS_NAME_FADE) ?\n CLASS_NAME_FADE :\n ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = CLASS_NAME_BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n document.body.appendChild(this._backdrop)\n\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, event => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n\n if (event.target !== event.currentTarget) {\n return\n }\n\n this._triggerBackdropTransition()\n })\n\n if (animate) {\n reflow(this._backdrop)\n }\n\n this._backdrop.classList.add(CLASS_NAME_SHOW)\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n\n EventHandler.one(this._backdrop, TRANSITION_END, callback)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n this._backdrop.classList.remove(CLASS_NAME_SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n callback()\n }\n\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else {\n callback()\n }\n }\n\n _triggerBackdropTransition() {\n if (this._config.backdrop === 'static') {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n const modalTransitionDuration = getTransitionDurationFromElement(this._element)\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n })\n emulateTransitionEnd(this._element, modalTransitionDuration)\n this._element.focus()\n } else {\n this.hide()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n SelectorEngine.find(SELECTOR_FIXED_CONTENT)\n .forEach(element => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = window.getComputedStyle(element)['padding-right']\n Manipulator.setDataAttribute(element, 'padding-right', actualPadding)\n element.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n })\n\n // Adjust sticky content margin\n SelectorEngine.find(SELECTOR_STICKY_CONTENT)\n .forEach(element => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = window.getComputedStyle(element)['margin-right']\n Manipulator.setDataAttribute(element, 'margin-right', actualMargin)\n element.style.marginRight = `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = window.getComputedStyle(document.body)['padding-right']\n\n Manipulator.setDataAttribute(document.body, 'padding-right', actualPadding)\n document.body.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n }\n\n document.body.classList.add(CLASS_NAME_OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n SelectorEngine.find(SELECTOR_FIXED_CONTENT)\n .forEach(element => {\n const padding = Manipulator.getDataAttribute(element, 'padding-right')\n if (typeof padding !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'padding-right')\n element.style.paddingRight = padding\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n SelectorEngine.find(`${SELECTOR_STICKY_CONTENT}`)\n .forEach(element => {\n const margin = Manipulator.getDataAttribute(element, 'margin-right')\n if (typeof margin !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'margin-right')\n element.style.marginRight = margin\n }\n })\n\n // Restore body padding\n const padding = Manipulator.getDataAttribute(document.body, 'padding-right')\n if (typeof padding === 'undefined') {\n document.body.style.paddingRight = ''\n } else {\n Manipulator.removeDataAttribute(document.body, 'padding-right')\n document.body.style.paddingRight = padding\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(this),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n EventHandler.one(target, EVENT_SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n let data = Data.getData(target, DATA_KEY)\n if (!data) {\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n\n data = new Modal(target, config)\n }\n\n data.show(this)\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .modal to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Modal.jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal.jQueryInterface\n }\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+=*$/i\n\nconst allowedAttribute = (attr, allowedAttributeList) => {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return SAFE_URL_PATTERN.test(attr.nodeValue) || DATA_URL_PATTERN.test(attr.nodeValue)\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter(attrRegex => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, len = regExp.length; i < len; i++) {\n if (regExp[i].test(attrName)) {\n return true\n }\n }\n\n return false\n}\n\nexport const DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\nexport function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const whitelistKeys = Object.keys(whiteList)\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (whitelistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].concat(...el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n findShadowRoot,\n getTransitionDurationFromElement,\n getUID,\n isElement,\n noop,\n typeCheckConfig\n} from './util/index'\nimport {\n DefaultWhitelist,\n sanitizeHtml\n} from './util/sanitizer'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']\n\nconst DefaultType = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n whiteList: 'object',\n popperConfig: '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n}\n\nconst Default = {\n animation: true,\n template: '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"tooltip-arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\n sanitize: true,\n sanitizeFn: null,\n whiteList: DefaultWhitelist,\n popperConfig: null\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst HOVER_STATE_SHOW = 'show'\nconst HOVER_STATE_OUT = 'out'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n Data.setData(element, this.constructor.DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if (this.getTipElement().classList.contains(CLASS_NAME_SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n Data.removeData(this.element, this.constructor.DATA_KEY)\n\n EventHandler.off(this.element, this.constructor.EVENT_KEY)\n EventHandler.off(SelectorEngine.closest(this.element, `.${CLASS_NAME_MODAL}`), 'hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n this.tip.parentNode.removeChild(this.tip)\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if (this.element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (this.isWithContent() && this._isEnabled) {\n const showEvent = EventHandler.trigger(this.element, this.constructor.Event.SHOW)\n const shadowRoot = findShadowRoot(this.element)\n const isInTheDom = shadowRoot === null ?\n this.element.ownerDocument.documentElement.contains(this.element) :\n shadowRoot.contains(this.element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n tip.classList.add(CLASS_NAME_FADE)\n }\n\n const placement = typeof this.config.placement === 'function' ?\n this.config.placement.call(this, tip, this.element) :\n this.config.placement\n\n const attachment = this._getAttachment(placement)\n this._addAttachmentClass(attachment)\n\n const container = this._getContainer()\n Data.setData(tip, this.constructor.DATA_KEY, this)\n\n if (!this.element.ownerDocument.documentElement.contains(this.tip)) {\n container.appendChild(tip)\n }\n\n EventHandler.trigger(this.element, this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\n\n tip.classList.add(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n [].concat(...document.body.children).forEach(element => {\n EventHandler.on(element, 'mouseover', noop())\n })\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n EventHandler.trigger(this.element, this.constructor.Event.SHOWN)\n\n if (prevHoverState === HOVER_STATE_OUT) {\n this._leave(null, this)\n }\n }\n\n if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n const transitionDuration = getTransitionDurationFromElement(this.tip)\n EventHandler.one(this.tip, TRANSITION_END, complete)\n emulateTransitionEnd(this.tip, transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide() {\n const tip = this.getTipElement()\n const complete = () => {\n if (this._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n EventHandler.trigger(this.element, this.constructor.Event.HIDDEN)\n this._popper.destroy()\n }\n\n const hideEvent = EventHandler.trigger(this.element, this.constructor.Event.HIDE)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n tip.classList.remove(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n [].concat(...document.body.children)\n .forEach(element => EventHandler.off(element, 'mouseover', noop))\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n\n if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n const transitionDuration = getTransitionDurationFromElement(tip)\n\n EventHandler.one(tip, TRANSITION_END, complete)\n emulateTransitionEnd(tip, transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n getTipElement() {\n if (this.tip) {\n return this.tip\n }\n\n const element = document.createElement('div')\n element.innerHTML = this.config.template\n\n this.tip = element.children[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent(SelectorEngine.findOne(SELECTOR_TOOLTIP_INNER, tip), this.getTitle())\n tip.classList.remove(CLASS_NAME_FADE)\n tip.classList.remove(CLASS_NAME_SHOW)\n }\n\n setElementContent(element, content) {\n if (element === null) {\n return\n }\n\n if (typeof content === 'object' && isElement(content)) {\n if (content.jquery) {\n content = content[0]\n }\n\n // content is a DOM node or a jQuery\n if (this.config.html) {\n if (content.parentNode !== element) {\n element.innerHTML = ''\n element.appendChild(content)\n }\n } else {\n element.innerText = content.textContent\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn)\n }\n\n element.innerHTML = content\n } else {\n element.innerText = content\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function' ?\n this.config.title.call(this.element) :\n this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: `.${this.constructor.NAME}-arrow`\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: data => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: data => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...this.config.offset(data.offsets, this.element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (isElement(this.config.container)) {\n return this.config.container\n }\n\n return SelectorEngine.findOne(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach(trigger => {\n if (trigger === 'click') {\n EventHandler.on(this.element,\n this.constructor.Event.CLICK,\n this.config.selector,\n event => this.toggle(event)\n )\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n EventHandler.on(this.element,\n eventIn,\n this.config.selector,\n event => this._enter(event)\n )\n EventHandler.on(this.element,\n eventOut,\n this.config.selector,\n event => this._leave(event)\n )\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n EventHandler.on(SelectorEngine.closest(this.element, `.${CLASS_NAME_MODAL}`),\n 'hide.bs.modal',\n this._hideModalHandler\n )\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = true\n }\n\n if (context.getTipElement().classList.contains(CLASS_NAME_SHOW) ||\n context._hoverState === HOVER_STATE_SHOW) {\n context._hoverState = HOVER_STATE_SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this.element)\n\n Object.keys(dataAttributes)\n .forEach(dataAttr => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n if (config && typeof config.container === 'object' && config.container.jquery) {\n config.container = config.container[0]\n }\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n const popperInstance = popperData.instance\n this.tip = popperInstance.popper\n this._cleanTipClass()\n this._addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n tip.classList.remove(CLASS_NAME_FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tooltip to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tooltip.jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip.jQueryInterface\n }\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport SelectorEngine from './dom/selector-engine'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement: 'right',\n trigger: 'click',\n content: '',\n template: '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"popover-arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(string|element|function)'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n setContent() {\n const tip = this.getTipElement()\n\n // we use append for html objects to maintain js events\n this.setElementContent(SelectorEngine.findOne(SELECTOR_TITLE, tip), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n\n this.setElementContent(SelectorEngine.findOne(SELECTOR_CONTENT, tip), content)\n\n tip.classList.remove(CLASS_NAME_FADE)\n tip.classList.remove(CLASS_NAME_SHOW)\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n Data.setData(this, DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Popover.jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover.jQueryInterface\n }\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getSelectorFromElement,\n getUID,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n offset: 10,\n method: 'auto',\n target: ''\n}\n\nconst DefaultType = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n}\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_SCROLL = `scroll${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-spy=\"scroll\"]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst METHOD_OFFSET = 'offset'\nconst METHOD_POSITION = 'position'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${SELECTOR_NAV_LINKS},` +\n `${this._config.target} ${SELECTOR_LIST_ITEMS},` +\n `${this._config.target} .${CLASS_NAME_DROPDOWN_ITEM}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n EventHandler.on(this._scrollElement, EVENT_SCROLL, event => this._process(event))\n\n this.refresh()\n this._process()\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window ?\n METHOD_OFFSET :\n METHOD_POSITION\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod :\n this._config.method\n\n const offsetBase = offsetMethod === METHOD_POSITION ?\n this._getScrollTop() :\n 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = SelectorEngine.find(this._selector)\n\n targets\n .map(element => {\n let target\n const targetSelector = getSelectorFromElement(element)\n\n if (targetSelector) {\n target = SelectorEngine.findOne(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n return [\n Manipulator[offsetMethod](target).top + offsetBase,\n targetSelector\n ]\n }\n }\n\n return null\n })\n .filter(item => item)\n .sort((a, b) => a[0] - b[0])\n .forEach(item => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._scrollElement, EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.target !== 'string') {\n let { id } = config.target\n if (!id) {\n id = getUID(NAME)\n config.target.id = id\n }\n\n config.target = `#${id}`\n }\n\n typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset :\n this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight :\n this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n const offsetLength = this._offsets.length\n for (let i = offsetLength; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector.split(',')\n .map(selector => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const link = SelectorEngine.findOne(queries.join(','))\n\n if (link.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n SelectorEngine\n .findOne(SELECTOR_DROPDOWN_TOGGLE, SelectorEngine.closest(link, SELECTOR_DROPDOWN))\n .classList.add(CLASS_NAME_ACTIVE)\n\n link.classList.add(CLASS_NAME_ACTIVE)\n } else {\n // Set triggered link as active\n link.classList.add(CLASS_NAME_ACTIVE)\n\n SelectorEngine\n .parents(link, SELECTOR_NAV_LIST_GROUP)\n .forEach(listGroup => {\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n SelectorEngine.prev(listGroup, `${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`)\n .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n\n // Handle special case when .nav-link is inside .nav-item\n SelectorEngine.prev(listGroup, SELECTOR_NAV_ITEMS)\n .forEach(navItem => {\n SelectorEngine.children(navItem, SELECTOR_NAV_LINKS)\n .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n })\n })\n }\n\n EventHandler.trigger(this._scrollElement, EVENT_ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n SelectorEngine.find(this._selector)\n .filter(node => node.classList.contains(CLASS_NAME_ACTIVE))\n .forEach(node => node.classList.remove(CLASS_NAME_ACTIVE))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n SelectorEngine.find(SELECTOR_DATA_SPY)\n .forEach(spy => new ScrollSpy(spy, Manipulator.getDataAttributes(spy)))\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = ScrollSpy.jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy.jQueryInterface\n }\n}\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n reflow\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_UL = ':scope > li > .active'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_ACTIVE_CHILD = ':scope > .dropdown-menu .active'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n\n Data.setData(this._element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if ((this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n this._element.classList.contains(CLASS_NAME_ACTIVE)) ||\n this._element.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n let previous\n const target = getElementFromSelector(this._element)\n const listElement = SelectorEngine.closest(this._element, SELECTOR_NAV_LIST_GROUP)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE\n previous = SelectorEngine.find(itemSelector, listElement)\n previous = previous[previous.length - 1]\n }\n\n let hideEvent = null\n\n if (previous) {\n hideEvent = EventHandler.trigger(previous, EVENT_HIDE, {\n relatedTarget: this._element\n })\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget: previous\n })\n\n if (showEvent.defaultPrevented ||\n (hideEvent !== null && hideEvent.defaultPrevented)) {\n return\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n EventHandler.trigger(previous, EVENT_HIDDEN, {\n relatedTarget: this._element\n })\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget: previous\n })\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ?\n SelectorEngine.find(SELECTOR_ACTIVE_UL, container) :\n SelectorEngine.children(container, SELECTOR_ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n (active && active.classList.contains(CLASS_NAME_FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = getTransitionDurationFromElement(active)\n active.classList.remove(CLASS_NAME_SHOW)\n\n EventHandler.one(active, TRANSITION_END, complete)\n emulateTransitionEnd(active, transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n active.classList.remove(CLASS_NAME_ACTIVE)\n\n const dropdownChild = SelectorEngine.findOne(SELECTOR_DROPDOWN_ACTIVE_CHILD, active.parentNode)\n\n if (dropdownChild) {\n dropdownChild.classList.remove(CLASS_NAME_ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n element.classList.add(CLASS_NAME_ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n reflow(element)\n\n if (element.classList.contains(CLASS_NAME_FADE)) {\n element.classList.add(CLASS_NAME_SHOW)\n }\n\n if (element.parentNode && element.parentNode.classList.contains(CLASS_NAME_DROPDOWN_MENU)) {\n const dropdownElement = SelectorEngine.closest(element, SELECTOR_DROPDOWN)\n\n if (dropdownElement) {\n SelectorEngine.find(SELECTOR_DROPDOWN_TOGGLE)\n .forEach(dropdown => dropdown.classList.add(CLASS_NAME_ACTIVE))\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n data.show()\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tab to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tab.jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab.jQueryInterface\n }\n}\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getTransitionDurationFromElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n}\n\nconst Default = {\n animation: true,\n autohide: true,\n delay: 500\n}\n\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"toast\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n show() {\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n if (this._config.animation) {\n this._element.classList.add(CLASS_NAME_FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(CLASS_NAME_SHOWING)\n this._element.classList.add(CLASS_NAME_SHOW)\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(CLASS_NAME_HIDE)\n reflow(this._element)\n this._element.classList.add(CLASS_NAME_SHOWING)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const complete = () => {\n this._element.classList.add(CLASS_NAME_HIDE)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n this._timeout = null\n\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this._element.classList.remove(CLASS_NAME_SHOW)\n }\n\n EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n Data.removeData(this._element, DATA_KEY)\n\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...typeof config === 'object' && config ? config : {}\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(\n this._element,\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n () => this.hide()\n )\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .toast to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Toast.jQueryInterface\n $.fn[NAME].Constructor = Toast\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast.jQueryInterface\n }\n}\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): index.umd.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Alert from './src/alert'\nimport Button from './src/button'\nimport Carousel from './src/carousel'\nimport Collapse from './src/collapse'\nimport Dropdown from './src/dropdown'\nimport Modal from './src/modal'\nimport Popover from './src/popover'\nimport ScrollSpy from './src/scrollspy'\nimport Tab from './src/tab'\nimport Toast from './src/toast'\nimport Tooltip from './src/tooltip'\n\nexport default {\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n ScrollSpy,\n Tab,\n Toast,\n Tooltip\n}\n"],"names":["MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","undefined","toString","call","match","toLowerCase","getUID","prefix","Math","random","document","getElementById","getSelector","element","selector","getAttribute","hrefAttr","trim","getSelectorFromElement","querySelector","getElementFromSelector","getTransitionDurationFromElement","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","dispatchEvent","Event","isElement","nodeType","emulateTransitionEnd","duration","called","durationPadding","emulatedDuration","listener","removeEventListener","addEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","isVisible","style","parentNode","elementStyle","parentNodeStyle","display","visibility","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","mapData","storeData","id","set","key","data","get","keyProperties","delete","Data","setData","instance","getData","removeData","find","Element","prototype","querySelectorAll","findOne","defaultPreventedPreservedOnDispatch","e","CustomEvent","cancelable","createElement","preventDefault","defaultPrevented","scopeSelectorRegex","supportScopeQuery","_","hasId","Boolean","nodeList","replace","removeAttribute","matches","$","namespaceRegex","stripNameRegex","keyEventRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","getUidEvent","uid","getEvent","fixEvent","event","which","type","charCode","keyCode","delegateTarget","bootstrapHandler","fn","handler","oneOff","EventHandler","off","apply","bootstrapDelegationHandler","domElements","target","i","length","findHandler","events","delegationSelector","uidEventList","len","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","custom","isNative","indexOf","addHandler","handlers","previousFn","removeHandler","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","on","one","inNamespace","isNamespace","charAt","elementEvent","slice","keyHandlers","trigger","args","jQueryEvent","bubbles","nativeDispatch","evt","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","createEvent","initEvent","defineProperty","NODE_TEXT","SelectorEngine","concat","findFn","children","filter","child","parents","ancestor","Node","ELEMENT_NODE","push","closest","prev","previous","previousElementSibling","next","nextElementSibling","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","SELECTOR_DISMISS","EVENT_CLOSE","EVENT_CLOSED","EVENT_CLICK_DATA_API","CLASSNAME_ALERT","CLASSNAME_FADE","CLASSNAME_SHOW","Alert","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","_removeElement","dispose","parent","classList","remove","contains","_destroyElement","removeChild","jQueryInterface","each","handleDismiss","alertInstance","getInstance","JQUERY_NO_CONFLICT","Constructor","noConflict","CLASS_NAME_ACTIVE","CLASS_NAME_BUTTON","CLASS_NAME_DISABLED","CLASS_NAME_FOCUS","SELECTOR_DATA_TOGGLE_CARROT","SELECTOR_DATA_TOGGLE","SELECTOR_INPUT","SELECTOR_ACTIVE","SELECTOR_BUTTON","EVENT_FOCUS_DATA_API","EVENT_BLUR_DATA_API","Button","toggle","triggerChangeEvent","addAriaPressed","input","checked","activeElement","focus","setAttribute","button","add","normalizeData","val","Number","normalizeDataKey","chr","Manipulator","setDataAttribute","removeDataAttribute","getDataAttributes","attributes","dataset","getDataAttribute","offset","rect","getBoundingClientRect","top","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft","toggleClass","className","ARROW_LEFT_KEYCODE","ARROW_RIGHT_KEYCODE","TOUCHEVENT_COMPAT_WAIT","SWIPE_THRESHOLD","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","DIRECTION_NEXT","DIRECTION_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","EVENT_DRAG_START","EVENT_LOAD_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_SLIDE","CLASS_NAME_RIGHT","CLASS_NAME_LEFT","CLASS_NAME_NEXT","CLASS_NAME_PREV","CLASS_NAME_POINTER_EVENT","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM","SELECTOR_ITEM_IMG","SELECTOR_NEXT_PREV","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","MSPointerEvent","_addEventListeners","_slide","nextWhenVisible","hidden","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","_handleSwipe","absDeltax","abs","_keydown","_addTouchEventListeners","start","pointerType","clientX","touches","move","end","clearTimeout","itemImg","tagName","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","from","_setActiveIndicatorElement","indicators","nextIndicator","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","slideEvent","nextElementInterval","parseInt","defaultInterval","carouselInterface","action","TypeError","ride","dataApiClickHandler","slideIndex","carousels","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_SHOW","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","WIDTH","HEIGHT","SELECTOR_ACTIVES","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","container","tempActiveData","startEvent","elemActive","collapseInterface","dimension","_getDimension","setTransitioning","complete","capitalizedDimension","scrollSize","triggerArrayLength","isTransitioning","hasWidth","jquery","selected","triggerArray","isOpen","triggerData","selectorElements","ESCAPE_KEYCODE","SPACE_KEYCODE","TAB_KEYCODE","ARROW_UP_KEYCODE","ARROW_DOWN_KEYCODE","RIGHT_MOUSE_BUTTON_WHICH","REGEXP_KEYDOWN","EVENT_CLICK","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","CLASS_NAME_DROPUP","CLASS_NAME_DROPRIGHT","CLASS_NAME_DROPLEFT","CLASS_NAME_MENURIGHT","CLASS_NAME_NAVBAR","CLASS_NAME_POSITION_STATIC","SELECTOR_FORM_CHILD","SELECTOR_MENU","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","PLACEMENT_TOP","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","flip","boundary","reference","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","clearMenus","getParentFromElement","showEvent","Popper","referenceElement","_getPopperConfig","hideEvent","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","parentDropdown","placement","_getOffset","offsets","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","dropdownInterface","toggles","context","clickEvent","dropdownMenu","dataApiKeydownHandler","items","backdrop","EVENT_HIDE_PREVENTED","EVENT_FOCUSIN","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_KEYDOWN_DISMISS","EVENT_MOUSEUP_DISMISS","EVENT_MOUSEDOWN_DISMISS","CLASS_NAME_SCROLLABLE","CLASS_NAME_SCROLLBAR_MEASURER","CLASS_NAME_BACKDROP","CLASS_NAME_OPEN","CLASS_NAME_FADE","CLASS_NAME_STATIC","SELECTOR_DIALOG","SELECTOR_MODAL_BODY","SELECTOR_DATA_DISMISS","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","handleUpdate","modalBody","appendChild","_enforceFocus","transitionComplete","_triggerBackdropTransition","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","animate","currentTarget","backdropTransitionDuration","callbackRemove","modalTransitionDuration","isModalOverflowing","scrollHeight","clientHeight","paddingLeft","paddingRight","right","innerWidth","_getScrollbarWidth","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","margin","scrollDiv","scrollbarWidth","width","clientWidth","uriAttrs","ARIA_ATTRIBUTE_PATTERN","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attr","allowedAttributeList","attrName","nodeName","nodeValue","regExp","attrRegex","DefaultWhitelist","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","sanitizeHtml","unsafeHtml","whiteList","sanitizeFn","domParser","DOMParser","createdDocument","parseFromString","whitelistKeys","elements","el","elName","attributeList","whitelistedAttributes","innerHTML","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","fallbackPlacement","sanitize","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","CLASS_NAME_MODAL","HOVER_STATE_SHOW","HOVER_STATE_OUT","SELECTOR_TOOLTIP_INNER","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","_addAttachmentClass","_getContainer","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","innerText","textContent","defaultBsConfig","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","triggers","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","tabClass","map","token","tClass","popperData","popperInstance","popper","initConfigAnimation","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","method","EVENT_ACTIVATE","EVENT_SCROLL","CLASS_NAME_DROPDOWN_ITEM","SELECTOR_DATA_SPY","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_DROPDOWN","SELECTOR_DROPDOWN_TOGGLE","METHOD_OFFSET","METHOD_POSITION","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targets","targetSelector","targetBCR","height","item","sort","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","offsetLength","isActiveTarget","queries","link","join","listGroup","navItem","node","spy","CLASS_NAME_DROPDOWN_MENU","SELECTOR_ACTIVE_UL","SELECTOR_DROPDOWN_ACTIVE_CHILD","Tab","listElement","itemSelector","activeElements","active","_transitionComplete","dropdownChild","dropdownElement","dropdown","CLASS_NAME_HIDE","CLASS_NAME_SHOWING","autohide","Toast"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAA;;;;;;EAOA,IAAMA,OAAO,GAAG,OAAhB;EACA,IAAMC,uBAAuB,GAAG,IAAhC;EACA,IAAMC,cAAc,GAAG,eAAvB;;EAGA,IAAMC,MAAM,GAAG,SAATA,MAAS,CAAAC,GAAG,EAAI;EACpB,MAAIA,GAAG,KAAK,IAAR,IAAgBA,GAAG,KAAKC,SAA5B,EAAuC;EACrC,gBAAUD,GAAV;EACD;;EAED,SAAO,GAAGE,QAAH,CAAYC,IAAZ,CAAiBH,GAAjB,EAAsBI,KAAtB,CAA4B,aAA5B,EAA2C,CAA3C,EAA8CC,WAA9C,EAAP;EACD,CAND;EAQA;;;;;;;EAMA,IAAMC,MAAM,GAAG,SAATA,MAAS,CAAAC,MAAM,EAAI;EACvB,KAAG;EACDA,IAAAA,MAAM,IAAI,CAAC,EAAEC,IAAI,CAACC,MAAL,KAAgBb,OAAlB,CAAX,CADC;EAEF,GAFD,QAESc,QAAQ,CAACC,cAAT,CAAwBJ,MAAxB,CAFT;;EAIA,SAAOA,MAAP;EACD,CAND;;EAQA,IAAMK,WAAW,GAAG,SAAdA,WAAc,CAAAC,OAAO,EAAI;EAC7B,MAAIC,QAAQ,GAAGD,OAAO,CAACE,YAAR,CAAqB,aAArB,CAAf;;EAEA,MAAI,CAACD,QAAD,IAAaA,QAAQ,KAAK,GAA9B,EAAmC;EACjC,QAAME,QAAQ,GAAGH,OAAO,CAACE,YAAR,CAAqB,MAArB,CAAjB;EAEAD,IAAAA,QAAQ,GAAGE,QAAQ,IAAIA,QAAQ,KAAK,GAAzB,GAA+BA,QAAQ,CAACC,IAAT,EAA/B,GAAiD,IAA5D;EACD;;EAED,SAAOH,QAAP;EACD,CAVD;;EAYA,IAAMI,sBAAsB,GAAG,SAAzBA,sBAAyB,CAAAL,OAAO,EAAI;EACxC,MAAMC,QAAQ,GAAGF,WAAW,CAACC,OAAD,CAA5B;;EAEA,MAAIC,QAAJ,EAAc;EACZ,WAAOJ,QAAQ,CAACS,aAAT,CAAuBL,QAAvB,IAAmCA,QAAnC,GAA8C,IAArD;EACD;;EAED,SAAO,IAAP;EACD,CARD;;EAUA,IAAMM,sBAAsB,GAAG,SAAzBA,sBAAyB,CAAAP,OAAO,EAAI;EACxC,MAAMC,QAAQ,GAAGF,WAAW,CAACC,OAAD,CAA5B;EAEA,SAAOC,QAAQ,GAAGJ,QAAQ,CAACS,aAAT,CAAuBL,QAAvB,CAAH,GAAsC,IAArD;EACD,CAJD;;EAMA,IAAMO,gCAAgC,GAAG,SAAnCA,gCAAmC,CAAAR,OAAO,EAAI;EAClD,MAAI,CAACA,OAAL,EAAc;EACZ,WAAO,CAAP;EACD,GAHiD;;;EAAA,8BAS9CS,MAAM,CAACC,gBAAP,CAAwBV,OAAxB,CAT8C;EAAA,MAOhDW,kBAPgD,yBAOhDA,kBAPgD;EAAA,MAQhDC,eARgD,yBAQhDA,eARgD;;EAWlD,MAAMC,uBAAuB,GAAGC,UAAU,CAACH,kBAAD,CAA1C;EACA,MAAMI,oBAAoB,GAAGD,UAAU,CAACF,eAAD,CAAvC,CAZkD;;EAelD,MAAI,CAACC,uBAAD,IAA4B,CAACE,oBAAjC,EAAuD;EACrD,WAAO,CAAP;EACD,GAjBiD;;;EAoBlDJ,EAAAA,kBAAkB,GAAGA,kBAAkB,CAACK,KAAnB,CAAyB,GAAzB,EAA8B,CAA9B,CAArB;EACAJ,EAAAA,eAAe,GAAGA,eAAe,CAACI,KAAhB,CAAsB,GAAtB,EAA2B,CAA3B,CAAlB;EAEA,SAAO,CAACF,UAAU,CAACH,kBAAD,CAAV,GAAiCG,UAAU,CAACF,eAAD,CAA5C,IAAiE5B,uBAAxE;EACD,CAxBD;;EA0BA,IAAMiC,oBAAoB,GAAG,SAAvBA,oBAAuB,CAAAjB,OAAO,EAAI;EACtCA,EAAAA,OAAO,CAACkB,aAAR,CAAsB,IAAIC,KAAJ,CAAUlC,cAAV,CAAtB;EACD,CAFD;;EAIA,IAAMmC,SAAS,GAAG,SAAZA,SAAY,CAAAjC,GAAG;EAAA,SAAI,CAACA,GAAG,CAAC,CAAD,CAAH,IAAUA,GAAX,EAAgBkC,QAApB;EAAA,CAArB;;EAEA,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACtB,OAAD,EAAUuB,QAAV,EAAuB;EAClD,MAAIC,MAAM,GAAG,KAAb;EACA,MAAMC,eAAe,GAAG,CAAxB;EACA,MAAMC,gBAAgB,GAAGH,QAAQ,GAAGE,eAApC;;EACA,WAASE,QAAT,GAAoB;EAClBH,IAAAA,MAAM,GAAG,IAAT;EACAxB,IAAAA,OAAO,CAAC4B,mBAAR,CAA4B3C,cAA5B,EAA4C0C,QAA5C;EACD;;EAED3B,EAAAA,OAAO,CAAC6B,gBAAR,CAAyB5C,cAAzB,EAAyC0C,QAAzC;EACAG,EAAAA,UAAU,CAAC,YAAM;EACf,QAAI,CAACN,MAAL,EAAa;EACXP,MAAAA,oBAAoB,CAACjB,OAAD,CAApB;EACD;EACF,GAJS,EAIP0B,gBAJO,CAAV;EAKD,CAfD;;EAiBA,IAAMK,eAAe,GAAG,SAAlBA,eAAkB,CAACC,aAAD,EAAgBC,MAAhB,EAAwBC,WAAxB,EAAwC;EAC9DC,EAAAA,MAAM,CAACC,IAAP,CAAYF,WAAZ,EACGG,OADH,CACW,UAAAC,QAAQ,EAAI;EACnB,QAAMC,aAAa,GAAGL,WAAW,CAACI,QAAD,CAAjC;EACA,QAAME,KAAK,GAAGP,MAAM,CAACK,QAAD,CAApB;EACA,QAAMG,SAAS,GAAGD,KAAK,IAAIpB,SAAS,CAACoB,KAAD,CAAlB,GAChB,SADgB,GAEhBtD,MAAM,CAACsD,KAAD,CAFR;;EAIA,QAAI,CAAC,IAAIE,MAAJ,CAAWH,aAAX,EAA0BI,IAA1B,CAA+BF,SAA/B,CAAL,EAAgD;EAC9C,YAAM,IAAIG,KAAJ,CACDZ,aAAa,CAACa,WAAd,EAAH,yBACWP,QADX,2BACuCG,SADvC,sCAEsBF,aAFtB,SADI,CAAN;EAID;EACF,GAdH;EAeD,CAhBD;;EAkBA,IAAMO,SAAS,GAAG,SAAZA,SAAY,CAAA9C,OAAO,EAAI;EAC3B,MAAI,CAACA,OAAL,EAAc;EACZ,WAAO,KAAP;EACD;;EAED,MAAIA,OAAO,CAAC+C,KAAR,IAAiB/C,OAAO,CAACgD,UAAzB,IAAuChD,OAAO,CAACgD,UAAR,CAAmBD,KAA9D,EAAqE;EACnE,QAAME,YAAY,GAAGvC,gBAAgB,CAACV,OAAD,CAArC;EACA,QAAMkD,eAAe,GAAGxC,gBAAgB,CAACV,OAAO,CAACgD,UAAT,CAAxC;EAEA,WAAOC,YAAY,CAACE,OAAb,KAAyB,MAAzB,IACLD,eAAe,CAACC,OAAhB,KAA4B,MADvB,IAELF,YAAY,CAACG,UAAb,KAA4B,QAF9B;EAGD;;EAED,SAAO,KAAP;EACD,CAfD;;EAiBA,IAAMC,cAAc,GAAG,SAAjBA,cAAiB,CAAArD,OAAO,EAAI;EAChC,MAAI,CAACH,QAAQ,CAACyD,eAAT,CAAyBC,YAA9B,EAA4C;EAC1C,WAAO,IAAP;EACD,GAH+B;;;EAMhC,MAAI,OAAOvD,OAAO,CAACwD,WAAf,KAA+B,UAAnC,EAA+C;EAC7C,QAAMC,IAAI,GAAGzD,OAAO,CAACwD,WAAR,EAAb;EACA,WAAOC,IAAI,YAAYC,UAAhB,GAA6BD,IAA7B,GAAoC,IAA3C;EACD;;EAED,MAAIzD,OAAO,YAAY0D,UAAvB,EAAmC;EACjC,WAAO1D,OAAP;EACD,GAb+B;;;EAgBhC,MAAI,CAACA,OAAO,CAACgD,UAAb,EAAyB;EACvB,WAAO,IAAP;EACD;;EAED,SAAOK,cAAc,CAACrD,OAAO,CAACgD,UAAT,CAArB;EACD,CArBD;;EAuBA,IAAMW,IAAI,GAAG,SAAPA,IAAO;EAAA,SAAM,YAAY,EAAlB;EAAA,CAAb;;EAEA,IAAMC,MAAM,GAAG,SAATA,MAAS,CAAA5D,OAAO;EAAA,SAAIA,OAAO,CAAC6D,YAAZ;EAAA,CAAtB;;EAEA,IAAMC,SAAS,GAAG,SAAZA,SAAY,GAAM;EAAA,gBACHrD,MADG;EAAA,MACdsD,MADc,WACdA,MADc;;EAGtB,MAAIA,MAAM,IAAI,CAAClE,QAAQ,CAACmE,IAAT,CAAcC,YAAd,CAA2B,gBAA3B,CAAf,EAA6D;EAC3D,WAAOF,MAAP;EACD;;EAED,SAAO,IAAP;EACD,CARD;;EC7KA;;;;;;;EAOA;;;;;EAMA,IAAMG,OAAO,GAAI,YAAM;EACrB,MAAMC,SAAS,GAAG,EAAlB;EACA,MAAIC,EAAE,GAAG,CAAT;EACA,SAAO;EACLC,IAAAA,GADK,eACDrE,OADC,EACQsE,GADR,EACaC,IADb,EACmB;EACtB,UAAI,OAAOvE,OAAO,CAACsE,GAAf,KAAuB,WAA3B,EAAwC;EACtCtE,QAAAA,OAAO,CAACsE,GAAR,GAAc;EACZA,UAAAA,GAAG,EAAHA,GADY;EAEZF,UAAAA,EAAE,EAAFA;EAFY,SAAd;EAIAA,QAAAA,EAAE;EACH;;EAEDD,MAAAA,SAAS,CAACnE,OAAO,CAACsE,GAAR,CAAYF,EAAb,CAAT,GAA4BG,IAA5B;EACD,KAXI;EAYLC,IAAAA,GAZK,eAYDxE,OAZC,EAYQsE,GAZR,EAYa;EAChB,UAAI,CAACtE,OAAD,IAAY,OAAOA,OAAO,CAACsE,GAAf,KAAuB,WAAvC,EAAoD;EAClD,eAAO,IAAP;EACD;;EAED,UAAMG,aAAa,GAAGzE,OAAO,CAACsE,GAA9B;;EACA,UAAIG,aAAa,CAACH,GAAd,KAAsBA,GAA1B,EAA+B;EAC7B,eAAOH,SAAS,CAACM,aAAa,CAACL,EAAf,CAAhB;EACD;;EAED,aAAO,IAAP;EACD,KAvBI;EAwBLM,IAAAA,MAxBK,mBAwBE1E,OAxBF,EAwBWsE,GAxBX,EAwBgB;EACnB,UAAI,OAAOtE,OAAO,CAACsE,GAAf,KAAuB,WAA3B,EAAwC;EACtC;EACD;;EAED,UAAMG,aAAa,GAAGzE,OAAO,CAACsE,GAA9B;;EACA,UAAIG,aAAa,CAACH,GAAd,KAAsBA,GAA1B,EAA+B;EAC7B,eAAOH,SAAS,CAACM,aAAa,CAACL,EAAf,CAAhB;EACA,eAAOpE,OAAO,CAACsE,GAAf;EACD;EACF;EAlCI,GAAP;EAoCD,CAvCe,EAAhB;;EAyCA,IAAMK,IAAI,GAAG;EACXC,EAAAA,OADW,mBACHC,QADG,EACOP,GADP,EACYC,IADZ,EACkB;EAC3BL,IAAAA,OAAO,CAACG,GAAR,CAAYQ,QAAZ,EAAsBP,GAAtB,EAA2BC,IAA3B;EACD,GAHU;EAIXO,EAAAA,OAJW,mBAIHD,QAJG,EAIOP,GAJP,EAIY;EACrB,WAAOJ,OAAO,CAACM,GAAR,CAAYK,QAAZ,EAAsBP,GAAtB,CAAP;EACD,GANU;EAOXS,EAAAA,UAPW,sBAOAF,QAPA,EAOUP,GAPV,EAOe;EACxBJ,IAAAA,OAAO,CAACQ,MAAR,CAAeG,QAAf,EAAyBP,GAAzB;EACD;EATU,CAAb;;ECtDA;EAWA,IAAIU,IAAI,GAAGC,OAAO,CAACC,SAAR,CAAkBC,gBAA7B;EACA,IAAIC,OAAO,GAAGH,OAAO,CAACC,SAAR,CAAkB5E,aAAhC;;EAGA,IAAM+E,mCAAmC,GAAI,YAAM;EACjD,MAAMC,CAAC,GAAG,IAAIC,WAAJ,CAAgB,WAAhB,EAA6B;EACrCC,IAAAA,UAAU,EAAE;EADyB,GAA7B,CAAV;EAIA,MAAMxF,OAAO,GAAGH,QAAQ,CAAC4F,aAAT,CAAuB,KAAvB,CAAhB;EACAzF,EAAAA,OAAO,CAAC6B,gBAAR,CAAyB,WAAzB,EAAsC;EAAA,WAAM,IAAN;EAAA,GAAtC;EAEAyD,EAAAA,CAAC,CAACI,cAAF;EACA1F,EAAAA,OAAO,CAACkB,aAAR,CAAsBoE,CAAtB;EACA,SAAOA,CAAC,CAACK,gBAAT;EACD,CAX2C,EAA5C;;EAaA,IAAMC,kBAAkB,GAAG,UAA3B;;EACA,IAAMC,iBAAiB,GAAI,YAAM;EAC/B,MAAM7F,OAAO,GAAGH,QAAQ,CAAC4F,aAAT,CAAuB,KAAvB,CAAhB;;EAEA,MAAI;EACFzF,IAAAA,OAAO,CAACmF,gBAAR,CAAyB,UAAzB;EACD,GAFD,CAEE,OAAOW,CAAP,EAAU;EACV,WAAO,KAAP;EACD;;EAED,SAAO,IAAP;EACD,CAVyB,EAA1B;;EAYA,IAAI,CAACD,iBAAL,EAAwB;EACtBb,EAAAA,IAAI,GAAG,cAAU/E,QAAV,EAAoB;EACzB,QAAI,CAAC2F,kBAAkB,CAACjD,IAAnB,CAAwB1C,QAAxB,CAAL,EAAwC;EACtC,aAAO,KAAKkF,gBAAL,CAAsBlF,QAAtB,CAAP;EACD;;EAED,QAAM8F,KAAK,GAAGC,OAAO,CAAC,KAAK5B,EAAN,CAArB;;EAEA,QAAI,CAAC2B,KAAL,EAAY;EACV,WAAK3B,EAAL,GAAU3E,MAAM,CAAC,OAAD,CAAhB;EACD;;EAED,QAAIwG,QAAQ,GAAG,IAAf;;EACA,QAAI;EACFhG,MAAAA,QAAQ,GAAGA,QAAQ,CAACiG,OAAT,CAAiBN,kBAAjB,QAAyC,KAAKxB,EAA9C,CAAX;EACA6B,MAAAA,QAAQ,GAAG,KAAKd,gBAAL,CAAsBlF,QAAtB,CAAX;EACD,KAHD,SAGU;EACR,UAAI,CAAC8F,KAAL,EAAY;EACV,aAAKI,eAAL,CAAqB,IAArB;EACD;EACF;;EAED,WAAOF,QAAP;EACD,GAtBD;;EAwBAb,EAAAA,OAAO,GAAG,iBAAUnF,QAAV,EAAoB;EAC5B,QAAI,CAAC2F,kBAAkB,CAACjD,IAAnB,CAAwB1C,QAAxB,CAAL,EAAwC;EACtC,aAAO,KAAKK,aAAL,CAAmBL,QAAnB,CAAP;EACD;;EAED,QAAMmG,OAAO,GAAGpB,IAAI,CAAC1F,IAAL,CAAU,IAAV,EAAgBW,QAAhB,CAAhB;;EAEA,QAAI,OAAOmG,OAAO,CAAC,CAAD,CAAd,KAAsB,WAA1B,EAAuC;EACrC,aAAOA,OAAO,CAAC,CAAD,CAAd;EACD;;EAED,WAAO,IAAP;EACD,GAZD;EAaD;;EC/ED;;;;;;EAUA;;;;;;EAMA,IAAMC,CAAC,GAAGvC,SAAS,EAAnB;EACA,IAAMwC,cAAc,GAAG,oBAAvB;EACA,IAAMC,cAAc,GAAG,MAAvB;EACA,IAAMC,aAAa,GAAG,MAAtB;EACA,IAAMC,aAAa,GAAG,QAAtB;EACA,IAAMC,aAAa,GAAG,EAAtB;;EACA,IAAIC,QAAQ,GAAG,CAAf;EACA,IAAMC,YAAY,GAAG;EACnBC,EAAAA,UAAU,EAAE,WADO;EAEnBC,EAAAA,UAAU,EAAE;EAFO,CAArB;EAIA,IAAMC,YAAY,GAAG,CACnB,OADmB,EAEnB,UAFmB,EAGnB,SAHmB,EAInB,WAJmB,EAKnB,aALmB,EAMnB,YANmB,EAOnB,gBAPmB,EAQnB,WARmB,EASnB,UATmB,EAUnB,WAVmB,EAWnB,aAXmB,EAYnB,WAZmB,EAanB,SAbmB,EAcnB,UAdmB,EAenB,OAfmB,EAgBnB,mBAhBmB,EAiBnB,YAjBmB,EAkBnB,WAlBmB,EAmBnB,UAnBmB,EAoBnB,aApBmB,EAqBnB,aArBmB,EAsBnB,aAtBmB,EAuBnB,WAvBmB,EAwBnB,cAxBmB,EAyBnB,eAzBmB,EA0BnB,cA1BmB,EA2BnB,eA3BmB,EA4BnB,YA5BmB,EA6BnB,OA7BmB,EA8BnB,MA9BmB,EA+BnB,QA/BmB,EAgCnB,OAhCmB,EAiCnB,QAjCmB,EAkCnB,QAlCmB,EAmCnB,SAnCmB,EAoCnB,UApCmB,EAqCnB,MArCmB,EAsCnB,QAtCmB,EAuCnB,cAvCmB,EAwCnB,QAxCmB,EAyCnB,MAzCmB,EA0CnB,kBA1CmB,EA2CnB,kBA3CmB,EA4CnB,OA5CmB,EA6CnB,OA7CmB,EA8CnB,QA9CmB,CAArB;EAiDA;;;;;;EAMA,SAASC,WAAT,CAAqBhH,OAArB,EAA8BiH,GAA9B,EAAmC;EACjC,SAAQA,GAAG,IAAOA,GAAP,UAAeN,QAAQ,EAA3B,IAAoC3G,OAAO,CAAC2G,QAA5C,IAAwDA,QAAQ,EAAvE;EACD;;EAED,SAASO,QAAT,CAAkBlH,OAAlB,EAA2B;EACzB,MAAMiH,GAAG,GAAGD,WAAW,CAAChH,OAAD,CAAvB;EAEAA,EAAAA,OAAO,CAAC2G,QAAR,GAAmBM,GAAnB;EACAP,EAAAA,aAAa,CAACO,GAAD,CAAb,GAAqBP,aAAa,CAACO,GAAD,CAAb,IAAsB,EAA3C;EAEA,SAAOP,aAAa,CAACO,GAAD,CAApB;EACD;;EAED,SAASE,QAAT,CAAkBC,KAAlB,EAAyBpH,OAAzB,EAAkC;EAChC;EACA,MAAIoH,KAAK,CAACC,KAAN,KAAgB,IAAhB,IAAwBb,aAAa,CAAC7D,IAAd,CAAmByE,KAAK,CAACE,IAAzB,CAA5B,EAA4D;EAC1DF,IAAAA,KAAK,CAACC,KAAN,GAAcD,KAAK,CAACG,QAAN,KAAmB,IAAnB,GAA0BH,KAAK,CAACI,OAAhC,GAA0CJ,KAAK,CAACG,QAA9D;EACD;;EAEDH,EAAAA,KAAK,CAACK,cAAN,GAAuBzH,OAAvB;EACD;;EAED,SAAS0H,gBAAT,CAA0B1H,OAA1B,EAAmC2H,EAAnC,EAAuC;EACrC,SAAO,SAASC,OAAT,CAAiBR,KAAjB,EAAwB;EAC7BD,IAAAA,QAAQ,CAACC,KAAD,EAAQpH,OAAR,CAAR;;EACA,QAAI4H,OAAO,CAACC,MAAZ,EAAoB;EAClBC,MAAAA,YAAY,CAACC,GAAb,CAAiB/H,OAAjB,EAA0BoH,KAAK,CAACE,IAAhC,EAAsCK,EAAtC;EACD;;EAED,WAAOA,EAAE,CAACK,KAAH,CAAShI,OAAT,EAAkB,CAACoH,KAAD,CAAlB,CAAP;EACD,GAPD;EAQD;;EAED,SAASa,0BAAT,CAAoCjI,OAApC,EAA6CC,QAA7C,EAAuD0H,EAAvD,EAA2D;EACzD,SAAO,SAASC,OAAT,CAAiBR,KAAjB,EAAwB;EAC7B,QAAMc,WAAW,GAAGlI,OAAO,CAACmF,gBAAR,CAAyBlF,QAAzB,CAApB;;EAEA,aAAWkI,MAAX,GAAsBf,KAAtB,CAAWe,MAAX,EAA6BA,MAAM,IAAIA,MAAM,KAAK,IAAlD,EAAwDA,MAAM,GAAGA,MAAM,CAACnF,UAAxE,EAAoF;EAClF,WAAK,IAAIoF,CAAC,GAAGF,WAAW,CAACG,MAAzB,EAAiCD,CAAC,EAAlC,GAAuC;EACrC,YAAIF,WAAW,CAACE,CAAD,CAAX,KAAmBD,MAAvB,EAA+B;EAC7BhB,UAAAA,QAAQ,CAACC,KAAD,EAAQe,MAAR,CAAR;;EAEA,cAAIP,OAAO,CAACC,MAAZ,EAAoB;EAClBC,YAAAA,YAAY,CAACC,GAAb,CAAiB/H,OAAjB,EAA0BoH,KAAK,CAACE,IAAhC,EAAsCK,EAAtC;EACD;;EAED,iBAAOA,EAAE,CAACK,KAAH,CAASG,MAAT,EAAiB,CAACf,KAAD,CAAjB,CAAP;EACD;EACF;EACF,KAf4B;;;EAkB7B,WAAO,IAAP;EACD,GAnBD;EAoBD;;EAED,SAASkB,WAAT,CAAqBC,MAArB,EAA6BX,OAA7B,EAAsCY,kBAAtC,EAAiE;EAAA,MAA3BA,kBAA2B;EAA3BA,IAAAA,kBAA2B,GAAN,IAAM;EAAA;;EAC/D,MAAMC,YAAY,GAAGtG,MAAM,CAACC,IAAP,CAAYmG,MAAZ,CAArB;;EAEA,OAAK,IAAIH,CAAC,GAAG,CAAR,EAAWM,GAAG,GAAGD,YAAY,CAACJ,MAAnC,EAA2CD,CAAC,GAAGM,GAA/C,EAAoDN,CAAC,EAArD,EAAyD;EACvD,QAAMhB,KAAK,GAAGmB,MAAM,CAACE,YAAY,CAACL,CAAD,CAAb,CAApB;;EAEA,QAAIhB,KAAK,CAACuB,eAAN,KAA0Bf,OAA1B,IAAqCR,KAAK,CAACoB,kBAAN,KAA6BA,kBAAtE,EAA0F;EACxF,aAAOpB,KAAP;EACD;EACF;;EAED,SAAO,IAAP;EACD;;EAED,SAASwB,eAAT,CAAyBC,iBAAzB,EAA4CjB,OAA5C,EAAqDkB,YAArD,EAAmE;EACjE,MAAMC,UAAU,GAAG,OAAOnB,OAAP,KAAmB,QAAtC;EACA,MAAMe,eAAe,GAAGI,UAAU,GAAGD,YAAH,GAAkBlB,OAApD,CAFiE;;EAKjE,MAAIoB,SAAS,GAAGH,iBAAiB,CAAC3C,OAAlB,CAA0BK,cAA1B,EAA0C,EAA1C,CAAhB;EACA,MAAM0C,MAAM,GAAGrC,YAAY,CAACoC,SAAD,CAA3B;;EAEA,MAAIC,MAAJ,EAAY;EACVD,IAAAA,SAAS,GAAGC,MAAZ;EACD;;EAED,MAAMC,QAAQ,GAAGnC,YAAY,CAACoC,OAAb,CAAqBH,SAArB,IAAkC,CAAC,CAApD;;EAEA,MAAI,CAACE,QAAL,EAAe;EACbF,IAAAA,SAAS,GAAGH,iBAAZ;EACD;;EAED,SAAO,CAACE,UAAD,EAAaJ,eAAb,EAA8BK,SAA9B,CAAP;EACD;;EAED,SAASI,UAAT,CAAoBpJ,OAApB,EAA6B6I,iBAA7B,EAAgDjB,OAAhD,EAAyDkB,YAAzD,EAAuEjB,MAAvE,EAA+E;EAC7E,MAAI,OAAOgB,iBAAP,KAA6B,QAA7B,IAAyC,CAAC7I,OAA9C,EAAuD;EACrD;EACD;;EAED,MAAI,CAAC4H,OAAL,EAAc;EACZA,IAAAA,OAAO,GAAGkB,YAAV;EACAA,IAAAA,YAAY,GAAG,IAAf;EACD;;EAR4E,yBAU5BF,eAAe,CAACC,iBAAD,EAAoBjB,OAApB,EAA6BkB,YAA7B,CAVa;EAAA,MAUtEC,UAVsE;EAAA,MAU1DJ,eAV0D;EAAA,MAUzCK,SAVyC;;EAW7E,MAAMT,MAAM,GAAGrB,QAAQ,CAAClH,OAAD,CAAvB;EACA,MAAMqJ,QAAQ,GAAGd,MAAM,CAACS,SAAD,CAAN,KAAsBT,MAAM,CAACS,SAAD,CAAN,GAAoB,EAA1C,CAAjB;EACA,MAAMM,UAAU,GAAGhB,WAAW,CAACe,QAAD,EAAWV,eAAX,EAA4BI,UAAU,GAAGnB,OAAH,GAAa,IAAnD,CAA9B;;EAEA,MAAI0B,UAAJ,EAAgB;EACdA,IAAAA,UAAU,CAACzB,MAAX,GAAoByB,UAAU,CAACzB,MAAX,IAAqBA,MAAzC;EAEA;EACD;;EAED,MAAMZ,GAAG,GAAGD,WAAW,CAAC2B,eAAD,EAAkBE,iBAAiB,CAAC3C,OAAlB,CAA0BI,cAA1B,EAA0C,EAA1C,CAAlB,CAAvB;EACA,MAAMqB,EAAE,GAAGoB,UAAU,GACnBd,0BAA0B,CAACjI,OAAD,EAAU4H,OAAV,EAAmBkB,YAAnB,CADP,GAEnBpB,gBAAgB,CAAC1H,OAAD,EAAU4H,OAAV,CAFlB;EAIAD,EAAAA,EAAE,CAACa,kBAAH,GAAwBO,UAAU,GAAGnB,OAAH,GAAa,IAA/C;EACAD,EAAAA,EAAE,CAACgB,eAAH,GAAqBA,eAArB;EACAhB,EAAAA,EAAE,CAACE,MAAH,GAAYA,MAAZ;EACAF,EAAAA,EAAE,CAAChB,QAAH,GAAcM,GAAd;EACAoC,EAAAA,QAAQ,CAACpC,GAAD,CAAR,GAAgBU,EAAhB;EAEA3H,EAAAA,OAAO,CAAC6B,gBAAR,CAAyBmH,SAAzB,EAAoCrB,EAApC,EAAwCoB,UAAxC;EACD;;EAED,SAASQ,aAAT,CAAuBvJ,OAAvB,EAAgCuI,MAAhC,EAAwCS,SAAxC,EAAmDpB,OAAnD,EAA4DY,kBAA5D,EAAgF;EAC9E,MAAMb,EAAE,GAAGW,WAAW,CAACC,MAAM,CAACS,SAAD,CAAP,EAAoBpB,OAApB,EAA6BY,kBAA7B,CAAtB;;EAEA,MAAI,CAACb,EAAL,EAAS;EACP;EACD;;EAED3H,EAAAA,OAAO,CAAC4B,mBAAR,CAA4BoH,SAA5B,EAAuCrB,EAAvC,EAA2C3B,OAAO,CAACwC,kBAAD,CAAlD;EACA,SAAOD,MAAM,CAACS,SAAD,CAAN,CAAkBrB,EAAE,CAAChB,QAArB,CAAP;EACD;;EAED,SAAS6C,wBAAT,CAAkCxJ,OAAlC,EAA2CuI,MAA3C,EAAmDS,SAAnD,EAA8DS,SAA9D,EAAyE;EACvE,MAAMC,iBAAiB,GAAGnB,MAAM,CAACS,SAAD,CAAN,IAAqB,EAA/C;EAEA7G,EAAAA,MAAM,CAACC,IAAP,CAAYsH,iBAAZ,EACGrH,OADH,CACW,UAAAsH,UAAU,EAAI;EACrB,QAAIA,UAAU,CAACR,OAAX,CAAmBM,SAAnB,IAAgC,CAAC,CAArC,EAAwC;EACtC,UAAMrC,KAAK,GAAGsC,iBAAiB,CAACC,UAAD,CAA/B;EAEAJ,MAAAA,aAAa,CAACvJ,OAAD,EAAUuI,MAAV,EAAkBS,SAAlB,EAA6B5B,KAAK,CAACuB,eAAnC,EAAoDvB,KAAK,CAACoB,kBAA1D,CAAb;EACD;EACF,GAPH;EAQD;;EAED,IAAMV,YAAY,GAAG;EACnB8B,EAAAA,EADmB,cAChB5J,OADgB,EACPoH,KADO,EACAQ,OADA,EACSkB,YADT,EACuB;EACxCM,IAAAA,UAAU,CAACpJ,OAAD,EAAUoH,KAAV,EAAiBQ,OAAjB,EAA0BkB,YAA1B,EAAwC,KAAxC,CAAV;EACD,GAHkB;EAKnBe,EAAAA,GALmB,eAKf7J,OALe,EAKNoH,KALM,EAKCQ,OALD,EAKUkB,YALV,EAKwB;EACzCM,IAAAA,UAAU,CAACpJ,OAAD,EAAUoH,KAAV,EAAiBQ,OAAjB,EAA0BkB,YAA1B,EAAwC,IAAxC,CAAV;EACD,GAPkB;EASnBf,EAAAA,GATmB,eASf/H,OATe,EASN6I,iBATM,EASajB,OATb,EASsBkB,YATtB,EASoC;EACrD,QAAI,OAAOD,iBAAP,KAA6B,QAA7B,IAAyC,CAAC7I,OAA9C,EAAuD;EACrD;EACD;;EAHoD,4BAKJ4I,eAAe,CAACC,iBAAD,EAAoBjB,OAApB,EAA6BkB,YAA7B,CALX;EAAA,QAK9CC,UAL8C;EAAA,QAKlCJ,eALkC;EAAA,QAKjBK,SALiB;;EAMrD,QAAMc,WAAW,GAAGd,SAAS,KAAKH,iBAAlC;EACA,QAAMN,MAAM,GAAGrB,QAAQ,CAAClH,OAAD,CAAvB;EACA,QAAM+J,WAAW,GAAGlB,iBAAiB,CAACmB,MAAlB,CAAyB,CAAzB,MAAgC,GAApD;;EAEA,QAAI,OAAOrB,eAAP,KAA2B,WAA/B,EAA4C;EAC1C;EACA,UAAI,CAACJ,MAAD,IAAW,CAACA,MAAM,CAACS,SAAD,CAAtB,EAAmC;EACjC;EACD;;EAEDO,MAAAA,aAAa,CAACvJ,OAAD,EAAUuI,MAAV,EAAkBS,SAAlB,EAA6BL,eAA7B,EAA8CI,UAAU,GAAGnB,OAAH,GAAa,IAArE,CAAb;EACA;EACD;;EAED,QAAImC,WAAJ,EAAiB;EACf5H,MAAAA,MAAM,CAACC,IAAP,CAAYmG,MAAZ,EACGlG,OADH,CACW,UAAA4H,YAAY,EAAI;EACvBT,QAAAA,wBAAwB,CAACxJ,OAAD,EAAUuI,MAAV,EAAkB0B,YAAlB,EAAgCpB,iBAAiB,CAACqB,KAAlB,CAAwB,CAAxB,CAAhC,CAAxB;EACD,OAHH;EAID;;EAED,QAAMR,iBAAiB,GAAGnB,MAAM,CAACS,SAAD,CAAN,IAAqB,EAA/C;EACA7G,IAAAA,MAAM,CAACC,IAAP,CAAYsH,iBAAZ,EACGrH,OADH,CACW,UAAA8H,WAAW,EAAI;EACtB,UAAMR,UAAU,GAAGQ,WAAW,CAACjE,OAAZ,CAAoBO,aAApB,EAAmC,EAAnC,CAAnB;;EAEA,UAAI,CAACqD,WAAD,IAAgBjB,iBAAiB,CAACM,OAAlB,CAA0BQ,UAA1B,IAAwC,CAAC,CAA7D,EAAgE;EAC9D,YAAMvC,KAAK,GAAGsC,iBAAiB,CAACS,WAAD,CAA/B;EAEAZ,QAAAA,aAAa,CAACvJ,OAAD,EAAUuI,MAAV,EAAkBS,SAAlB,EAA6B5B,KAAK,CAACuB,eAAnC,EAAoDvB,KAAK,CAACoB,kBAA1D,CAAb;EACD;EACF,KATH;EAUD,GA/CkB;EAiDnB4B,EAAAA,OAjDmB,mBAiDXpK,OAjDW,EAiDFoH,KAjDE,EAiDKiD,IAjDL,EAiDW;EAC5B,QAAI,OAAOjD,KAAP,KAAiB,QAAjB,IAA6B,CAACpH,OAAlC,EAA2C;EACzC,aAAO,IAAP;EACD;;EAED,QAAMgJ,SAAS,GAAG5B,KAAK,CAAClB,OAAN,CAAcK,cAAd,EAA8B,EAA9B,CAAlB;EACA,QAAMuD,WAAW,GAAG1C,KAAK,KAAK4B,SAA9B;EACA,QAAME,QAAQ,GAAGnC,YAAY,CAACoC,OAAb,CAAqBH,SAArB,IAAkC,CAAC,CAApD;EAEA,QAAIsB,WAAJ;EACA,QAAIC,OAAO,GAAG,IAAd;EACA,QAAIC,cAAc,GAAG,IAArB;EACA,QAAI7E,gBAAgB,GAAG,KAAvB;EACA,QAAI8E,GAAG,GAAG,IAAV;;EAEA,QAAIX,WAAW,IAAIzD,CAAnB,EAAsB;EACpBiE,MAAAA,WAAW,GAAGjE,CAAC,CAAClF,KAAF,CAAQiG,KAAR,EAAeiD,IAAf,CAAd;EAEAhE,MAAAA,CAAC,CAACrG,OAAD,CAAD,CAAWoK,OAAX,CAAmBE,WAAnB;EACAC,MAAAA,OAAO,GAAG,CAACD,WAAW,CAACI,oBAAZ,EAAX;EACAF,MAAAA,cAAc,GAAG,CAACF,WAAW,CAACK,6BAAZ,EAAlB;EACAhF,MAAAA,gBAAgB,GAAG2E,WAAW,CAACM,kBAAZ,EAAnB;EACD;;EAED,QAAI1B,QAAJ,EAAc;EACZuB,MAAAA,GAAG,GAAG5K,QAAQ,CAACgL,WAAT,CAAqB,YAArB,CAAN;EACAJ,MAAAA,GAAG,CAACK,SAAJ,CAAc9B,SAAd,EAAyBuB,OAAzB,EAAkC,IAAlC;EACD,KAHD,MAGO;EACLE,MAAAA,GAAG,GAAG,IAAIlF,WAAJ,CAAgB6B,KAAhB,EAAuB;EAC3BmD,QAAAA,OAAO,EAAPA,OAD2B;EAE3B/E,QAAAA,UAAU,EAAE;EAFe,OAAvB,CAAN;EAID,KAhC2B;;;EAmC5B,QAAI,OAAO6E,IAAP,KAAgB,WAApB,EAAiC;EAC/BlI,MAAAA,MAAM,CAACC,IAAP,CAAYiI,IAAZ,EACGhI,OADH,CACW,UAAAiC,GAAG,EAAI;EACdnC,QAAAA,MAAM,CAAC4I,cAAP,CAAsBN,GAAtB,EAA2BnG,GAA3B,EAAgC;EAC9BE,UAAAA,GAD8B,iBACxB;EACJ,mBAAO6F,IAAI,CAAC/F,GAAD,CAAX;EACD;EAH6B,SAAhC;EAKD,OAPH;EAQD;;EAED,QAAIqB,gBAAJ,EAAsB;EACpB8E,MAAAA,GAAG,CAAC/E,cAAJ;;EAEA,UAAI,CAACL,mCAAL,EAA0C;EACxClD,QAAAA,MAAM,CAAC4I,cAAP,CAAsBN,GAAtB,EAA2B,kBAA3B,EAA+C;EAC7CjG,UAAAA,GAAG,EAAE;EAAA,mBAAM,IAAN;EAAA;EADwC,SAA/C;EAGD;EACF;;EAED,QAAIgG,cAAJ,EAAoB;EAClBxK,MAAAA,OAAO,CAACkB,aAAR,CAAsBuJ,GAAtB;EACD;;EAED,QAAIA,GAAG,CAAC9E,gBAAJ,IAAwB,OAAO2E,WAAP,KAAuB,WAAnD,EAAgE;EAC9DA,MAAAA,WAAW,CAAC5E,cAAZ;EACD;;EAED,WAAO+E,GAAP;EACD;EAlHkB,CAArB;;ECxOA;;;;;;EASA;;;;;;EAMA,IAAMO,SAAS,GAAG,CAAlB;EAEA,IAAMC,cAAc,GAAG;EACrB7E,EAAAA,OADqB,mBACbpG,OADa,EACJC,QADI,EACM;EACzB,WAAOD,OAAO,CAACoG,OAAR,CAAgBnG,QAAhB,CAAP;EACD,GAHoB;EAKrB+E,EAAAA,IALqB,kBAKhB/E,QALgB,EAKND,OALM,EAK8B;EAAA;;EAAA,QAApCA,OAAoC;EAApCA,MAAAA,OAAoC,GAA1BH,QAAQ,CAACyD,eAAiB;EAAA;;EACjD,WAAO,YAAG4H,MAAH,aAAaC,IAAM,CAAC7L,IAAP,CAAYU,OAAZ,EAAqBC,QAArB,CAAb,CAAP;EACD,GAPoB;EASrBmF,EAAAA,OATqB,qBASbnF,QATa,EASHD,OATG,EASiC;EAAA,QAApCA,OAAoC;EAApCA,MAAAA,OAAoC,GAA1BH,QAAQ,CAACyD,eAAiB;EAAA;;EACpD,WAAO8B,OAAO,CAAC9F,IAAR,CAAaU,OAAb,EAAsBC,QAAtB,CAAP;EACD,GAXoB;EAarBmL,EAAAA,QAbqB,oBAaZpL,OAbY,EAaHC,QAbG,EAaO;EAAA;;EAC1B,QAAMmL,QAAQ,GAAG,aAAGF,MAAH,cAAalL,OAAO,CAACoL,QAArB,CAAjB;;EAEA,WAAOA,QAAQ,CAACC,MAAT,CAAgB,UAAAC,KAAK;EAAA,aAAIA,KAAK,CAAClF,OAAN,CAAcnG,QAAd,CAAJ;EAAA,KAArB,CAAP;EACD,GAjBoB;EAmBrBsL,EAAAA,OAnBqB,mBAmBbvL,OAnBa,EAmBJC,QAnBI,EAmBM;EACzB,QAAMsL,OAAO,GAAG,EAAhB;EAEA,QAAIC,QAAQ,GAAGxL,OAAO,CAACgD,UAAvB;;EAEA,WAAOwI,QAAQ,IAAIA,QAAQ,CAACnK,QAAT,KAAsBoK,IAAI,CAACC,YAAvC,IAAuDF,QAAQ,CAACnK,QAAT,KAAsB2J,SAApF,EAA+F;EAC7F,UAAI,KAAK5E,OAAL,CAAaoF,QAAb,EAAuBvL,QAAvB,CAAJ,EAAsC;EACpCsL,QAAAA,OAAO,CAACI,IAAR,CAAaH,QAAb;EACD;;EAEDA,MAAAA,QAAQ,GAAGA,QAAQ,CAACxI,UAApB;EACD;;EAED,WAAOuI,OAAP;EACD,GAjCoB;EAmCrBK,EAAAA,OAnCqB,mBAmCb5L,OAnCa,EAmCJC,QAnCI,EAmCM;EACzB,WAAOD,OAAO,CAAC4L,OAAR,CAAgB3L,QAAhB,CAAP;EACD,GArCoB;EAuCrB4L,EAAAA,IAvCqB,gBAuChB7L,OAvCgB,EAuCPC,QAvCO,EAuCG;EACtB,QAAI6L,QAAQ,GAAG9L,OAAO,CAAC+L,sBAAvB;;EAEA,WAAOD,QAAP,EAAiB;EACf,UAAIA,QAAQ,CAAC1F,OAAT,CAAiBnG,QAAjB,CAAJ,EAAgC;EAC9B,eAAO,CAAC6L,QAAD,CAAP;EACD;;EAEDA,MAAAA,QAAQ,GAAGA,QAAQ,CAACC,sBAApB;EACD;;EAED,WAAO,EAAP;EACD,GAnDoB;EAqDrBC,EAAAA,IArDqB,gBAqDhBhM,OArDgB,EAqDPC,QArDO,EAqDG;EACtB,QAAI+L,IAAI,GAAGhM,OAAO,CAACiM,kBAAnB;;EAEA,WAAOD,IAAP,EAAa;EACX,UAAI,KAAK5F,OAAL,CAAa4F,IAAb,EAAmB/L,QAAnB,CAAJ,EAAkC;EAChC,eAAO,CAAC+L,IAAD,CAAP;EACD;;EAEDA,MAAAA,IAAI,GAAGA,IAAI,CAACC,kBAAZ;EACD;;EAED,WAAO,EAAP;EACD;EAjEoB,CAAvB;;ECCA;;;;;;EAMA,IAAMC,IAAI,GAAG,OAAb;EACA,IAAMC,OAAO,GAAG,OAAhB;EACA,IAAMC,QAAQ,GAAG,UAAjB;EACA,IAAMC,SAAS,SAAOD,QAAtB;EACA,IAAME,YAAY,GAAG,WAArB;EAEA,IAAMC,gBAAgB,GAAG,wBAAzB;EAEA,IAAMC,WAAW,aAAWH,SAA5B;EACA,IAAMI,YAAY,cAAYJ,SAA9B;EACA,IAAMK,oBAAoB,aAAWL,SAAX,GAAuBC,YAAjD;EAEA,IAAMK,eAAe,GAAG,OAAxB;EACA,IAAMC,cAAc,GAAG,MAAvB;EACA,IAAMC,cAAc,GAAG,MAAvB;EAEA;;;;;;MAMMC;EACJ,iBAAY9M,OAAZ,EAAqB;EACnB,SAAK+M,QAAL,GAAgB/M,OAAhB;;EAEA,QAAI,KAAK+M,QAAT,EAAmB;EACjBpI,MAAAA,IAAI,CAACC,OAAL,CAAa5E,OAAb,EAAsBoM,QAAtB,EAAgC,IAAhC;EACD;EACF;;;;;EAQD;WAEAY,QAAA,eAAMhN,OAAN,EAAe;EACb,QAAIiN,WAAW,GAAG,KAAKF,QAAvB;;EACA,QAAI/M,OAAJ,EAAa;EACXiN,MAAAA,WAAW,GAAG,KAAKC,eAAL,CAAqBlN,OAArB,CAAd;EACD;;EAED,QAAMmN,WAAW,GAAG,KAAKC,kBAAL,CAAwBH,WAAxB,CAApB;;EAEA,QAAIE,WAAW,KAAK,IAAhB,IAAwBA,WAAW,CAACxH,gBAAxC,EAA0D;EACxD;EACD;;EAED,SAAK0H,cAAL,CAAoBJ,WAApB;EACD;;WAEDK,UAAA,mBAAU;EACR3I,IAAAA,IAAI,CAACI,UAAL,CAAgB,KAAKgI,QAArB,EAA+BX,QAA/B;EACA,SAAKW,QAAL,GAAgB,IAAhB;EACD;;;WAIDG,kBAAA,yBAAgBlN,OAAhB,EAAyB;EACvB,QAAIuN,MAAM,GAAGhN,sBAAsB,CAACP,OAAD,CAAnC;;EAEA,QAAI,CAACuN,MAAL,EAAa;EACXA,MAAAA,MAAM,GAAGtC,cAAc,CAACW,OAAf,CAAuB5L,OAAvB,QAAoC2M,eAApC,CAAT;EACD;;EAED,WAAOY,MAAP;EACD;;WAEDH,qBAAA,4BAAmBpN,OAAnB,EAA4B;EAC1B,WAAO8H,YAAY,CAACsC,OAAb,CAAqBpK,OAArB,EAA8BwM,WAA9B,CAAP;EACD;;WAEDa,iBAAA,wBAAerN,OAAf,EAAwB;EAAA;;EACtBA,IAAAA,OAAO,CAACwN,SAAR,CAAkBC,MAAlB,CAAyBZ,cAAzB;;EAEA,QAAI,CAAC7M,OAAO,CAACwN,SAAR,CAAkBE,QAAlB,CAA2Bd,cAA3B,CAAL,EAAiD;EAC/C,WAAKe,eAAL,CAAqB3N,OAArB;;EACA;EACD;;EAED,QAAMW,kBAAkB,GAAGH,gCAAgC,CAACR,OAAD,CAA3D;EAEA8H,IAAAA,YAAY,CACT+B,GADH,CACO7J,OADP,EACgBf,cADhB,EACgC;EAAA,aAAM,KAAI,CAAC0O,eAAL,CAAqB3N,OAArB,CAAN;EAAA,KADhC;EAEAsB,IAAAA,oBAAoB,CAACtB,OAAD,EAAUW,kBAAV,CAApB;EACD;;WAEDgN,kBAAA,yBAAgB3N,OAAhB,EAAyB;EACvB,QAAIA,OAAO,CAACgD,UAAZ,EAAwB;EACtBhD,MAAAA,OAAO,CAACgD,UAAR,CAAmB4K,WAAnB,CAA+B5N,OAA/B;EACD;;EAED8H,IAAAA,YAAY,CAACsC,OAAb,CAAqBpK,OAArB,EAA8ByM,YAA9B;EACD;;;UAIMoB,kBAAP,yBAAuB5L,MAAvB,EAA+B;EAC7B,WAAO,KAAK6L,IAAL,CAAU,YAAY;EAC3B,UAAIvJ,IAAI,GAAGI,IAAI,CAACG,OAAL,CAAa,IAAb,EAAmBsH,QAAnB,CAAX;;EAEA,UAAI,CAAC7H,IAAL,EAAW;EACTA,QAAAA,IAAI,GAAG,IAAIuI,KAAJ,CAAU,IAAV,CAAP;EACD;;EAED,UAAI7K,MAAM,KAAK,OAAf,EAAwB;EACtBsC,QAAAA,IAAI,CAACtC,MAAD,CAAJ,CAAa,IAAb;EACD;EACF,KAVM,CAAP;EAWD;;UAEM8L,gBAAP,uBAAqBC,aAArB,EAAoC;EAClC,WAAO,UAAU5G,KAAV,EAAiB;EACtB,UAAIA,KAAJ,EAAW;EACTA,QAAAA,KAAK,CAAC1B,cAAN;EACD;;EAEDsI,MAAAA,aAAa,CAAChB,KAAd,CAAoB,IAApB;EACD,KAND;EAOD;;UAEMiB,cAAP,qBAAmBjO,OAAnB,EAA4B;EAC1B,WAAO2E,IAAI,CAACG,OAAL,CAAa9E,OAAb,EAAsBoM,QAAtB,CAAP;EACD;;;;0BA7FoB;EACnB,aAAOD,OAAP;EACD;;;;;EA8FH;;;;;;;EAKArE,YAAY,CACT8B,EADH,CACM/J,QADN,EACgB6M,oBADhB,EACsCH,gBADtC,EACwDO,KAAK,CAACiB,aAAN,CAAoB,IAAIjB,KAAJ,EAApB,CADxD;EAGA,IAAMzG,GAAC,GAAGvC,SAAS,EAAnB;EAEA;;;;;;;EAOA;;EACA,IAAIuC,GAAJ,EAAO;EACL,MAAM6H,kBAAkB,GAAG7H,GAAC,CAACsB,EAAF,CAAKuE,IAAL,CAA3B;EACA7F,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,IAAL,IAAaY,KAAK,CAACe,eAAnB;EACAxH,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,IAAL,EAAWiC,WAAX,GAAyBrB,KAAzB;;EACAzG,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,IAAL,EAAWkC,UAAX,GAAwB,YAAM;EAC5B/H,IAAAA,GAAC,CAACsB,EAAF,CAAKuE,IAAL,IAAagC,kBAAb;EACA,WAAOpB,KAAK,CAACe,eAAb;EACD,GAHD;EAID;;ECvKD;;;;;;EAMA,IAAM3B,MAAI,GAAG,QAAb;EACA,IAAMC,SAAO,GAAG,OAAhB;EACA,IAAMC,UAAQ,GAAG,WAAjB;EACA,IAAMC,WAAS,SAAOD,UAAtB;EACA,IAAME,cAAY,GAAG,WAArB;EAEA,IAAM+B,iBAAiB,GAAG,QAA1B;EACA,IAAMC,iBAAiB,GAAG,KAA1B;EACA,IAAMC,mBAAmB,GAAG,UAA5B;EACA,IAAMC,gBAAgB,GAAG,OAAzB;EAEA,IAAMC,2BAA2B,GAAG,yBAApC;EACA,IAAMC,oBAAoB,GAAG,yBAA7B;EACA,IAAMC,cAAc,GAAG,4BAAvB;EACA,IAAMC,eAAe,GAAG,SAAxB;EACA,IAAMC,eAAe,GAAG,MAAxB;EAEA,IAAMnC,sBAAoB,aAAWL,WAAX,GAAuBC,cAAjD;EACA,IAAMwC,oBAAoB,aAAWzC,WAAX,GAAuBC,cAAjD;EACA,IAAMyC,mBAAmB,YAAU1C,WAAV,GAAsBC,cAA/C;EAEA;;;;;;MAMM0C;EACJ,kBAAYhP,OAAZ,EAAqB;EACnB,SAAK+M,QAAL,GAAgB/M,OAAhB;EACA2E,IAAAA,IAAI,CAACC,OAAL,CAAa5E,OAAb,EAAsBoM,UAAtB,EAAgC,IAAhC;EACD;;;;;EAQD;WAEA6C,SAAA,kBAAS;EACP,QAAIC,kBAAkB,GAAG,IAAzB;EACA,QAAIC,cAAc,GAAG,IAArB;EAEA,QAAMlC,WAAW,GAAGhC,cAAc,CAACW,OAAf,CAClB,KAAKmB,QADa,EAElB2B,oBAFkB,CAApB;;EAKA,QAAIzB,WAAJ,EAAiB;EACf,UAAMmC,KAAK,GAAGnE,cAAc,CAAC7F,OAAf,CAAuBuJ,cAAvB,EAAuC,KAAK5B,QAA5C,CAAd;;EAEA,UAAIqC,KAAK,IAAIA,KAAK,CAAC9H,IAAN,KAAe,OAA5B,EAAqC;EACnC,YAAI8H,KAAK,CAACC,OAAN,IACF,KAAKtC,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCW,iBAAjC,CADF,EACuD;EACrDa,UAAAA,kBAAkB,GAAG,KAArB;EACD,SAHD,MAGO;EACL,cAAMI,aAAa,GAAGrE,cAAc,CAAC7F,OAAf,CAAuBwJ,eAAvB,EAAwC3B,WAAxC,CAAtB;;EAEA,cAAIqC,aAAJ,EAAmB;EACjBA,YAAAA,aAAa,CAAC9B,SAAd,CAAwBC,MAAxB,CAA+BY,iBAA/B;EACD;EACF;;EAED,YAAIa,kBAAJ,EAAwB;EACtB,cAAIE,KAAK,CAACnL,YAAN,CAAmB,UAAnB,KACFgJ,WAAW,CAAChJ,YAAZ,CAAyB,UAAzB,CADE,IAEFmL,KAAK,CAAC5B,SAAN,CAAgBE,QAAhB,CAAyBa,mBAAzB,CAFE,IAGFtB,WAAW,CAACO,SAAZ,CAAsBE,QAAtB,CAA+Ba,mBAA/B,CAHF,EAGuD;EACrD;EACD;;EAEDa,UAAAA,KAAK,CAACC,OAAN,GAAgB,CAAC,KAAKtC,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCW,iBAAjC,CAAjB;EACAvG,UAAAA,YAAY,CAACsC,OAAb,CAAqBgF,KAArB,EAA4B,QAA5B;EACD;;EAEDA,QAAAA,KAAK,CAACG,KAAN;EACAJ,QAAAA,cAAc,GAAG,KAAjB;EACD;EACF;;EAED,QAAIA,cAAJ,EAAoB;EAClB,WAAKpC,QAAL,CAAcyC,YAAd,CAA2B,cAA3B,EACE,CAAC,KAAKzC,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCW,iBAAjC,CADH;EAED;;EAED,QAAIa,kBAAJ,EAAwB;EACtB,WAAKnC,QAAL,CAAcS,SAAd,CAAwByB,MAAxB,CAA+BZ,iBAA/B;EACD;EACF;;WAEDf,UAAA,mBAAU;EACR3I,IAAAA,IAAI,CAACI,UAAL,CAAgB,KAAKgI,QAArB,EAA+BX,UAA/B;EACA,SAAKW,QAAL,GAAgB,IAAhB;EACD;;;WAIMc,kBAAP,yBAAuB5L,MAAvB,EAA+B;EAC7B,WAAO,KAAK6L,IAAL,CAAU,YAAY;EAC3B,UAAIvJ,IAAI,GAAGI,IAAI,CAACG,OAAL,CAAa,IAAb,EAAmBsH,UAAnB,CAAX;;EAEA,UAAI,CAAC7H,IAAL,EAAW;EACTA,QAAAA,IAAI,GAAG,IAAIyK,MAAJ,CAAW,IAAX,CAAP;EACD;;EAED,UAAI/M,MAAM,KAAK,QAAf,EAAyB;EACvBsC,QAAAA,IAAI,CAACtC,MAAD,CAAJ;EACD;EACF,KAVM,CAAP;EAWD;;WAEMgM,cAAP,qBAAmBjO,OAAnB,EAA4B;EAC1B,WAAO2E,IAAI,CAACG,OAAL,CAAa9E,OAAb,EAAsBoM,UAAtB,CAAP;EACD;;;;0BAhFoB;EACnB,aAAOD,SAAP;EACD;;;;;EAiFH;;;;;;;EAMArE,YAAY,CAAC8B,EAAb,CAAgB/J,QAAhB,EAA0B6M,sBAA1B,EAAgD+B,2BAAhD,EAA6E,UAAArH,KAAK,EAAI;EACpFA,EAAAA,KAAK,CAAC1B,cAAN;EAEA,MAAI+J,MAAM,GAAGrI,KAAK,CAACe,MAAnB;;EACA,MAAI,CAACsH,MAAM,CAACjC,SAAP,CAAiBE,QAAjB,CAA0BY,iBAA1B,CAAL,EAAmD;EACjDmB,IAAAA,MAAM,GAAGxE,cAAc,CAACW,OAAf,CAAuB6D,MAAvB,EAA+BZ,eAA/B,CAAT;EACD;;EAED,MAAItK,IAAI,GAAGI,IAAI,CAACG,OAAL,CAAa2K,MAAb,EAAqBrD,UAArB,CAAX;;EACA,MAAI,CAAC7H,IAAL,EAAW;EACTA,IAAAA,IAAI,GAAG,IAAIyK,MAAJ,CAAWS,MAAX,CAAP;EACD;;EAEDlL,EAAAA,IAAI,CAAC0K,MAAL;EACD,CAdD;EAgBAnH,YAAY,CAAC8B,EAAb,CAAgB/J,QAAhB,EAA0BiP,oBAA1B,EAAgDL,2BAAhD,EAA6E,UAAArH,KAAK,EAAI;EACpF,MAAMqI,MAAM,GAAGxE,cAAc,CAACW,OAAf,CAAuBxE,KAAK,CAACe,MAA7B,EAAqC0G,eAArC,CAAf;;EAEA,MAAIY,MAAJ,EAAY;EACVA,IAAAA,MAAM,CAACjC,SAAP,CAAiBkC,GAAjB,CAAqBlB,gBAArB;EACD;EACF,CAND;EAQA1G,YAAY,CAAC8B,EAAb,CAAgB/J,QAAhB,EAA0BkP,mBAA1B,EAA+CN,2BAA/C,EAA4E,UAAArH,KAAK,EAAI;EACnF,MAAMqI,MAAM,GAAGxE,cAAc,CAACW,OAAf,CAAuBxE,KAAK,CAACe,MAA7B,EAAqC0G,eAArC,CAAf;;EAEA,MAAIY,MAAJ,EAAY;EACVA,IAAAA,MAAM,CAACjC,SAAP,CAAiBC,MAAjB,CAAwBe,gBAAxB;EACD;EACF,CAND;EAQA,IAAMnI,GAAC,GAAGvC,SAAS,EAAnB;EAEA;;;;;;;EAMA;;EACA,IAAIuC,GAAJ,EAAO;EACL,MAAM6H,oBAAkB,GAAG7H,GAAC,CAACsB,EAAF,CAAKuE,MAAL,CAA3B;EACA7F,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,IAAa8C,MAAM,CAACnB,eAApB;EACAxH,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,EAAWiC,WAAX,GAAyBa,MAAzB;;EAEA3I,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,EAAWkC,UAAX,GAAwB,YAAM;EAC5B/H,IAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,IAAagC,oBAAb;EACA,WAAOc,MAAM,CAACnB,eAAd;EACD,GAHD;EAID;;EChMD;;;;;;EAOA,SAAS8B,aAAT,CAAuBC,GAAvB,EAA4B;EAC1B,MAAIA,GAAG,KAAK,MAAZ,EAAoB;EAClB,WAAO,IAAP;EACD;;EAED,MAAIA,GAAG,KAAK,OAAZ,EAAqB;EACnB,WAAO,KAAP;EACD;;EAED,MAAIA,GAAG,KAAKC,MAAM,CAACD,GAAD,CAAN,CAAYvQ,QAAZ,EAAZ,EAAoC;EAClC,WAAOwQ,MAAM,CAACD,GAAD,CAAb;EACD;;EAED,MAAIA,GAAG,KAAK,EAAR,IAAcA,GAAG,KAAK,MAA1B,EAAkC;EAChC,WAAO,IAAP;EACD;;EAED,SAAOA,GAAP;EACD;;EAED,SAASE,gBAAT,CAA0BxL,GAA1B,EAA+B;EAC7B,SAAOA,GAAG,CAAC4B,OAAJ,CAAY,QAAZ,EAAsB,UAAA6J,GAAG;EAAA,iBAAQA,GAAG,CAACvQ,WAAJ,EAAR;EAAA,GAAzB,CAAP;EACD;;EAED,IAAMwQ,WAAW,GAAG;EAClBC,EAAAA,gBADkB,4BACDjQ,OADC,EACQsE,GADR,EACa9B,KADb,EACoB;EACpCxC,IAAAA,OAAO,CAACwP,YAAR,WAA6BM,gBAAgB,CAACxL,GAAD,CAA7C,EAAsD9B,KAAtD;EACD,GAHiB;EAKlB0N,EAAAA,mBALkB,+BAKElQ,OALF,EAKWsE,GALX,EAKgB;EAChCtE,IAAAA,OAAO,CAACmG,eAAR,WAAgC2J,gBAAgB,CAACxL,GAAD,CAAhD;EACD,GAPiB;EASlB6L,EAAAA,iBATkB,6BASAnQ,OATA,EASS;EACzB,QAAI,CAACA,OAAL,EAAc;EACZ,aAAO,EAAP;EACD;;EAED,QAAMoQ,UAAU,sBACXpQ,OAAO,CAACqQ,OADG,CAAhB;;EAIAlO,IAAAA,MAAM,CAACC,IAAP,CAAYgO,UAAZ,EAAwB/N,OAAxB,CAAgC,UAAAiC,GAAG,EAAI;EACrC8L,MAAAA,UAAU,CAAC9L,GAAD,CAAV,GAAkBqL,aAAa,CAACS,UAAU,CAAC9L,GAAD,CAAX,CAA/B;EACD,KAFD;EAIA,WAAO8L,UAAP;EACD,GAvBiB;EAyBlBE,EAAAA,gBAzBkB,4BAyBDtQ,OAzBC,EAyBQsE,GAzBR,EAyBa;EAC7B,WAAOqL,aAAa,CAAC3P,OAAO,CAACE,YAAR,WAA6B4P,gBAAgB,CAACxL,GAAD,CAA7C,CAAD,CAApB;EACD,GA3BiB;EA6BlBiM,EAAAA,MA7BkB,kBA6BXvQ,OA7BW,EA6BF;EACd,QAAMwQ,IAAI,GAAGxQ,OAAO,CAACyQ,qBAAR,EAAb;EAEA,WAAO;EACLC,MAAAA,GAAG,EAAEF,IAAI,CAACE,GAAL,GAAW7Q,QAAQ,CAACmE,IAAT,CAAc2M,SADzB;EAELC,MAAAA,IAAI,EAAEJ,IAAI,CAACI,IAAL,GAAY/Q,QAAQ,CAACmE,IAAT,CAAc6M;EAF3B,KAAP;EAID,GApCiB;EAsClBC,EAAAA,QAtCkB,oBAsCT9Q,OAtCS,EAsCA;EAChB,WAAO;EACL0Q,MAAAA,GAAG,EAAE1Q,OAAO,CAAC+Q,SADR;EAELH,MAAAA,IAAI,EAAE5Q,OAAO,CAACgR;EAFT,KAAP;EAID,GA3CiB;EA6ClBC,EAAAA,WA7CkB,uBA6CNjR,OA7CM,EA6CGkR,SA7CH,EA6Cc;EAC9B,QAAI,CAAClR,OAAL,EAAc;EACZ;EACD;;EAED,QAAIA,OAAO,CAACwN,SAAR,CAAkBE,QAAlB,CAA2BwD,SAA3B,CAAJ,EAA2C;EACzClR,MAAAA,OAAO,CAACwN,SAAR,CAAkBC,MAAlB,CAAyByD,SAAzB;EACD,KAFD,MAEO;EACLlR,MAAAA,OAAO,CAACwN,SAAR,CAAkBkC,GAAlB,CAAsBwB,SAAtB;EACD;EACF;EAvDiB,CAApB;;ECRA;;;;;;EAMA,IAAMhF,MAAI,GAAG,UAAb;EACA,IAAMC,SAAO,GAAG,OAAhB;EACA,IAAMC,UAAQ,GAAG,aAAjB;EACA,IAAMC,WAAS,SAAOD,UAAtB;EACA,IAAME,cAAY,GAAG,WAArB;EAEA,IAAM6E,kBAAkB,GAAG,EAA3B;;EACA,IAAMC,mBAAmB,GAAG,EAA5B;;EACA,IAAMC,sBAAsB,GAAG,GAA/B;;EACA,IAAMC,eAAe,GAAG,EAAxB;EAEA,IAAMC,OAAO,GAAG;EACdC,EAAAA,QAAQ,EAAE,IADI;EAEdC,EAAAA,QAAQ,EAAE,IAFI;EAGdC,EAAAA,KAAK,EAAE,KAHO;EAIdC,EAAAA,KAAK,EAAE,OAJO;EAKdC,EAAAA,IAAI,EAAE,IALQ;EAMdC,EAAAA,KAAK,EAAE;EANO,CAAhB;EASA,IAAMC,WAAW,GAAG;EAClBN,EAAAA,QAAQ,EAAE,kBADQ;EAElBC,EAAAA,QAAQ,EAAE,SAFQ;EAGlBC,EAAAA,KAAK,EAAE,kBAHW;EAIlBC,EAAAA,KAAK,EAAE,kBAJW;EAKlBC,EAAAA,IAAI,EAAE,SALY;EAMlBC,EAAAA,KAAK,EAAE;EANW,CAApB;EASA,IAAME,cAAc,GAAG,MAAvB;EACA,IAAMC,cAAc,GAAG,MAAvB;EACA,IAAMC,cAAc,GAAG,MAAvB;EACA,IAAMC,eAAe,GAAG,OAAxB;EAEA,IAAMC,WAAW,aAAW9F,WAA5B;EACA,IAAM+F,UAAU,YAAU/F,WAA1B;EACA,IAAMgG,aAAa,eAAahG,WAAhC;EACA,IAAMiG,gBAAgB,kBAAgBjG,WAAtC;EACA,IAAMkG,gBAAgB,kBAAgBlG,WAAtC;EACA,IAAMmG,gBAAgB,kBAAgBnG,WAAtC;EACA,IAAMoG,eAAe,iBAAepG,WAApC;EACA,IAAMqG,cAAc,gBAAcrG,WAAlC;EACA,IAAMsG,iBAAiB,mBAAiBtG,WAAxC;EACA,IAAMuG,eAAe,iBAAevG,WAApC;EACA,IAAMwG,gBAAgB,iBAAexG,WAArC;EACA,IAAMyG,mBAAmB,YAAUzG,WAAV,GAAsBC,cAA/C;EACA,IAAMI,sBAAoB,aAAWL,WAAX,GAAuBC,cAAjD;EAEA,IAAMyG,mBAAmB,GAAG,UAA5B;EACA,IAAM1E,mBAAiB,GAAG,QAA1B;EACA,IAAM2E,gBAAgB,GAAG,OAAzB;EACA,IAAMC,gBAAgB,GAAG,qBAAzB;EACA,IAAMC,eAAe,GAAG,oBAAxB;EACA,IAAMC,eAAe,GAAG,oBAAxB;EACA,IAAMC,eAAe,GAAG,oBAAxB;EACA,IAAMC,wBAAwB,GAAG,eAAjC;EAEA,IAAMzE,iBAAe,GAAG,SAAxB;EACA,IAAM0E,oBAAoB,GAAG,uBAA7B;EACA,IAAMC,aAAa,GAAG,gBAAtB;EACA,IAAMC,iBAAiB,GAAG,oBAA1B;EACA,IAAMC,kBAAkB,GAAG,0CAA3B;EACA,IAAMC,mBAAmB,GAAG,sBAA5B;EACA,IAAMC,mBAAmB,GAAG,+BAA5B;EACA,IAAMC,kBAAkB,GAAG,wBAA3B;EAEA,IAAMC,WAAW,GAAG;EAClBC,EAAAA,KAAK,EAAE,OADW;EAElBC,EAAAA,GAAG,EAAE;EAFa,CAApB;EAKA;;;;;;MAKMC;EACJ,oBAAYhU,OAAZ,EAAqBiC,MAArB,EAA6B;EAC3B,SAAKgS,MAAL,GAAc,IAAd;EACA,SAAKC,SAAL,GAAiB,IAAjB;EACA,SAAKC,cAAL,GAAsB,IAAtB;EACA,SAAKC,SAAL,GAAiB,KAAjB;EACA,SAAKC,UAAL,GAAkB,KAAlB;EACA,SAAKC,YAAL,GAAoB,IAApB;EACA,SAAKC,WAAL,GAAmB,CAAnB;EACA,SAAKC,WAAL,GAAmB,CAAnB;EAEA,SAAKC,OAAL,GAAe,KAAKC,UAAL,CAAgBzS,MAAhB,CAAf;EACA,SAAK8K,QAAL,GAAgB/M,OAAhB;EACA,SAAK2U,kBAAL,GAA0B1J,cAAc,CAAC7F,OAAf,CAAuBsO,mBAAvB,EAA4C,KAAK3G,QAAjD,CAA1B;EACA,SAAK6H,eAAL,GAAuB,kBAAkB/U,QAAQ,CAACyD,eAA3B,IAA8CuR,SAAS,CAACC,cAAV,GAA2B,CAAhG;EACA,SAAKC,aAAL,GAAqB/O,OAAO,CAACvF,MAAM,CAACuU,YAAP,IAAuBvU,MAAM,CAACwU,cAA/B,CAA5B;;EAEA,SAAKC,kBAAL;;EACAvQ,IAAAA,IAAI,CAACC,OAAL,CAAa5E,OAAb,EAAsBoM,UAAtB,EAAgC,IAAhC;EACD;;;;;EAYD;WAEAJ,OAAA,gBAAO;EACL,QAAI,CAAC,KAAKqI,UAAV,EAAsB;EACpB,WAAKc,MAAL,CAAYpD,cAAZ;EACD;EACF;;WAEDqD,kBAAA,2BAAkB;EAChB;EACA;EACA,QAAI,CAACvV,QAAQ,CAACwV,MAAV,IAAoBvS,SAAS,CAAC,KAAKiK,QAAN,CAAjC,EAAkD;EAChD,WAAKf,IAAL;EACD;EACF;;WAEDH,OAAA,gBAAO;EACL,QAAI,CAAC,KAAKwI,UAAV,EAAsB;EACpB,WAAKc,MAAL,CAAYnD,cAAZ;EACD;EACF;;WAEDL,QAAA,eAAMvK,KAAN,EAAa;EACX,QAAI,CAACA,KAAL,EAAY;EACV,WAAKgN,SAAL,GAAiB,IAAjB;EACD;;EAED,QAAInJ,cAAc,CAAC7F,OAAf,CAAuBqO,kBAAvB,EAA2C,KAAK1G,QAAhD,CAAJ,EAA+D;EAC7D9L,MAAAA,oBAAoB,CAAC,KAAK8L,QAAN,CAApB;EACA,WAAKuI,KAAL,CAAW,IAAX;EACD;;EAEDC,IAAAA,aAAa,CAAC,KAAKrB,SAAN,CAAb;EACA,SAAKA,SAAL,GAAiB,IAAjB;EACD;;WAEDoB,QAAA,eAAMlO,KAAN,EAAa;EACX,QAAI,CAACA,KAAL,EAAY;EACV,WAAKgN,SAAL,GAAiB,KAAjB;EACD;;EAED,QAAI,KAAKF,SAAT,EAAoB;EAClBqB,MAAAA,aAAa,CAAC,KAAKrB,SAAN,CAAb;EACA,WAAKA,SAAL,GAAiB,IAAjB;EACD;;EAED,QAAI,KAAKO,OAAL,IAAgB,KAAKA,OAAL,CAAajD,QAA7B,IAAyC,CAAC,KAAK4C,SAAnD,EAA8D;EAC5D,WAAKF,SAAL,GAAiBsB,WAAW,CAC1B,CAAC3V,QAAQ,CAAC4V,eAAT,GAA2B,KAAKL,eAAhC,GAAkD,KAAKpJ,IAAxD,EAA8D0J,IAA9D,CAAmE,IAAnE,CAD0B,EAE1B,KAAKjB,OAAL,CAAajD,QAFa,CAA5B;EAID;EACF;;WAEDmE,KAAA,YAAGC,KAAH,EAAU;EAAA;;EACR,SAAKzB,cAAL,GAAsBlJ,cAAc,CAAC7F,OAAf,CAAuBkO,oBAAvB,EAA6C,KAAKvG,QAAlD,CAAtB;;EACA,QAAM8I,WAAW,GAAG,KAAKC,aAAL,CAAmB,KAAK3B,cAAxB,CAApB;;EAEA,QAAIyB,KAAK,GAAG,KAAK3B,MAAL,CAAY5L,MAAZ,GAAqB,CAA7B,IAAkCuN,KAAK,GAAG,CAA9C,EAAiD;EAC/C;EACD;;EAED,QAAI,KAAKvB,UAAT,EAAqB;EACnBvM,MAAAA,YAAY,CAAC+B,GAAb,CAAiB,KAAKkD,QAAtB,EAAgCqF,UAAhC,EAA4C;EAAA,eAAM,KAAI,CAACuD,EAAL,CAAQC,KAAR,CAAN;EAAA,OAA5C;EACA;EACD;;EAED,QAAIC,WAAW,KAAKD,KAApB,EAA2B;EACzB,WAAKjE,KAAL;EACA,WAAK2D,KAAL;EACA;EACD;;EAED,QAAMS,SAAS,GAAGH,KAAK,GAAGC,WAAR,GAChB9D,cADgB,GAEhBC,cAFF;;EAIA,SAAKmD,MAAL,CAAYY,SAAZ,EAAuB,KAAK9B,MAAL,CAAY2B,KAAZ,CAAvB;EACD;;WAEDtI,UAAA,mBAAU;EACRxF,IAAAA,YAAY,CAACC,GAAb,CAAiB,KAAKgF,QAAtB,EAAgCV,WAAhC;EACA1H,IAAAA,IAAI,CAACI,UAAL,CAAgB,KAAKgI,QAArB,EAA+BX,UAA/B;EAEA,SAAK6H,MAAL,GAAc,IAAd;EACA,SAAKQ,OAAL,GAAe,IAAf;EACA,SAAK1H,QAAL,GAAgB,IAAhB;EACA,SAAKmH,SAAL,GAAiB,IAAjB;EACA,SAAKE,SAAL,GAAiB,IAAjB;EACA,SAAKC,UAAL,GAAkB,IAAlB;EACA,SAAKF,cAAL,GAAsB,IAAtB;EACA,SAAKQ,kBAAL,GAA0B,IAA1B;EACD;;;WAIDD,aAAA,oBAAWzS,MAAX,EAAmB;EACjBA,IAAAA,MAAM,sBACDsP,OADC,MAEDtP,MAFC,CAAN;EAIAF,IAAAA,eAAe,CAACmK,MAAD,EAAOjK,MAAP,EAAe6P,WAAf,CAAf;EACA,WAAO7P,MAAP;EACD;;WAED+T,eAAA,wBAAe;EACb,QAAMC,SAAS,GAAGtW,IAAI,CAACuW,GAAL,CAAS,KAAK1B,WAAd,CAAlB;;EAEA,QAAIyB,SAAS,IAAI3E,eAAjB,EAAkC;EAChC;EACD;;EAED,QAAMyE,SAAS,GAAGE,SAAS,GAAG,KAAKzB,WAAnC;EAEA,SAAKA,WAAL,GAAmB,CAAnB,CATa;;EAYb,QAAIuB,SAAS,GAAG,CAAhB,EAAmB;EACjB,WAAKlK,IAAL;EACD,KAdY;;;EAiBb,QAAIkK,SAAS,GAAG,CAAhB,EAAmB;EACjB,WAAK/J,IAAL;EACD;EACF;;WAEDkJ,qBAAA,8BAAqB;EAAA;;EACnB,QAAI,KAAKT,OAAL,CAAahD,QAAjB,EAA2B;EACzB3J,MAAAA,YAAY,CACT8B,EADH,CACM,KAAKmD,QADX,EACqBsF,aADrB,EACoC,UAAAjL,KAAK;EAAA,eAAI,MAAI,CAAC+O,QAAL,CAAc/O,KAAd,CAAJ;EAAA,OADzC;EAED;;EAED,QAAI,KAAKqN,OAAL,CAAa9C,KAAb,KAAuB,OAA3B,EAAoC;EAClC7J,MAAAA,YAAY,CACT8B,EADH,CACM,KAAKmD,QADX,EACqBuF,gBADrB,EACuC,UAAAlL,KAAK;EAAA,eAAI,MAAI,CAACuK,KAAL,CAAWvK,KAAX,CAAJ;EAAA,OAD5C;EAEAU,MAAAA,YAAY,CACT8B,EADH,CACM,KAAKmD,QADX,EACqBwF,gBADrB,EACuC,UAAAnL,KAAK;EAAA,eAAI,MAAI,CAACkO,KAAL,CAAWlO,KAAX,CAAJ;EAAA,OAD5C;EAED;;EAED,QAAI,KAAKqN,OAAL,CAAa5C,KAAb,IAAsB,KAAK+C,eAA/B,EAAgD;EAC9C,WAAKwB,uBAAL;EACD;EACF;;WAEDA,0BAAA,mCAA0B;EAAA;;EACxB,QAAMC,KAAK,GAAG,SAARA,KAAQ,CAAAjP,KAAK,EAAI;EACrB,UAAI,MAAI,CAAC2N,aAAL,IAAsBlB,WAAW,CAACzM,KAAK,CAACkP,WAAN,CAAkBzT,WAAlB,EAAD,CAArC,EAAwE;EACtE,QAAA,MAAI,CAAC0R,WAAL,GAAmBnN,KAAK,CAACmP,OAAzB;EACD,OAFD,MAEO,IAAI,CAAC,MAAI,CAACxB,aAAV,EAAyB;EAC9B,QAAA,MAAI,CAACR,WAAL,GAAmBnN,KAAK,CAACoP,OAAN,CAAc,CAAd,EAAiBD,OAApC;EACD;EACF,KAND;;EAQA,QAAME,IAAI,GAAG,SAAPA,IAAO,CAAArP,KAAK,EAAI;EACpB;EACA,UAAIA,KAAK,CAACoP,OAAN,IAAiBpP,KAAK,CAACoP,OAAN,CAAcnO,MAAd,GAAuB,CAA5C,EAA+C;EAC7C,QAAA,MAAI,CAACmM,WAAL,GAAmB,CAAnB;EACD,OAFD,MAEO;EACL,QAAA,MAAI,CAACA,WAAL,GAAmBpN,KAAK,CAACoP,OAAN,CAAc,CAAd,EAAiBD,OAAjB,GAA2B,MAAI,CAAChC,WAAnD;EACD;EACF,KAPD;;EASA,QAAMmC,GAAG,GAAG,SAANA,GAAM,CAAAtP,KAAK,EAAI;EACnB,UAAI,MAAI,CAAC2N,aAAL,IAAsBlB,WAAW,CAACzM,KAAK,CAACkP,WAAN,CAAkBzT,WAAlB,EAAD,CAArC,EAAwE;EACtE,QAAA,MAAI,CAAC2R,WAAL,GAAmBpN,KAAK,CAACmP,OAAN,GAAgB,MAAI,CAAChC,WAAxC;EACD;;EAED,MAAA,MAAI,CAACyB,YAAL;;EACA,UAAI,MAAI,CAACvB,OAAL,CAAa9C,KAAb,KAAuB,OAA3B,EAAoC;EAClC;EACA;EACA;EACA;EACA;EACA;EACA;EAEA,QAAA,MAAI,CAACA,KAAL;;EACA,YAAI,MAAI,CAAC2C,YAAT,EAAuB;EACrBqC,UAAAA,YAAY,CAAC,MAAI,CAACrC,YAAN,CAAZ;EACD;;EAED,QAAA,MAAI,CAACA,YAAL,GAAoBxS,UAAU,CAAC,UAAAsF,KAAK;EAAA,iBAAI,MAAI,CAACkO,KAAL,CAAWlO,KAAX,CAAJ;EAAA,SAAN,EAA6BiK,sBAAsB,GAAG,MAAI,CAACoD,OAAL,CAAajD,QAAnE,CAA9B;EACD;EACF,KAtBD;;EAwBAvG,IAAAA,cAAc,CAACjG,IAAf,CAAoBwO,iBAApB,EAAuC,KAAKzG,QAA5C,EAAsD1K,OAAtD,CAA8D,UAAAuU,OAAO,EAAI;EACvE9O,MAAAA,YAAY,CAAC8B,EAAb,CAAgBgN,OAAhB,EAAyB/D,gBAAzB,EAA2C,UAAAvN,CAAC;EAAA,eAAIA,CAAC,CAACI,cAAF,EAAJ;EAAA,OAA5C;EACD,KAFD;;EAIA,QAAI,KAAKqP,aAAT,EAAwB;EACtBjN,MAAAA,YAAY,CAAC8B,EAAb,CAAgB,KAAKmD,QAArB,EAA+B4F,iBAA/B,EAAkD,UAAAvL,KAAK;EAAA,eAAIiP,KAAK,CAACjP,KAAD,CAAT;EAAA,OAAvD;EACAU,MAAAA,YAAY,CAAC8B,EAAb,CAAgB,KAAKmD,QAArB,EAA+B6F,eAA/B,EAAgD,UAAAxL,KAAK;EAAA,eAAIsP,GAAG,CAACtP,KAAD,CAAP;EAAA,OAArD;;EAEA,WAAK2F,QAAL,CAAcS,SAAd,CAAwBkC,GAAxB,CAA4B2D,wBAA5B;EACD,KALD,MAKO;EACLvL,MAAAA,YAAY,CAAC8B,EAAb,CAAgB,KAAKmD,QAArB,EAA+ByF,gBAA/B,EAAiD,UAAApL,KAAK;EAAA,eAAIiP,KAAK,CAACjP,KAAD,CAAT;EAAA,OAAtD;EACAU,MAAAA,YAAY,CAAC8B,EAAb,CAAgB,KAAKmD,QAArB,EAA+B0F,eAA/B,EAAgD,UAAArL,KAAK;EAAA,eAAIqP,IAAI,CAACrP,KAAD,CAAR;EAAA,OAArD;EACAU,MAAAA,YAAY,CAAC8B,EAAb,CAAgB,KAAKmD,QAArB,EAA+B2F,cAA/B,EAA+C,UAAAtL,KAAK;EAAA,eAAIsP,GAAG,CAACtP,KAAD,CAAP;EAAA,OAApD;EACD;EACF;;WAED+O,WAAA,kBAAS/O,KAAT,EAAgB;EACd,QAAI,kBAAkBzE,IAAlB,CAAuByE,KAAK,CAACe,MAAN,CAAa0O,OAApC,CAAJ,EAAkD;EAChD;EACD;;EAED,YAAQzP,KAAK,CAACC,KAAd;EACE,WAAK8J,kBAAL;EACE/J,QAAAA,KAAK,CAAC1B,cAAN;EACA,aAAKmG,IAAL;EACA;;EACF,WAAKuF,mBAAL;EACEhK,QAAAA,KAAK,CAAC1B,cAAN;EACA,aAAKsG,IAAL;EACA;EARJ;EAWD;;WAED8J,gBAAA,uBAAc9V,OAAd,EAAuB;EACrB,SAAKiU,MAAL,GAAcjU,OAAO,IAAIA,OAAO,CAACgD,UAAnB,GACZiI,cAAc,CAACjG,IAAf,CAAoBuO,aAApB,EAAmCvT,OAAO,CAACgD,UAA3C,CADY,GAEZ,EAFF;EAIA,WAAO,KAAKiR,MAAL,CAAY9K,OAAZ,CAAoBnJ,OAApB,CAAP;EACD;;WAED8W,sBAAA,6BAAoBf,SAApB,EAA+BzG,aAA/B,EAA8C;EAC5C,QAAMyH,eAAe,GAAGhB,SAAS,KAAKhE,cAAtC;EACA,QAAMiF,eAAe,GAAGjB,SAAS,KAAK/D,cAAtC;;EACA,QAAM6D,WAAW,GAAG,KAAKC,aAAL,CAAmBxG,aAAnB,CAApB;;EACA,QAAM2H,aAAa,GAAG,KAAKhD,MAAL,CAAY5L,MAAZ,GAAqB,CAA3C;EACA,QAAM6O,aAAa,GAAIF,eAAe,IAAInB,WAAW,KAAK,CAApC,IACGkB,eAAe,IAAIlB,WAAW,KAAKoB,aAD5D;;EAGA,QAAIC,aAAa,IAAI,CAAC,KAAKzC,OAAL,CAAa7C,IAAnC,EAAyC;EACvC,aAAOtC,aAAP;EACD;;EAED,QAAM6H,KAAK,GAAGpB,SAAS,KAAK/D,cAAd,GAA+B,CAAC,CAAhC,GAAoC,CAAlD;EACA,QAAMoF,SAAS,GAAG,CAACvB,WAAW,GAAGsB,KAAf,IAAwB,KAAKlD,MAAL,CAAY5L,MAAtD;EAEA,WAAO+O,SAAS,KAAK,CAAC,CAAf,GACL,KAAKnD,MAAL,CAAY,KAAKA,MAAL,CAAY5L,MAAZ,GAAqB,CAAjC,CADK,GAEL,KAAK4L,MAAL,CAAYmD,SAAZ,CAFF;EAGD;;WAEDC,qBAAA,4BAAmBC,aAAnB,EAAkCC,kBAAlC,EAAsD;EACpD,QAAMC,WAAW,GAAG,KAAK1B,aAAL,CAAmBwB,aAAnB,CAApB;;EACA,QAAMG,SAAS,GAAG,KAAK3B,aAAL,CAAmB7K,cAAc,CAAC7F,OAAf,CAAuBkO,oBAAvB,EAA6C,KAAKvG,QAAlD,CAAnB,CAAlB;;EAEA,WAAOjF,YAAY,CAACsC,OAAb,CAAqB,KAAK2C,QAA1B,EAAoCoF,WAApC,EAAiD;EACtDmF,MAAAA,aAAa,EAAbA,aADsD;EAEtDvB,MAAAA,SAAS,EAAEwB,kBAF2C;EAGtDG,MAAAA,IAAI,EAAED,SAHgD;EAItD9B,MAAAA,EAAE,EAAE6B;EAJkD,KAAjD,CAAP;EAMD;;WAEDG,6BAAA,oCAA2B3X,OAA3B,EAAoC;EAClC,QAAI,KAAK2U,kBAAT,EAA6B;EAC3B,UAAMiD,UAAU,GAAG3M,cAAc,CAACjG,IAAf,CAAoB4J,iBAApB,EAAqC,KAAK+F,kBAA1C,CAAnB;;EACA,WAAK,IAAIvM,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGwP,UAAU,CAACvP,MAA/B,EAAuCD,CAAC,EAAxC,EAA4C;EAC1CwP,QAAAA,UAAU,CAACxP,CAAD,CAAV,CAAcoF,SAAd,CAAwBC,MAAxB,CAA+BY,mBAA/B;EACD;;EAED,UAAMwJ,aAAa,GAAG,KAAKlD,kBAAL,CAAwBvJ,QAAxB,CACpB,KAAK0K,aAAL,CAAmB9V,OAAnB,CADoB,CAAtB;;EAIA,UAAI6X,aAAJ,EAAmB;EACjBA,QAAAA,aAAa,CAACrK,SAAd,CAAwBkC,GAAxB,CAA4BrB,mBAA5B;EACD;EACF;EACF;;WAED8G,SAAA,gBAAOY,SAAP,EAAkB/V,OAAlB,EAA2B;EAAA;;EACzB,QAAMsP,aAAa,GAAGrE,cAAc,CAAC7F,OAAf,CAAuBkO,oBAAvB,EAA6C,KAAKvG,QAAlD,CAAtB;;EACA,QAAM+K,kBAAkB,GAAG,KAAKhC,aAAL,CAAmBxG,aAAnB,CAA3B;;EACA,QAAMyI,WAAW,GAAG/X,OAAO,IAAKsP,aAAa,IAC3C,KAAKwH,mBAAL,CAAyBf,SAAzB,EAAoCzG,aAApC,CADF;;EAGA,QAAM0I,gBAAgB,GAAG,KAAKlC,aAAL,CAAmBiC,WAAnB,CAAzB;;EACA,QAAME,SAAS,GAAGjS,OAAO,CAAC,KAAKkO,SAAN,CAAzB;EAEA,QAAIgE,oBAAJ;EACA,QAAIC,cAAJ;EACA,QAAIZ,kBAAJ;;EAEA,QAAIxB,SAAS,KAAKhE,cAAlB,EAAkC;EAChCmG,MAAAA,oBAAoB,GAAGhF,eAAvB;EACAiF,MAAAA,cAAc,GAAGhF,eAAjB;EACAoE,MAAAA,kBAAkB,GAAGtF,cAArB;EACD,KAJD,MAIO;EACLiG,MAAAA,oBAAoB,GAAGjF,gBAAvB;EACAkF,MAAAA,cAAc,GAAG/E,eAAjB;EACAmE,MAAAA,kBAAkB,GAAGrF,eAArB;EACD;;EAED,QAAI6F,WAAW,IAAIA,WAAW,CAACvK,SAAZ,CAAsBE,QAAtB,CAA+BW,mBAA/B,CAAnB,EAAsE;EACpE,WAAKgG,UAAL,GAAkB,KAAlB;EACA;EACD;;EAED,QAAM+D,UAAU,GAAG,KAAKf,kBAAL,CAAwBU,WAAxB,EAAqCR,kBAArC,CAAnB;;EACA,QAAIa,UAAU,CAACzS,gBAAf,EAAiC;EAC/B;EACD;;EAED,QAAI,CAAC2J,aAAD,IAAkB,CAACyI,WAAvB,EAAoC;EAClC;EACA;EACD;;EAED,SAAK1D,UAAL,GAAkB,IAAlB;;EAEA,QAAI4D,SAAJ,EAAe;EACb,WAAKtG,KAAL;EACD;;EAED,SAAKgG,0BAAL,CAAgCI,WAAhC;;EAEA,QAAI,KAAKhL,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCsF,gBAAjC,CAAJ,EAAwD;EACtD+E,MAAAA,WAAW,CAACvK,SAAZ,CAAsBkC,GAAtB,CAA0ByI,cAA1B;EAEAvU,MAAAA,MAAM,CAACmU,WAAD,CAAN;EAEAzI,MAAAA,aAAa,CAAC9B,SAAd,CAAwBkC,GAAxB,CAA4BwI,oBAA5B;EACAH,MAAAA,WAAW,CAACvK,SAAZ,CAAsBkC,GAAtB,CAA0BwI,oBAA1B;EAEA,UAAMG,mBAAmB,GAAGC,QAAQ,CAACP,WAAW,CAAC7X,YAAZ,CAAyB,eAAzB,CAAD,EAA4C,EAA5C,CAApC;;EACA,UAAImY,mBAAJ,EAAyB;EACvB,aAAK5D,OAAL,CAAa8D,eAAb,GAA+B,KAAK9D,OAAL,CAAa8D,eAAb,IAAgC,KAAK9D,OAAL,CAAajD,QAA5E;EACA,aAAKiD,OAAL,CAAajD,QAAb,GAAwB6G,mBAAxB;EACD,OAHD,MAGO;EACL,aAAK5D,OAAL,CAAajD,QAAb,GAAwB,KAAKiD,OAAL,CAAa8D,eAAb,IAAgC,KAAK9D,OAAL,CAAajD,QAArE;EACD;;EAED,UAAM7Q,kBAAkB,GAAGH,gCAAgC,CAAC8O,aAAD,CAA3D;EAEAxH,MAAAA,YAAY,CACT+B,GADH,CACOyF,aADP,EACsBrQ,cADtB,EACsC,YAAM;EACxC8Y,QAAAA,WAAW,CAACvK,SAAZ,CAAsBC,MAAtB,CAA6ByK,oBAA7B;EACAH,QAAAA,WAAW,CAACvK,SAAZ,CAAsBC,MAAtB,CAA6B0K,cAA7B;EACAJ,QAAAA,WAAW,CAACvK,SAAZ,CAAsBkC,GAAtB,CAA0BrB,mBAA1B;EAEAiB,QAAAA,aAAa,CAAC9B,SAAd,CAAwBC,MAAxB,CAA+BY,mBAA/B;EACAiB,QAAAA,aAAa,CAAC9B,SAAd,CAAwBC,MAAxB,CAA+B0K,cAA/B;EACA7I,QAAAA,aAAa,CAAC9B,SAAd,CAAwBC,MAAxB,CAA+ByK,oBAA/B;EAEA,QAAA,MAAI,CAAC7D,UAAL,GAAkB,KAAlB;EAEAvS,QAAAA,UAAU,CAAC,YAAM;EACfgG,UAAAA,YAAY,CAACsC,OAAb,CAAqB,MAAI,CAAC2C,QAA1B,EAAoCqF,UAApC,EAAgD;EAC9CkF,YAAAA,aAAa,EAAES,WAD+B;EAE9ChC,YAAAA,SAAS,EAAEwB,kBAFmC;EAG9CG,YAAAA,IAAI,EAAEI,kBAHwC;EAI9CnC,YAAAA,EAAE,EAAEqC;EAJ0C,WAAhD;EAMD,SAPS,EAOP,CAPO,CAAV;EAQD,OApBH;EAsBA1W,MAAAA,oBAAoB,CAACgO,aAAD,EAAgB3O,kBAAhB,CAApB;EACD,KAzCD,MAyCO;EACL2O,MAAAA,aAAa,CAAC9B,SAAd,CAAwBC,MAAxB,CAA+BY,mBAA/B;EACA0J,MAAAA,WAAW,CAACvK,SAAZ,CAAsBkC,GAAtB,CAA0BrB,mBAA1B;EAEA,WAAKgG,UAAL,GAAkB,KAAlB;EACAvM,MAAAA,YAAY,CAACsC,OAAb,CAAqB,KAAK2C,QAA1B,EAAoCqF,UAApC,EAAgD;EAC9CkF,QAAAA,aAAa,EAAES,WAD+B;EAE9ChC,QAAAA,SAAS,EAAEwB,kBAFmC;EAG9CG,QAAAA,IAAI,EAAEI,kBAHwC;EAI9CnC,QAAAA,EAAE,EAAEqC;EAJ0C,OAAhD;EAMD;;EAED,QAAIC,SAAJ,EAAe;EACb,WAAK3C,KAAL;EACD;EACF;;;aAIMkD,oBAAP,2BAAyBxY,OAAzB,EAAkCiC,MAAlC,EAA0C;EACxC,QAAIsC,IAAI,GAAGI,IAAI,CAACG,OAAL,CAAa9E,OAAb,EAAsBoM,UAAtB,CAAX;;EACA,QAAIqI,OAAO,sBACNlD,OADM,MAENvB,WAAW,CAACG,iBAAZ,CAA8BnQ,OAA9B,CAFM,CAAX;;EAKA,QAAI,OAAOiC,MAAP,KAAkB,QAAtB,EAAgC;EAC9BwS,MAAAA,OAAO,sBACFA,OADE,MAEFxS,MAFE,CAAP;EAID;;EAED,QAAMwW,MAAM,GAAG,OAAOxW,MAAP,KAAkB,QAAlB,GAA6BA,MAA7B,GAAsCwS,OAAO,CAAC/C,KAA7D;;EAEA,QAAI,CAACnN,IAAL,EAAW;EACTA,MAAAA,IAAI,GAAG,IAAIyP,QAAJ,CAAahU,OAAb,EAAsByU,OAAtB,CAAP;EACD;;EAED,QAAI,OAAOxS,MAAP,KAAkB,QAAtB,EAAgC;EAC9BsC,MAAAA,IAAI,CAACoR,EAAL,CAAQ1T,MAAR;EACD,KAFD,MAEO,IAAI,OAAOwW,MAAP,KAAkB,QAAtB,EAAgC;EACrC,UAAI,OAAOlU,IAAI,CAACkU,MAAD,CAAX,KAAwB,WAA5B,EAAyC;EACvC,cAAM,IAAIC,SAAJ,wBAAkCD,MAAlC,QAAN;EACD;;EAEDlU,MAAAA,IAAI,CAACkU,MAAD,CAAJ;EACD,KANM,MAMA,IAAIhE,OAAO,CAACjD,QAAR,IAAoBiD,OAAO,CAACkE,IAAhC,EAAsC;EAC3CpU,MAAAA,IAAI,CAACoN,KAAL;EACApN,MAAAA,IAAI,CAAC+Q,KAAL;EACD;EACF;;aAEMzH,kBAAP,yBAAuB5L,MAAvB,EAA+B;EAC7B,WAAO,KAAK6L,IAAL,CAAU,YAAY;EAC3BkG,MAAAA,QAAQ,CAACwE,iBAAT,CAA2B,IAA3B,EAAiCvW,MAAjC;EACD,KAFM,CAAP;EAGD;;aAEM2W,sBAAP,6BAA2BxR,KAA3B,EAAkC;EAChC,QAAMe,MAAM,GAAG5H,sBAAsB,CAAC,IAAD,CAArC;;EAEA,QAAI,CAAC4H,MAAD,IAAW,CAACA,MAAM,CAACqF,SAAP,CAAiBE,QAAjB,CAA0BqF,mBAA1B,CAAhB,EAAgE;EAC9D;EACD;;EAED,QAAM9Q,MAAM,sBACP+N,WAAW,CAACG,iBAAZ,CAA8BhI,MAA9B,CADO,MAEP6H,WAAW,CAACG,iBAAZ,CAA8B,IAA9B,CAFO,CAAZ;;EAIA,QAAM0I,UAAU,GAAG,KAAK3Y,YAAL,CAAkB,eAAlB,CAAnB;;EAEA,QAAI2Y,UAAJ,EAAgB;EACd5W,MAAAA,MAAM,CAACuP,QAAP,GAAkB,KAAlB;EACD;;EAEDwC,IAAAA,QAAQ,CAACwE,iBAAT,CAA2BrQ,MAA3B,EAAmClG,MAAnC;;EAEA,QAAI4W,UAAJ,EAAgB;EACdlU,MAAAA,IAAI,CAACG,OAAL,CAAaqD,MAAb,EAAqBiE,UAArB,EAA+BuJ,EAA/B,CAAkCkD,UAAlC;EACD;;EAEDzR,IAAAA,KAAK,CAAC1B,cAAN;EACD;;aAEMuI,cAAP,qBAAmBjO,OAAnB,EAA4B;EAC1B,WAAO2E,IAAI,CAACG,OAAL,CAAa9E,OAAb,EAAsBoM,UAAtB,CAAP;EACD;;;;0BA7coB;EACnB,aAAOD,SAAP;EACD;;;0BAEoB;EACnB,aAAOoF,OAAP;EACD;;;;;EA0cH;;;;;;;EAMAzJ,YAAY,CACT8B,EADH,CACM/J,QADN,EACgB6M,sBADhB,EACsCiH,mBADtC,EAC2DK,QAAQ,CAAC4E,mBADpE;EAGA9Q,YAAY,CAAC8B,EAAb,CAAgBnJ,MAAhB,EAAwBqS,mBAAxB,EAA6C,YAAM;EACjD,MAAMgG,SAAS,GAAG7N,cAAc,CAACjG,IAAf,CAAoB4O,kBAApB,CAAlB;;EAEA,OAAK,IAAIxL,CAAC,GAAG,CAAR,EAAWM,GAAG,GAAGoQ,SAAS,CAACzQ,MAAhC,EAAwCD,CAAC,GAAGM,GAA5C,EAAiDN,CAAC,EAAlD,EAAsD;EACpD4L,IAAAA,QAAQ,CAACwE,iBAAT,CAA2BM,SAAS,CAAC1Q,CAAD,CAApC,EAAyCzD,IAAI,CAACG,OAAL,CAAagU,SAAS,CAAC1Q,CAAD,CAAtB,EAA2BgE,UAA3B,CAAzC;EACD;EACF,CAND;EAQA,IAAM/F,GAAC,GAAGvC,SAAS,EAAnB;EAEA;;;;;;;EAMA;;EACA,IAAIuC,GAAJ,EAAO;EACL,MAAM6H,oBAAkB,GAAG7H,GAAC,CAACsB,EAAF,CAAKuE,MAAL,CAA3B;EACA7F,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,IAAa8H,QAAQ,CAACnG,eAAtB;EACAxH,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,EAAWiC,WAAX,GAAyB6F,QAAzB;;EACA3N,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,EAAWkC,UAAX,GAAwB,YAAM;EAC5B/H,IAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,IAAagC,oBAAb;EACA,WAAO8F,QAAQ,CAACnG,eAAhB;EACD,GAHD;EAID;;EC3lBD;;;;;;EAMA,IAAM3B,MAAI,GAAG,UAAb;EACA,IAAMC,SAAO,GAAG,OAAhB;EACA,IAAMC,UAAQ,GAAG,aAAjB;EACA,IAAMC,WAAS,SAAOD,UAAtB;EACA,IAAME,cAAY,GAAG,WAArB;EAEA,IAAMiF,SAAO,GAAG;EACdtC,EAAAA,MAAM,EAAE,IADM;EAEd1B,EAAAA,MAAM,EAAE;EAFM,CAAhB;EAKA,IAAMuE,aAAW,GAAG;EAClB7C,EAAAA,MAAM,EAAE,SADU;EAElB1B,EAAAA,MAAM,EAAE;EAFU,CAApB;EAKA,IAAMwL,UAAU,YAAU1M,WAA1B;EACA,IAAM2M,WAAW,aAAW3M,WAA5B;EACA,IAAM4M,UAAU,YAAU5M,WAA1B;EACA,IAAM6M,YAAY,cAAY7M,WAA9B;EACA,IAAMK,sBAAoB,aAAWL,WAAX,GAAuBC,cAAjD;EAEA,IAAM6M,eAAe,GAAG,MAAxB;EACA,IAAMC,mBAAmB,GAAG,UAA5B;EACA,IAAMC,qBAAqB,GAAG,YAA9B;EACA,IAAMC,oBAAoB,GAAG,WAA7B;EAEA,IAAMC,KAAK,GAAG,OAAd;EACA,IAAMC,MAAM,GAAG,QAAf;EAEA,IAAMC,gBAAgB,GAAG,oBAAzB;EACA,IAAM/K,sBAAoB,GAAG,0BAA7B;EAEA;;;;;;MAMMgL;EACJ,oBAAY1Z,OAAZ,EAAqBiC,MAArB,EAA6B;EAC3B,SAAK0X,gBAAL,GAAwB,KAAxB;EACA,SAAK5M,QAAL,GAAgB/M,OAAhB;EACA,SAAKyU,OAAL,GAAe,KAAKC,UAAL,CAAgBzS,MAAhB,CAAf;EACA,SAAK2X,aAAL,GAAqB3O,cAAc,CAACjG,IAAf,CAChB0J,sBAAH,iBAAkC1O,OAAO,CAACoE,EAA1C,aACGsK,sBADH,wBACyC1O,OAAO,CAACoE,EADjD,SADmB,CAArB;EAKA,QAAMyV,UAAU,GAAG5O,cAAc,CAACjG,IAAf,CAAoB0J,sBAApB,CAAnB;;EAEA,SAAK,IAAItG,CAAC,GAAG,CAAR,EAAWM,GAAG,GAAGmR,UAAU,CAACxR,MAAjC,EAAyCD,CAAC,GAAGM,GAA7C,EAAkDN,CAAC,EAAnD,EAAuD;EACrD,UAAM0R,IAAI,GAAGD,UAAU,CAACzR,CAAD,CAAvB;EACA,UAAMnI,QAAQ,GAAGI,sBAAsB,CAACyZ,IAAD,CAAvC;EACA,UAAMC,aAAa,GAAG9O,cAAc,CAACjG,IAAf,CAAoB/E,QAApB,EACnBoL,MADmB,CACZ,UAAA2O,SAAS;EAAA,eAAIA,SAAS,KAAKha,OAAlB;EAAA,OADG,CAAtB;;EAGA,UAAIC,QAAQ,KAAK,IAAb,IAAqB8Z,aAAa,CAAC1R,MAAvC,EAA+C;EAC7C,aAAK4R,SAAL,GAAiBha,QAAjB;;EACA,aAAK2Z,aAAL,CAAmBjO,IAAnB,CAAwBmO,IAAxB;EACD;EACF;;EAED,SAAKI,OAAL,GAAe,KAAKzF,OAAL,CAAalH,MAAb,GAAsB,KAAK4M,UAAL,EAAtB,GAA0C,IAAzD;;EAEA,QAAI,CAAC,KAAK1F,OAAL,CAAalH,MAAlB,EAA0B;EACxB,WAAK6M,yBAAL,CAA+B,KAAKrN,QAApC,EAA8C,KAAK6M,aAAnD;EACD;;EAED,QAAI,KAAKnF,OAAL,CAAaxF,MAAjB,EAAyB;EACvB,WAAKA,MAAL;EACD;;EAEDtK,IAAAA,IAAI,CAACC,OAAL,CAAa5E,OAAb,EAAsBoM,UAAtB,EAAgC,IAAhC;EACD;;;;;EAYD;WAEA6C,SAAA,kBAAS;EACP,QAAI,KAAKlC,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCyL,eAAjC,CAAJ,EAAuD;EACrD,WAAKkB,IAAL;EACD,KAFD,MAEO;EACL,WAAKC,IAAL;EACD;EACF;;WAEDA,OAAA,gBAAO;EAAA;;EACL,QAAI,KAAKX,gBAAL,IACF,KAAK5M,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCyL,eAAjC,CADF,EACqD;EACnD;EACD;;EAED,QAAIoB,OAAJ;EACA,QAAIC,WAAJ;;EAEA,QAAI,KAAKN,OAAT,EAAkB;EAChBK,MAAAA,OAAO,GAAGtP,cAAc,CAACjG,IAAf,CAAoByU,gBAApB,EAAsC,KAAKS,OAA3C,EACP7O,MADO,CACA,UAAAyO,IAAI,EAAI;EACd,YAAI,OAAO,KAAI,CAACrF,OAAL,CAAalH,MAApB,KAA+B,QAAnC,EAA6C;EAC3C,iBAAOuM,IAAI,CAAC5Z,YAAL,CAAkB,aAAlB,MAAqC,KAAI,CAACuU,OAAL,CAAalH,MAAzD;EACD;;EAED,eAAOuM,IAAI,CAACtM,SAAL,CAAeE,QAAf,CAAwB0L,mBAAxB,CAAP;EACD,OAPO,CAAV;;EASA,UAAImB,OAAO,CAAClS,MAAR,KAAmB,CAAvB,EAA0B;EACxBkS,QAAAA,OAAO,GAAG,IAAV;EACD;EACF;;EAED,QAAME,SAAS,GAAGxP,cAAc,CAAC7F,OAAf,CAAuB,KAAK6U,SAA5B,CAAlB;;EACA,QAAIM,OAAJ,EAAa;EACX,UAAMG,cAAc,GAAGH,OAAO,CAAClP,MAAR,CAAe,UAAAyO,IAAI;EAAA,eAAIW,SAAS,KAAKX,IAAlB;EAAA,OAAnB,CAAvB;EACAU,MAAAA,WAAW,GAAGE,cAAc,CAAC,CAAD,CAAd,GAAoB/V,IAAI,CAACG,OAAL,CAAa4V,cAAc,CAAC,CAAD,CAA3B,EAAgCtO,UAAhC,CAApB,GAAgE,IAA9E;;EAEA,UAAIoO,WAAW,IAAIA,WAAW,CAACb,gBAA/B,EAAiD;EAC/C;EACD;EACF;;EAED,QAAMgB,UAAU,GAAG7S,YAAY,CAACsC,OAAb,CAAqB,KAAK2C,QAA1B,EAAoCgM,UAApC,CAAnB;;EACA,QAAI4B,UAAU,CAAChV,gBAAf,EAAiC;EAC/B;EACD;;EAED,QAAI4U,OAAJ,EAAa;EACXA,MAAAA,OAAO,CAAClY,OAAR,CAAgB,UAAAuY,UAAU,EAAI;EAC5B,YAAIH,SAAS,KAAKG,UAAlB,EAA8B;EAC5BlB,UAAAA,QAAQ,CAACmB,iBAAT,CAA2BD,UAA3B,EAAuC,MAAvC;EACD;;EAED,YAAI,CAACJ,WAAL,EAAkB;EAChB7V,UAAAA,IAAI,CAACC,OAAL,CAAagW,UAAb,EAAyBxO,UAAzB,EAAmC,IAAnC;EACD;EACF,OARD;EASD;;EAED,QAAM0O,SAAS,GAAG,KAAKC,aAAL,EAAlB;;EAEA,SAAKhO,QAAL,CAAcS,SAAd,CAAwBC,MAAxB,CAA+B2L,mBAA/B;;EACA,SAAKrM,QAAL,CAAcS,SAAd,CAAwBkC,GAAxB,CAA4B2J,qBAA5B;;EAEA,SAAKtM,QAAL,CAAchK,KAAd,CAAoB+X,SAApB,IAAiC,CAAjC;;EAEA,QAAI,KAAKlB,aAAL,CAAmBvR,MAAvB,EAA+B;EAC7B,WAAKuR,aAAL,CAAmBvX,OAAnB,CAA2B,UAAArC,OAAO,EAAI;EACpCA,QAAAA,OAAO,CAACwN,SAAR,CAAkBC,MAAlB,CAAyB6L,oBAAzB;EACAtZ,QAAAA,OAAO,CAACwP,YAAR,CAAqB,eAArB,EAAsC,IAAtC;EACD,OAHD;EAID;;EAED,SAAKwL,gBAAL,CAAsB,IAAtB;;EAEA,QAAMC,QAAQ,GAAG,SAAXA,QAAW,GAAM;EACrB,MAAA,KAAI,CAAClO,QAAL,CAAcS,SAAd,CAAwBC,MAAxB,CAA+B4L,qBAA/B;;EACA,MAAA,KAAI,CAACtM,QAAL,CAAcS,SAAd,CAAwBkC,GAAxB,CAA4B0J,mBAA5B;;EACA,MAAA,KAAI,CAACrM,QAAL,CAAcS,SAAd,CAAwBkC,GAAxB,CAA4ByJ,eAA5B;;EAEA,MAAA,KAAI,CAACpM,QAAL,CAAchK,KAAd,CAAoB+X,SAApB,IAAiC,EAAjC;;EAEA,MAAA,KAAI,CAACE,gBAAL,CAAsB,KAAtB;;EAEAlT,MAAAA,YAAY,CAACsC,OAAb,CAAqB,KAAI,CAAC2C,QAA1B,EAAoCiM,WAApC;EACD,KAVD;;EAYA,QAAMkC,oBAAoB,GAAGJ,SAAS,CAAC,CAAD,CAAT,CAAajY,WAAb,KAA6BiY,SAAS,CAAC5Q,KAAV,CAAgB,CAAhB,CAA1D;EACA,QAAMiR,UAAU,cAAYD,oBAA5B;EACA,QAAMva,kBAAkB,GAAGH,gCAAgC,CAAC,KAAKuM,QAAN,CAA3D;EAEAjF,IAAAA,YAAY,CAAC+B,GAAb,CAAiB,KAAKkD,QAAtB,EAAgC9N,cAAhC,EAAgDgc,QAAhD;EAEA3Z,IAAAA,oBAAoB,CAAC,KAAKyL,QAAN,EAAgBpM,kBAAhB,CAApB;EACA,SAAKoM,QAAL,CAAchK,KAAd,CAAoB+X,SAApB,IAAoC,KAAK/N,QAAL,CAAcoO,UAAd,CAApC;EACD;;WAEDd,OAAA,gBAAO;EAAA;;EACL,QAAI,KAAKV,gBAAL,IACF,CAAC,KAAK5M,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCyL,eAAjC,CADH,EACsD;EACpD;EACD;;EAED,QAAMwB,UAAU,GAAG7S,YAAY,CAACsC,OAAb,CAAqB,KAAK2C,QAA1B,EAAoCkM,UAApC,CAAnB;;EACA,QAAI0B,UAAU,CAAChV,gBAAf,EAAiC;EAC/B;EACD;;EAED,QAAMmV,SAAS,GAAG,KAAKC,aAAL,EAAlB;;EAEA,SAAKhO,QAAL,CAAchK,KAAd,CAAoB+X,SAApB,IAAoC,KAAK/N,QAAL,CAAc0D,qBAAd,GAAsCqK,SAAtC,CAApC;EAEAlX,IAAAA,MAAM,CAAC,KAAKmJ,QAAN,CAAN;;EAEA,SAAKA,QAAL,CAAcS,SAAd,CAAwBkC,GAAxB,CAA4B2J,qBAA5B;;EACA,SAAKtM,QAAL,CAAcS,SAAd,CAAwBC,MAAxB,CAA+B2L,mBAA/B;;EACA,SAAKrM,QAAL,CAAcS,SAAd,CAAwBC,MAAxB,CAA+B0L,eAA/B;;EAEA,QAAMiC,kBAAkB,GAAG,KAAKxB,aAAL,CAAmBvR,MAA9C;;EACA,QAAI+S,kBAAkB,GAAG,CAAzB,EAA4B;EAC1B,WAAK,IAAIhT,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGgT,kBAApB,EAAwChT,CAAC,EAAzC,EAA6C;EAC3C,YAAMgC,OAAO,GAAG,KAAKwP,aAAL,CAAmBxR,CAAnB,CAAhB;EACA,YAAM0R,IAAI,GAAGvZ,sBAAsB,CAAC6J,OAAD,CAAnC;;EAEA,YAAI0P,IAAI,IAAI,CAACA,IAAI,CAACtM,SAAL,CAAeE,QAAf,CAAwByL,eAAxB,CAAb,EAAuD;EACrD/O,UAAAA,OAAO,CAACoD,SAAR,CAAkBkC,GAAlB,CAAsB4J,oBAAtB;EACAlP,UAAAA,OAAO,CAACoF,YAAR,CAAqB,eAArB,EAAsC,KAAtC;EACD;EACF;EACF;;EAED,SAAKwL,gBAAL,CAAsB,IAAtB;;EAEA,QAAMC,QAAQ,GAAG,SAAXA,QAAW,GAAM;EACrB,MAAA,MAAI,CAACD,gBAAL,CAAsB,KAAtB;;EACA,MAAA,MAAI,CAACjO,QAAL,CAAcS,SAAd,CAAwBC,MAAxB,CAA+B4L,qBAA/B;;EACA,MAAA,MAAI,CAACtM,QAAL,CAAcS,SAAd,CAAwBkC,GAAxB,CAA4B0J,mBAA5B;;EACAtR,MAAAA,YAAY,CAACsC,OAAb,CAAqB,MAAI,CAAC2C,QAA1B,EAAoCmM,YAApC;EACD,KALD;;EAOA,SAAKnM,QAAL,CAAchK,KAAd,CAAoB+X,SAApB,IAAiC,EAAjC;EACA,QAAMna,kBAAkB,GAAGH,gCAAgC,CAAC,KAAKuM,QAAN,CAA3D;EAEAjF,IAAAA,YAAY,CAAC+B,GAAb,CAAiB,KAAKkD,QAAtB,EAAgC9N,cAAhC,EAAgDgc,QAAhD;EACA3Z,IAAAA,oBAAoB,CAAC,KAAKyL,QAAN,EAAgBpM,kBAAhB,CAApB;EACD;;WAEDqa,mBAAA,0BAAiBK,eAAjB,EAAkC;EAChC,SAAK1B,gBAAL,GAAwB0B,eAAxB;EACD;;WAED/N,UAAA,mBAAU;EACR3I,IAAAA,IAAI,CAACI,UAAL,CAAgB,KAAKgI,QAArB,EAA+BX,UAA/B;EAEA,SAAKqI,OAAL,GAAe,IAAf;EACA,SAAKyF,OAAL,GAAe,IAAf;EACA,SAAKnN,QAAL,GAAgB,IAAhB;EACA,SAAK6M,aAAL,GAAqB,IAArB;EACA,SAAKD,gBAAL,GAAwB,IAAxB;EACD;;;WAIDjF,aAAA,oBAAWzS,MAAX,EAAmB;EACjBA,IAAAA,MAAM,sBACDsP,SADC,MAEDtP,MAFC,CAAN;EAIAA,IAAAA,MAAM,CAACgN,MAAP,GAAgBjJ,OAAO,CAAC/D,MAAM,CAACgN,MAAR,CAAvB,CALiB;;EAMjBlN,IAAAA,eAAe,CAACmK,MAAD,EAAOjK,MAAP,EAAe6P,aAAf,CAAf;EACA,WAAO7P,MAAP;EACD;;WAED8Y,gBAAA,yBAAgB;EACd,QAAMO,QAAQ,GAAG,KAAKvO,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiC6L,KAAjC,CAAjB;;EACA,WAAO+B,QAAQ,GAAG/B,KAAH,GAAWC,MAA1B;EACD;;WAEDW,aAAA,sBAAa;EAAA;;EAAA,QACL5M,MADK,GACM,KAAKkH,OADX,CACLlH,MADK;;EAGX,QAAInM,SAAS,CAACmM,MAAD,CAAb,EAAuB;EACrB;EACA,UAAI,OAAOA,MAAM,CAACgO,MAAd,KAAyB,WAAzB,IAAwC,OAAOhO,MAAM,CAAC,CAAD,CAAb,KAAqB,WAAjE,EAA8E;EAC5EA,QAAAA,MAAM,GAAGA,MAAM,CAAC,CAAD,CAAf;EACD;EACF,KALD,MAKO;EACLA,MAAAA,MAAM,GAAGtC,cAAc,CAAC7F,OAAf,CAAuBmI,MAAvB,CAAT;EACD;;EAED,QAAMtN,QAAQ,GAAMyO,sBAAN,uBAA2CnB,MAA3C,QAAd;EAEAtC,IAAAA,cAAc,CAACjG,IAAf,CAAoB/E,QAApB,EAA8BsN,MAA9B,EACGlL,OADH,CACW,UAAArC,OAAO,EAAI;EAClB,UAAMwb,QAAQ,GAAGjb,sBAAsB,CAACP,OAAD,CAAvC;;EAEA,MAAA,MAAI,CAACoa,yBAAL,CACEoB,QADF,EAEE,CAACxb,OAAD,CAFF;EAID,KARH;EAUA,WAAOuN,MAAP;EACD;;WAED6M,4BAAA,mCAA0Bpa,OAA1B,EAAmCyb,YAAnC,EAAiD;EAC/C,QAAIzb,OAAJ,EAAa;EACX,UAAM0b,MAAM,GAAG1b,OAAO,CAACwN,SAAR,CAAkBE,QAAlB,CAA2ByL,eAA3B,CAAf;;EAEA,UAAIsC,YAAY,CAACpT,MAAjB,EAAyB;EACvBoT,QAAAA,YAAY,CAACpZ,OAAb,CAAqB,UAAAyX,IAAI,EAAI;EAC3B,cAAI4B,MAAJ,EAAY;EACV5B,YAAAA,IAAI,CAACtM,SAAL,CAAeC,MAAf,CAAsB6L,oBAAtB;EACD,WAFD,MAEO;EACLQ,YAAAA,IAAI,CAACtM,SAAL,CAAekC,GAAf,CAAmB4J,oBAAnB;EACD;;EAEDQ,UAAAA,IAAI,CAACtK,YAAL,CAAkB,eAAlB,EAAmCkM,MAAnC;EACD,SARD;EASD;EACF;EACF;;;aAIMb,oBAAP,2BAAyB7a,OAAzB,EAAkCiC,MAAlC,EAA0C;EACxC,QAAIsC,IAAI,GAAGI,IAAI,CAACG,OAAL,CAAa9E,OAAb,EAAsBoM,UAAtB,CAAX;;EACA,QAAMqI,OAAO,sBACRlD,SADQ,MAERvB,WAAW,CAACG,iBAAZ,CAA8BnQ,OAA9B,CAFQ,MAGR,OAAOiC,MAAP,KAAkB,QAAlB,IAA8BA,MAA9B,GAAuCA,MAAvC,GAAgD,EAHxC,CAAb;;EAMA,QAAI,CAACsC,IAAD,IAASkQ,OAAO,CAACxF,MAAjB,IAA2B,YAAYtM,IAAZ,CAAiBV,MAAjB,CAA/B,EAAyD;EACvDwS,MAAAA,OAAO,CAACxF,MAAR,GAAiB,KAAjB;EACD;;EAED,QAAI,CAAC1K,IAAL,EAAW;EACTA,MAAAA,IAAI,GAAG,IAAImV,QAAJ,CAAa1Z,OAAb,EAAsByU,OAAtB,CAAP;EACD;;EAED,QAAI,OAAOxS,MAAP,KAAkB,QAAtB,EAAgC;EAC9B,UAAI,OAAOsC,IAAI,CAACtC,MAAD,CAAX,KAAwB,WAA5B,EAAyC;EACvC,cAAM,IAAIyW,SAAJ,wBAAkCzW,MAAlC,QAAN;EACD;;EAEDsC,MAAAA,IAAI,CAACtC,MAAD,CAAJ;EACD;EACF;;aAEM4L,kBAAP,yBAAuB5L,MAAvB,EAA+B;EAC7B,WAAO,KAAK6L,IAAL,CAAU,YAAY;EAC3B4L,MAAAA,QAAQ,CAACmB,iBAAT,CAA2B,IAA3B,EAAiC5Y,MAAjC;EACD,KAFM,CAAP;EAGD;;aAEMgM,cAAP,qBAAmBjO,OAAnB,EAA4B;EAC1B,WAAO2E,IAAI,CAACG,OAAL,CAAa9E,OAAb,EAAsBoM,UAAtB,CAAP;EACD;;;;0BA5QoB;EACnB,aAAOD,SAAP;EACD;;;0BAEoB;EACnB,aAAOoF,SAAP;EACD;;;;;EAyQH;;;;;;;EAMAzJ,YAAY,CAAC8B,EAAb,CAAgB/J,QAAhB,EAA0B6M,sBAA1B,EAAgDgC,sBAAhD,EAAsE,UAAUtH,KAAV,EAAiB;EACrF;EACA,MAAIA,KAAK,CAACe,MAAN,CAAa0O,OAAb,KAAyB,GAA7B,EAAkC;EAChCzP,IAAAA,KAAK,CAAC1B,cAAN;EACD;;EAED,MAAMiW,WAAW,GAAG3L,WAAW,CAACG,iBAAZ,CAA8B,IAA9B,CAApB;EACA,MAAMlQ,QAAQ,GAAGI,sBAAsB,CAAC,IAAD,CAAvC;EACA,MAAMub,gBAAgB,GAAG3Q,cAAc,CAACjG,IAAf,CAAoB/E,QAApB,CAAzB;EAEA2b,EAAAA,gBAAgB,CAACvZ,OAAjB,CAAyB,UAAArC,OAAO,EAAI;EAClC,QAAMuE,IAAI,GAAGI,IAAI,CAACG,OAAL,CAAa9E,OAAb,EAAsBoM,UAAtB,CAAb;EACA,QAAInK,MAAJ;;EACA,QAAIsC,IAAJ,EAAU;EACR;EACA,UAAIA,IAAI,CAAC2V,OAAL,KAAiB,IAAjB,IAAyB,OAAOyB,WAAW,CAACpO,MAAnB,KAA8B,QAA3D,EAAqE;EACnEhJ,QAAAA,IAAI,CAACkQ,OAAL,CAAalH,MAAb,GAAsBoO,WAAW,CAACpO,MAAlC;EACAhJ,QAAAA,IAAI,CAAC2V,OAAL,GAAe3V,IAAI,CAAC4V,UAAL,EAAf;EACD;;EAEDlY,MAAAA,MAAM,GAAG,QAAT;EACD,KARD,MAQO;EACLA,MAAAA,MAAM,GAAG0Z,WAAT;EACD;;EAEDjC,IAAAA,QAAQ,CAACmB,iBAAT,CAA2B7a,OAA3B,EAAoCiC,MAApC;EACD,GAhBD;EAiBD,CA3BD;EA6BA,IAAMoE,GAAC,GAAGvC,SAAS,EAAnB;EAEA;;;;;;;EAMA;;EACA,IAAIuC,GAAJ,EAAO;EACL,MAAM6H,oBAAkB,GAAG7H,GAAC,CAACsB,EAAF,CAAKuE,MAAL,CAA3B;EACA7F,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,IAAawN,QAAQ,CAAC7L,eAAtB;EACAxH,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,EAAWiC,WAAX,GAAyBuL,QAAzB;;EACArT,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,EAAWkC,UAAX,GAAwB,YAAM;EAC5B/H,IAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,IAAagC,oBAAb;EACA,WAAOwL,QAAQ,CAAC7L,eAAhB;EACD,GAHD;EAID;;ECzZD;;;;;;EAMA,IAAM3B,MAAI,GAAG,UAAb;EACA,IAAMC,SAAO,GAAG,OAAhB;EACA,IAAMC,UAAQ,GAAG,aAAjB;EACA,IAAMC,WAAS,SAAOD,UAAtB;EACA,IAAME,cAAY,GAAG,WAArB;EAEA,IAAMuP,cAAc,GAAG,EAAvB;;EACA,IAAMC,aAAa,GAAG,EAAtB;;EACA,IAAMC,WAAW,GAAG,CAApB;;EACA,IAAMC,gBAAgB,GAAG,EAAzB;;EACA,IAAMC,kBAAkB,GAAG,EAA3B;;EACA,IAAMC,wBAAwB,GAAG,CAAjC;;EAEA,IAAMC,cAAc,GAAG,IAAIzZ,MAAJ,CAAcsZ,gBAAd,SAAkCC,kBAAlC,SAAwDJ,cAAxD,CAAvB;EAEA,IAAM5C,YAAU,YAAU5M,WAA1B;EACA,IAAM6M,cAAY,cAAY7M,WAA9B;EACA,IAAM0M,YAAU,YAAU1M,WAA1B;EACA,IAAM2M,aAAW,aAAW3M,WAA5B;EACA,IAAM+P,WAAW,aAAW/P,WAA5B;EACA,IAAMK,sBAAoB,aAAWL,WAAX,GAAuBC,cAAjD;EACA,IAAM+P,sBAAsB,eAAahQ,WAAb,GAAyBC,cAArD;EACA,IAAMgQ,oBAAoB,aAAWjQ,WAAX,GAAuBC,cAAjD;EAEA,IAAMiC,qBAAmB,GAAG,UAA5B;EACA,IAAM4K,iBAAe,GAAG,MAAxB;EACA,IAAMoD,iBAAiB,GAAG,QAA1B;EACA,IAAMC,oBAAoB,GAAG,WAA7B;EACA,IAAMC,mBAAmB,GAAG,UAA5B;EACA,IAAMC,oBAAoB,GAAG,qBAA7B;EACA,IAAMC,iBAAiB,GAAG,QAA1B;EACA,IAAMC,0BAA0B,GAAG,iBAAnC;EAEA,IAAMlO,sBAAoB,GAAG,0BAA7B;EACA,IAAMmO,mBAAmB,GAAG,gBAA5B;EACA,IAAMC,aAAa,GAAG,gBAAtB;EACA,IAAMC,mBAAmB,GAAG,aAA5B;EACA,IAAMC,sBAAsB,GAAG,6DAA/B;EAEA,IAAMC,aAAa,GAAG,WAAtB;EACA,IAAMC,gBAAgB,GAAG,SAAzB;EACA,IAAMC,gBAAgB,GAAG,cAAzB;EACA,IAAMC,mBAAmB,GAAG,YAA5B;EACA,IAAMC,eAAe,GAAG,aAAxB;EACA,IAAMC,cAAc,GAAG,YAAvB;EAEA,IAAM/L,SAAO,GAAG;EACdhB,EAAAA,MAAM,EAAE,CADM;EAEdgN,EAAAA,IAAI,EAAE,IAFQ;EAGdC,EAAAA,QAAQ,EAAE,cAHI;EAIdC,EAAAA,SAAS,EAAE,QAJG;EAKdta,EAAAA,OAAO,EAAE,SALK;EAMdua,EAAAA,YAAY,EAAE;EANA,CAAhB;EASA,IAAM5L,aAAW,GAAG;EAClBvB,EAAAA,MAAM,EAAE,0BADU;EAElBgN,EAAAA,IAAI,EAAE,SAFY;EAGlBC,EAAAA,QAAQ,EAAE,kBAHQ;EAIlBC,EAAAA,SAAS,EAAE,kBAJO;EAKlBta,EAAAA,OAAO,EAAE,QALS;EAMlBua,EAAAA,YAAY,EAAE;EANI,CAApB;EASA;;;;;;MAMMC;EACJ,oBAAY3d,OAAZ,EAAqBiC,MAArB,EAA6B;EAC3B,SAAK8K,QAAL,GAAgB/M,OAAhB;EACA,SAAK4d,OAAL,GAAe,IAAf;EACA,SAAKnJ,OAAL,GAAe,KAAKC,UAAL,CAAgBzS,MAAhB,CAAf;EACA,SAAK4b,KAAL,GAAa,KAAKC,eAAL,EAAb;EACA,SAAKC,SAAL,GAAiB,KAAKC,aAAL,EAAjB;;EAEA,SAAK9I,kBAAL;;EACAvQ,IAAAA,IAAI,CAACC,OAAL,CAAa5E,OAAb,EAAsBoM,UAAtB,EAAgC,IAAhC;EACD;;;;;EAgBD;WAEA6C,SAAA,kBAAS;EACP,QAAI,KAAKlC,QAAL,CAAckR,QAAd,IAA0B,KAAKlR,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCa,qBAAjC,CAA9B,EAAqF;EACnF;EACD;;EAED,QAAM2P,QAAQ,GAAG,KAAKnR,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCyL,iBAAjC,CAAjB;;EAEAwE,IAAAA,QAAQ,CAACQ,UAAT;;EAEA,QAAID,QAAJ,EAAc;EACZ;EACD;;EAED,SAAK5D,IAAL;EACD;;WAEDA,OAAA,gBAAO;EACL,QAAI,KAAKvN,QAAL,CAAckR,QAAd,IAA0B,KAAKlR,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCa,qBAAjC,CAA1B,IAAmF,KAAKsP,KAAL,CAAWrQ,SAAX,CAAqBE,QAArB,CAA8ByL,iBAA9B,CAAvF,EAAuI;EACrI;EACD;;EAED,QAAM5L,MAAM,GAAGoQ,QAAQ,CAACS,oBAAT,CAA8B,KAAKrR,QAAnC,CAAf;EACA,QAAMuK,aAAa,GAAG;EACpBA,MAAAA,aAAa,EAAE,KAAKvK;EADA,KAAtB;EAIA,QAAMsR,SAAS,GAAGvW,YAAY,CAACsC,OAAb,CAAqB,KAAK2C,QAA1B,EAAoCgM,YAApC,EAAgDzB,aAAhD,CAAlB;;EAEA,QAAI+G,SAAS,CAAC1Y,gBAAd,EAAgC;EAC9B;EACD,KAdI;;;EAiBL,QAAI,CAAC,KAAKoY,SAAV,EAAqB;EACnB,UAAI,OAAOO,MAAP,KAAkB,WAAtB,EAAmC;EACjC,cAAM,IAAI5F,SAAJ,CAAc,kEAAd,CAAN;EACD;;EAED,UAAI6F,gBAAgB,GAAG,KAAKxR,QAA5B;;EAEA,UAAI,KAAK0H,OAAL,CAAagJ,SAAb,KAA2B,QAA/B,EAAyC;EACvCc,QAAAA,gBAAgB,GAAGhR,MAAnB;EACD,OAFD,MAEO,IAAInM,SAAS,CAAC,KAAKqT,OAAL,CAAagJ,SAAd,CAAb,EAAuC;EAC5Cc,QAAAA,gBAAgB,GAAG,KAAK9J,OAAL,CAAagJ,SAAhC,CAD4C;;EAI5C,YAAI,OAAO,KAAKhJ,OAAL,CAAagJ,SAAb,CAAuBlC,MAA9B,KAAyC,WAA7C,EAA0D;EACxDgD,UAAAA,gBAAgB,GAAG,KAAK9J,OAAL,CAAagJ,SAAb,CAAuB,CAAvB,CAAnB;EACD;EACF,OAhBkB;EAmBnB;EACA;;;EACA,UAAI,KAAKhJ,OAAL,CAAa+I,QAAb,KAA0B,cAA9B,EAA8C;EAC5CjQ,QAAAA,MAAM,CAACC,SAAP,CAAiBkC,GAAjB,CAAqBkN,0BAArB;EACD;;EAED,WAAKgB,OAAL,GAAe,IAAIU,MAAJ,CAAWC,gBAAX,EAA6B,KAAKV,KAAlC,EAAyC,KAAKW,gBAAL,EAAzC,CAAf;EACD,KA3CI;EA8CL;EACA;EACA;;;EACA,QAAI,kBAAkB3e,QAAQ,CAACyD,eAA3B,IACF,CAAC2H,cAAc,CAACW,OAAf,CAAuB2B,MAAvB,EAA+BwP,mBAA/B,CADH,EACwD;EAAA;;EACtD,kBAAG7R,MAAH,aAAarL,QAAQ,CAACmE,IAAT,CAAcoH,QAA3B,EACG/I,OADH,CACW,UAAAyX,IAAI;EAAA,eAAIhS,YAAY,CAAC8B,EAAb,CAAgBkQ,IAAhB,EAAsB,WAAtB,EAAmC,IAAnC,EAAyCnW,IAAI,EAA7C,CAAJ;EAAA,OADf;EAED;;EAED,SAAKoJ,QAAL,CAAcwC,KAAd;;EACA,SAAKxC,QAAL,CAAcyC,YAAd,CAA2B,eAA3B,EAA4C,IAA5C;;EAEAQ,IAAAA,WAAW,CAACiB,WAAZ,CAAwB,KAAK4M,KAA7B,EAAoC1E,iBAApC;EACAnJ,IAAAA,WAAW,CAACiB,WAAZ,CAAwB,KAAKlE,QAA7B,EAAuCoM,iBAAvC;EACArR,IAAAA,YAAY,CAACsC,OAAb,CAAqBmD,MAArB,EAA6ByL,aAA7B,EAA0C1B,aAA1C;EACD;;WAED+C,OAAA,gBAAO;EACL,QAAI,KAAKtN,QAAL,CAAckR,QAAd,IAA0B,KAAKlR,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCa,qBAAjC,CAA1B,IAAmF,CAAC,KAAKsP,KAAL,CAAWrQ,SAAX,CAAqBE,QAArB,CAA8ByL,iBAA9B,CAAxF,EAAwI;EACtI;EACD;;EAED,QAAM5L,MAAM,GAAGoQ,QAAQ,CAACS,oBAAT,CAA8B,KAAKrR,QAAnC,CAAf;EACA,QAAMuK,aAAa,GAAG;EACpBA,MAAAA,aAAa,EAAE,KAAKvK;EADA,KAAtB;EAIA,QAAM0R,SAAS,GAAG3W,YAAY,CAACsC,OAAb,CAAqBmD,MAArB,EAA6B0L,YAA7B,EAAyC3B,aAAzC,CAAlB;;EAEA,QAAImH,SAAS,CAAC9Y,gBAAd,EAAgC;EAC9B;EACD;;EAED,QAAI,KAAKiY,OAAT,EAAkB;EAChB,WAAKA,OAAL,CAAac,OAAb;EACD;;EAED1O,IAAAA,WAAW,CAACiB,WAAZ,CAAwB,KAAK4M,KAA7B,EAAoC1E,iBAApC;EACAnJ,IAAAA,WAAW,CAACiB,WAAZ,CAAwB,KAAKlE,QAA7B,EAAuCoM,iBAAvC;EACArR,IAAAA,YAAY,CAACsC,OAAb,CAAqBmD,MAArB,EAA6B2L,cAA7B,EAA2C5B,aAA3C;EACD;;WAEDhK,UAAA,mBAAU;EACR3I,IAAAA,IAAI,CAACI,UAAL,CAAgB,KAAKgI,QAArB,EAA+BX,UAA/B;EACAtE,IAAAA,YAAY,CAACC,GAAb,CAAiB,KAAKgF,QAAtB,EAAgCV,WAAhC;EACA,SAAKU,QAAL,GAAgB,IAAhB;EACA,SAAK8Q,KAAL,GAAa,IAAb;;EACA,QAAI,KAAKD,OAAT,EAAkB;EAChB,WAAKA,OAAL,CAAac,OAAb;;EACA,WAAKd,OAAL,GAAe,IAAf;EACD;EACF;;WAEDe,SAAA,kBAAS;EACP,SAAKZ,SAAL,GAAiB,KAAKC,aAAL,EAAjB;;EACA,QAAI,KAAKJ,OAAT,EAAkB;EAChB,WAAKA,OAAL,CAAagB,cAAb;EACD;EACF;;;WAID1J,qBAAA,8BAAqB;EAAA;;EACnBpN,IAAAA,YAAY,CAAC8B,EAAb,CAAgB,KAAKmD,QAArB,EAA+BqP,WAA/B,EAA4C,UAAAhV,KAAK,EAAI;EACnDA,MAAAA,KAAK,CAAC1B,cAAN;EACA0B,MAAAA,KAAK,CAACyX,eAAN;;EACA,MAAA,KAAI,CAAC5P,MAAL;EACD,KAJD;EAKD;;WAEDyF,aAAA,oBAAWzS,MAAX,EAAmB;EACjBA,IAAAA,MAAM,sBACD,KAAK6c,WAAL,CAAiBvN,OADhB,MAEDvB,WAAW,CAACG,iBAAZ,CAA8B,KAAKpD,QAAnC,CAFC,MAGD9K,MAHC,CAAN;EAMAF,IAAAA,eAAe,CACbmK,MADa,EAEbjK,MAFa,EAGb,KAAK6c,WAAL,CAAiBhN,WAHJ,CAAf;EAMA,WAAO7P,MAAP;EACD;;WAED6b,kBAAA,2BAAkB;EAChB,WAAO7S,cAAc,CAACe,IAAf,CAAoB,KAAKe,QAAzB,EAAmC+P,aAAnC,EAAkD,CAAlD,CAAP;EACD;;WAEDiC,gBAAA,yBAAgB;EACd,QAAMC,cAAc,GAAG,KAAKjS,QAAL,CAAc/J,UAArC;EACA,QAAIic,SAAS,GAAG9B,gBAAhB,CAFc;;EAKd,QAAI6B,cAAc,CAACxR,SAAf,CAAyBE,QAAzB,CAAkC6O,iBAAlC,CAAJ,EAA0D;EACxD0C,MAAAA,SAAS,GAAGhC,aAAZ;;EACA,UAAI,KAAKY,KAAL,CAAWrQ,SAAX,CAAqBE,QAArB,CAA8BgP,oBAA9B,CAAJ,EAAyD;EACvDuC,QAAAA,SAAS,GAAG/B,gBAAZ;EACD;EACF,KALD,MAKO,IAAI8B,cAAc,CAACxR,SAAf,CAAyBE,QAAzB,CAAkC8O,oBAAlC,CAAJ,EAA6D;EAClEyC,MAAAA,SAAS,GAAG5B,eAAZ;EACD,KAFM,MAEA,IAAI2B,cAAc,CAACxR,SAAf,CAAyBE,QAAzB,CAAkC+O,mBAAlC,CAAJ,EAA4D;EACjEwC,MAAAA,SAAS,GAAG3B,cAAZ;EACD,KAFM,MAEA,IAAI,KAAKO,KAAL,CAAWrQ,SAAX,CAAqBE,QAArB,CAA8BgP,oBAA9B,CAAJ,EAAyD;EAC9DuC,MAAAA,SAAS,GAAG7B,mBAAZ;EACD;;EAED,WAAO6B,SAAP;EACD;;WAEDjB,gBAAA,yBAAgB;EACd,WAAOhY,OAAO,CAACiF,cAAc,CAACW,OAAf,CAAuB,KAAKmB,QAA5B,QAA0C4P,iBAA1C,CAAD,CAAd;EACD;;WAEDuC,aAAA,sBAAa;EAAA;;EACX,QAAM3O,MAAM,GAAG,EAAf;;EAEA,QAAI,OAAO,KAAKkE,OAAL,CAAalE,MAApB,KAA+B,UAAnC,EAA+C;EAC7CA,MAAAA,MAAM,CAAC5I,EAAP,GAAY,UAAApD,IAAI,EAAI;EAClBA,QAAAA,IAAI,CAAC4a,OAAL,sBACK5a,IAAI,CAAC4a,OADV,MAEK,MAAI,CAAC1K,OAAL,CAAalE,MAAb,CAAoBhM,IAAI,CAAC4a,OAAzB,EAAkC,MAAI,CAACpS,QAAvC,KAAoD,EAFzD;EAKA,eAAOxI,IAAP;EACD,OAPD;EAQD,KATD,MASO;EACLgM,MAAAA,MAAM,CAACA,MAAP,GAAgB,KAAKkE,OAAL,CAAalE,MAA7B;EACD;;EAED,WAAOA,MAAP;EACD;;WAEDiO,mBAAA,4BAAmB;EACjB,QAAMd,YAAY,GAAG;EACnBuB,MAAAA,SAAS,EAAE,KAAKF,aAAL,EADQ;EAEnBK,MAAAA,SAAS,EAAE;EACT7O,QAAAA,MAAM,EAAE,KAAK2O,UAAL,EADC;EAET3B,QAAAA,IAAI,EAAE;EACJ8B,UAAAA,OAAO,EAAE,KAAK5K,OAAL,CAAa8I;EADlB,SAFG;EAKT+B,QAAAA,eAAe,EAAE;EACfC,UAAAA,iBAAiB,EAAE,KAAK9K,OAAL,CAAa+I;EADjB;EALR;EAFQ,KAArB,CADiB;;EAejB,QAAI,KAAK/I,OAAL,CAAatR,OAAb,KAAyB,QAA7B,EAAuC;EACrCua,MAAAA,YAAY,CAAC0B,SAAb,CAAuBI,UAAvB,GAAoC;EAClCH,QAAAA,OAAO,EAAE;EADyB,OAApC;EAGD;;EAED,8BACK3B,YADL,MAEK,KAAKjJ,OAAL,CAAaiJ,YAFlB;EAID;;;aAIM+B,oBAAP,2BAAyBzf,OAAzB,EAAkCiC,MAAlC,EAA0C;EACxC,QAAIsC,IAAI,GAAGI,IAAI,CAACG,OAAL,CAAa9E,OAAb,EAAsBoM,UAAtB,CAAX;;EACA,QAAMqI,OAAO,GAAG,OAAOxS,MAAP,KAAkB,QAAlB,GAA6BA,MAA7B,GAAsC,IAAtD;;EAEA,QAAI,CAACsC,IAAL,EAAW;EACTA,MAAAA,IAAI,GAAG,IAAIoZ,QAAJ,CAAa3d,OAAb,EAAsByU,OAAtB,CAAP;EACD;;EAED,QAAI,OAAOxS,MAAP,KAAkB,QAAtB,EAAgC;EAC9B,UAAI,OAAOsC,IAAI,CAACtC,MAAD,CAAX,KAAwB,WAA5B,EAAyC;EACvC,cAAM,IAAIyW,SAAJ,wBAAkCzW,MAAlC,QAAN;EACD;;EAEDsC,MAAAA,IAAI,CAACtC,MAAD,CAAJ;EACD;EACF;;aAEM4L,kBAAP,yBAAuB5L,MAAvB,EAA+B;EAC7B,WAAO,KAAK6L,IAAL,CAAU,YAAY;EAC3B6P,MAAAA,QAAQ,CAAC8B,iBAAT,CAA2B,IAA3B,EAAiCxd,MAAjC;EACD,KAFM,CAAP;EAGD;;aAEMkc,aAAP,oBAAkB/W,KAAlB,EAAyB;EACvB,QAAIA,KAAK,KAAKA,KAAK,CAACC,KAAN,KAAgB6U,wBAAhB,IACX9U,KAAK,CAACE,IAAN,KAAe,OAAf,IAA0BF,KAAK,CAACC,KAAN,KAAgB0U,WADpC,CAAT,EAC4D;EAC1D;EACD;;EAED,QAAM2D,OAAO,GAAGzU,cAAc,CAACjG,IAAf,CAAoB0J,sBAApB,CAAhB;;EAEA,SAAK,IAAItG,CAAC,GAAG,CAAR,EAAWM,GAAG,GAAGgX,OAAO,CAACrX,MAA9B,EAAsCD,CAAC,GAAGM,GAA1C,EAA+CN,CAAC,EAAhD,EAAoD;EAClD,UAAMmF,MAAM,GAAGoQ,QAAQ,CAACS,oBAAT,CAA8BsB,OAAO,CAACtX,CAAD,CAArC,CAAf;EACA,UAAMuX,OAAO,GAAGhb,IAAI,CAACG,OAAL,CAAa4a,OAAO,CAACtX,CAAD,CAApB,EAAyBgE,UAAzB,CAAhB;EACA,UAAMkL,aAAa,GAAG;EACpBA,QAAAA,aAAa,EAAEoI,OAAO,CAACtX,CAAD;EADF,OAAtB;;EAIA,UAAIhB,KAAK,IAAIA,KAAK,CAACE,IAAN,KAAe,OAA5B,EAAqC;EACnCgQ,QAAAA,aAAa,CAACsI,UAAd,GAA2BxY,KAA3B;EACD;;EAED,UAAI,CAACuY,OAAL,EAAc;EACZ;EACD;;EAED,UAAME,YAAY,GAAGF,OAAO,CAAC9B,KAA7B;;EACA,UAAI,CAAC6B,OAAO,CAACtX,CAAD,CAAP,CAAWoF,SAAX,CAAqBE,QAArB,CAA8ByL,iBAA9B,CAAL,EAAqD;EACnD;EACD;;EAED,UAAI/R,KAAK,KAAMA,KAAK,CAACE,IAAN,KAAe,OAAf,IACX,kBAAkB3E,IAAlB,CAAuByE,KAAK,CAACe,MAAN,CAAa0O,OAApC,CADU,IAETzP,KAAK,CAACE,IAAN,KAAe,OAAf,IAA0BF,KAAK,CAACC,KAAN,KAAgB0U,WAFtC,CAAL,IAGA8D,YAAY,CAACnS,QAAb,CAAsBtG,KAAK,CAACe,MAA5B,CAHJ,EAGyC;EACvC;EACD;;EAED,UAAMsW,SAAS,GAAG3W,YAAY,CAACsC,OAAb,CAAqBmD,MAArB,EAA6B0L,YAA7B,EAAyC3B,aAAzC,CAAlB;;EACA,UAAImH,SAAS,CAAC9Y,gBAAd,EAAgC;EAC9B;EACD,OA9BiD;EAiClD;;;EACA,UAAI,kBAAkB9F,QAAQ,CAACyD,eAA/B,EAAgD;EAAA;;EAC9C,qBAAG4H,MAAH,cAAarL,QAAQ,CAACmE,IAAT,CAAcoH,QAA3B,EACG/I,OADH,CACW,UAAAyX,IAAI;EAAA,iBAAIhS,YAAY,CAACC,GAAb,CAAiB+R,IAAjB,EAAuB,WAAvB,EAAoC,IAApC,EAA0CnW,IAAI,EAA9C,CAAJ;EAAA,SADf;EAED;;EAED+b,MAAAA,OAAO,CAACtX,CAAD,CAAP,CAAWoH,YAAX,CAAwB,eAAxB,EAAyC,OAAzC;;EAEA,UAAImQ,OAAO,CAAC/B,OAAZ,EAAqB;EACnB+B,QAAAA,OAAO,CAAC/B,OAAR,CAAgBc,OAAhB;EACD;;EAEDmB,MAAAA,YAAY,CAACrS,SAAb,CAAuBC,MAAvB,CAA8B0L,iBAA9B;EACAuG,MAAAA,OAAO,CAACtX,CAAD,CAAP,CAAWoF,SAAX,CAAqBC,MAArB,CAA4B0L,iBAA5B;EACArR,MAAAA,YAAY,CAACsC,OAAb,CAAqBmD,MAArB,EAA6B2L,cAA7B,EAA2C5B,aAA3C;EACD;EACF;;aAEM8G,uBAAP,8BAA4Bpe,OAA5B,EAAqC;EACnC,WAAOO,sBAAsB,CAACP,OAAD,CAAtB,IAAmCA,OAAO,CAACgD,UAAlD;EACD;;aAEM8c,wBAAP,+BAA6B1Y,KAA7B,EAAoC;EAClC;EACA;EACA;EACA;EACA;EACA;EACA;EACA,QAAI,kBAAkBzE,IAAlB,CAAuByE,KAAK,CAACe,MAAN,CAAa0O,OAApC,IACFzP,KAAK,CAACC,KAAN,KAAgByU,aAAhB,IAAkC1U,KAAK,CAACC,KAAN,KAAgBwU,cAAhB,KAChCzU,KAAK,CAACC,KAAN,KAAgB4U,kBAAhB,IAAsC7U,KAAK,CAACC,KAAN,KAAgB2U,gBAAvD,IACC/Q,cAAc,CAACW,OAAf,CAAuBxE,KAAK,CAACe,MAA7B,EAAqC2U,aAArC,CAFgC,CADhC,GAIF,CAACX,cAAc,CAACxZ,IAAf,CAAoByE,KAAK,CAACC,KAA1B,CAJH,EAIqC;EACnC;EACD;;EAEDD,IAAAA,KAAK,CAAC1B,cAAN;EACA0B,IAAAA,KAAK,CAACyX,eAAN;;EAEA,QAAI,KAAKZ,QAAL,IAAiB,KAAKzQ,SAAL,CAAeE,QAAf,CAAwBa,qBAAxB,CAArB,EAAmE;EACjE;EACD;;EAED,QAAMhB,MAAM,GAAGoQ,QAAQ,CAACS,oBAAT,CAA8B,IAA9B,CAAf;EACA,QAAMF,QAAQ,GAAG,KAAK1Q,SAAL,CAAeE,QAAf,CAAwByL,iBAAxB,CAAjB;;EAEA,QAAI/R,KAAK,CAACC,KAAN,KAAgBwU,cAApB,EAAoC;EAClC,UAAMpM,MAAM,GAAG,KAAKrJ,OAAL,CAAasI,sBAAb,IAAqC,IAArC,GAA4CzD,cAAc,CAACY,IAAf,CAAoB,IAApB,EAA0B6C,sBAA1B,EAAgD,CAAhD,CAA3D;EACAe,MAAAA,MAAM,CAACF,KAAP;EACAoO,MAAAA,QAAQ,CAACQ,UAAT;EACA;EACD;;EAED,QAAI,CAACD,QAAD,IAAa9W,KAAK,CAACC,KAAN,KAAgByU,aAAjC,EAAgD;EAC9C6B,MAAAA,QAAQ,CAACQ,UAAT;EACA;EACD;;EAED,QAAM4B,KAAK,GAAG9U,cAAc,CAACjG,IAAf,CAAoBgY,sBAApB,EAA4CzP,MAA5C,EACXlC,MADW,CACJvI,SADI,CAAd;;EAGA,QAAI,CAACid,KAAK,CAAC1X,MAAX,EAAmB;EACjB;EACD;;EAED,QAAIuN,KAAK,GAAGmK,KAAK,CAAC5W,OAAN,CAAc/B,KAAK,CAACe,MAApB,KAA+B,CAA3C;;EAEA,QAAIf,KAAK,CAACC,KAAN,KAAgB2U,gBAAhB,IAAoCpG,KAAK,GAAG,CAAhD,EAAmD;EAAE;EACnDA,MAAAA,KAAK;EACN;;EAED,QAAIxO,KAAK,CAACC,KAAN,KAAgB4U,kBAAhB,IAAsCrG,KAAK,GAAGmK,KAAK,CAAC1X,MAAN,GAAe,CAAjE,EAAoE;EAAE;EACpEuN,MAAAA,KAAK;EACN;;EAEDmK,IAAAA,KAAK,CAACnK,KAAD,CAAL,CAAarG,KAAb;EACD;;aAEMtB,cAAP,qBAAmBjO,OAAnB,EAA4B;EAC1B,WAAO2E,IAAI,CAACG,OAAL,CAAa9E,OAAb,EAAsBoM,UAAtB,CAAP;EACD;;;;0BAjYoB;EACnB,aAAOD,SAAP;EACD;;;0BAEoB;EACnB,aAAOoF,SAAP;EACD;;;0BAEwB;EACvB,aAAOO,aAAP;EACD;;;;;EA0XH;;;;;;;EAMAhK,YAAY,CAAC8B,EAAb,CAAgB/J,QAAhB,EAA0Bwc,sBAA1B,EAAkD3N,sBAAlD,EAAwEiP,QAAQ,CAACmC,qBAAjF;EACAhY,YAAY,CAAC8B,EAAb,CAAgB/J,QAAhB,EAA0Bwc,sBAA1B,EAAkDS,aAAlD,EAAiEa,QAAQ,CAACmC,qBAA1E;EACAhY,YAAY,CAAC8B,EAAb,CAAgB/J,QAAhB,EAA0B6M,sBAA1B,EAAgDiR,QAAQ,CAACQ,UAAzD;EACArW,YAAY,CAAC8B,EAAb,CAAgB/J,QAAhB,EAA0Byc,oBAA1B,EAAgDqB,QAAQ,CAACQ,UAAzD;EACArW,YAAY,CAAC8B,EAAb,CAAgB/J,QAAhB,EAA0B6M,sBAA1B,EAAgDgC,sBAAhD,EAAsE,UAAUtH,KAAV,EAAiB;EACrFA,EAAAA,KAAK,CAAC1B,cAAN;EACA0B,EAAAA,KAAK,CAACyX,eAAN;EACAlB,EAAAA,QAAQ,CAAC8B,iBAAT,CAA2B,IAA3B,EAAiC,QAAjC;EACD,CAJD;EAKA3X,YAAY,CACT8B,EADH,CACM/J,QADN,EACgB6M,sBADhB,EACsCmQ,mBADtC,EAC2D,UAAAvX,CAAC;EAAA,SAAIA,CAAC,CAACuZ,eAAF,EAAJ;EAAA,CAD5D;EAGA,IAAMxY,GAAC,GAAGvC,SAAS,EAAnB;EAEA;;;;;;;EAMA;;EACA,IAAIuC,GAAJ,EAAO;EACL,MAAM6H,oBAAkB,GAAG7H,GAAC,CAACsB,EAAF,CAAKuE,MAAL,CAA3B;EACA7F,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,IAAayR,QAAQ,CAAC9P,eAAtB;EACAxH,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,EAAWiC,WAAX,GAAyBwP,QAAzB;;EACAtX,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,EAAWkC,UAAX,GAAwB,YAAM;EAC5B/H,IAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,IAAagC,oBAAb;EACA,WAAOyP,QAAQ,CAAC9P,eAAhB;EACD,GAHD;EAID;;EChgBD;;;;;;EAMA,IAAM3B,MAAI,GAAG,OAAb;EACA,IAAMC,SAAO,GAAG,OAAhB;EACA,IAAMC,UAAQ,GAAG,UAAjB;EACA,IAAMC,WAAS,SAAOD,UAAtB;EACA,IAAME,cAAY,GAAG,WAArB;EACA,IAAMuP,gBAAc,GAAG,EAAvB;;EAEA,IAAMtK,SAAO,GAAG;EACdyO,EAAAA,QAAQ,EAAE,IADI;EAEdvO,EAAAA,QAAQ,EAAE,IAFI;EAGdlC,EAAAA,KAAK,EAAE,IAHO;EAId+K,EAAAA,IAAI,EAAE;EAJQ,CAAhB;EAOA,IAAMxI,aAAW,GAAG;EAClBkO,EAAAA,QAAQ,EAAE,kBADQ;EAElBvO,EAAAA,QAAQ,EAAE,SAFQ;EAGlBlC,EAAAA,KAAK,EAAE,SAHW;EAIlB+K,EAAAA,IAAI,EAAE;EAJY,CAApB;EAOA,IAAMrB,YAAU,YAAU5M,WAA1B;EACA,IAAM4T,oBAAoB,qBAAmB5T,WAA7C;EACA,IAAM6M,cAAY,cAAY7M,WAA9B;EACA,IAAM0M,YAAU,YAAU1M,WAA1B;EACA,IAAM2M,aAAW,aAAW3M,WAA5B;EACA,IAAM6T,aAAa,eAAa7T,WAAhC;EACA,IAAM8T,YAAY,cAAY9T,WAA9B;EACA,IAAM+T,mBAAmB,qBAAmB/T,WAA5C;EACA,IAAMgU,qBAAqB,uBAAqBhU,WAAhD;EACA,IAAMiU,qBAAqB,uBAAqBjU,WAAhD;EACA,IAAMkU,uBAAuB,yBAAuBlU,WAApD;EACA,IAAMK,sBAAoB,aAAWL,WAAX,GAAuBC,cAAjD;EAEA,IAAMkU,qBAAqB,GAAG,yBAA9B;EACA,IAAMC,6BAA6B,GAAG,yBAAtC;EACA,IAAMC,mBAAmB,GAAG,gBAA5B;EACA,IAAMC,eAAe,GAAG,YAAxB;EACA,IAAMC,eAAe,GAAG,MAAxB;EACA,IAAMzH,iBAAe,GAAG,MAAxB;EACA,IAAM0H,iBAAiB,GAAG,cAA1B;EAEA,IAAMC,eAAe,GAAG,eAAxB;EACA,IAAMC,mBAAmB,GAAG,aAA5B;EACA,IAAMrS,sBAAoB,GAAG,uBAA7B;EACA,IAAMsS,qBAAqB,GAAG,wBAA9B;EACA,IAAMC,sBAAsB,GAAG,mDAA/B;EACA,IAAMC,uBAAuB,GAAG,aAAhC;EAEA;;;;;;MAMMC;EACJ,iBAAYnhB,OAAZ,EAAqBiC,MAArB,EAA6B;EAC3B,SAAKwS,OAAL,GAAe,KAAKC,UAAL,CAAgBzS,MAAhB,CAAf;EACA,SAAK8K,QAAL,GAAgB/M,OAAhB;EACA,SAAKohB,OAAL,GAAenW,cAAc,CAAC7F,OAAf,CAAuB0b,eAAvB,EAAwC9gB,OAAxC,CAAf;EACA,SAAKqhB,SAAL,GAAiB,IAAjB;EACA,SAAKC,QAAL,GAAgB,KAAhB;EACA,SAAKC,kBAAL,GAA0B,KAA1B;EACA,SAAKC,oBAAL,GAA4B,KAA5B;EACA,SAAK7H,gBAAL,GAAwB,KAAxB;EACA,SAAK8H,eAAL,GAAuB,CAAvB;EACA9c,IAAAA,IAAI,CAACC,OAAL,CAAa5E,OAAb,EAAsBoM,UAAtB,EAAgC,IAAhC;EACD;;;;;EAYD;WAEA6C,SAAA,gBAAOqI,aAAP,EAAsB;EACpB,WAAO,KAAKgK,QAAL,GAAgB,KAAKjH,IAAL,EAAhB,GAA8B,KAAKC,IAAL,CAAUhD,aAAV,CAArC;EACD;;WAEDgD,OAAA,cAAKhD,aAAL,EAAoB;EAAA;;EAClB,QAAI,KAAKgK,QAAL,IAAiB,KAAK3H,gBAA1B,EAA4C;EAC1C;EACD;;EAED,QAAI,KAAK5M,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCkT,eAAjC,CAAJ,EAAuD;EACrD,WAAKjH,gBAAL,GAAwB,IAAxB;EACD;;EAED,QAAM0E,SAAS,GAAGvW,YAAY,CAACsC,OAAb,CAAqB,KAAK2C,QAA1B,EAAoCgM,YAApC,EAAgD;EAChEzB,MAAAA,aAAa,EAAbA;EADgE,KAAhD,CAAlB;;EAIA,QAAI,KAAKgK,QAAL,IAAiBjD,SAAS,CAAC1Y,gBAA/B,EAAiD;EAC/C;EACD;;EAED,SAAK2b,QAAL,GAAgB,IAAhB;;EAEA,SAAKI,eAAL;;EACA,SAAKC,aAAL;;EAEA,SAAKC,aAAL;;EAEA,SAAKC,eAAL;;EACA,SAAKC,eAAL;;EAEAha,IAAAA,YAAY,CAAC8B,EAAb,CAAgB,KAAKmD,QAArB,EACEqT,mBADF,EAEEY,qBAFF,EAGE,UAAA5Z,KAAK;EAAA,aAAI,KAAI,CAACiT,IAAL,CAAUjT,KAAV,CAAJ;EAAA,KAHP;EAMAU,IAAAA,YAAY,CAAC8B,EAAb,CAAgB,KAAKwX,OAArB,EAA8Bb,uBAA9B,EAAuD,YAAM;EAC3DzY,MAAAA,YAAY,CAAC+B,GAAb,CAAiB,KAAI,CAACkD,QAAtB,EAAgCuT,qBAAhC,EAAuD,UAAAlZ,KAAK,EAAI;EAC9D,YAAIA,KAAK,CAACe,MAAN,KAAiB,KAAI,CAAC4E,QAA1B,EAAoC;EAClC,UAAA,KAAI,CAACyU,oBAAL,GAA4B,IAA5B;EACD;EACF,OAJD;EAKD,KAND;;EAQA,SAAKO,aAAL,CAAmB;EAAA,aAAM,KAAI,CAACC,YAAL,CAAkB1K,aAAlB,CAAN;EAAA,KAAnB;EACD;;WAED+C,OAAA,cAAKjT,KAAL,EAAY;EAAA;;EACV,QAAIA,KAAJ,EAAW;EACTA,MAAAA,KAAK,CAAC1B,cAAN;EACD;;EAED,QAAI,CAAC,KAAK4b,QAAN,IAAkB,KAAK3H,gBAA3B,EAA6C;EAC3C;EACD;;EAED,QAAM8E,SAAS,GAAG3W,YAAY,CAACsC,OAAb,CAAqB,KAAK2C,QAA1B,EAAoCkM,YAApC,CAAlB;;EAEA,QAAIwF,SAAS,CAAC9Y,gBAAd,EAAgC;EAC9B;EACD;;EAED,SAAK2b,QAAL,GAAgB,KAAhB;;EACA,QAAMW,UAAU,GAAG,KAAKlV,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCkT,eAAjC,CAAnB;;EAEA,QAAIqB,UAAJ,EAAgB;EACd,WAAKtI,gBAAL,GAAwB,IAAxB;EACD;;EAED,SAAKkI,eAAL;;EACA,SAAKC,eAAL;;EAEAha,IAAAA,YAAY,CAACC,GAAb,CAAiBlI,QAAjB,EAA2BqgB,aAA3B;;EAEA,SAAKnT,QAAL,CAAcS,SAAd,CAAwBC,MAAxB,CAA+B0L,iBAA/B;;EAEArR,IAAAA,YAAY,CAACC,GAAb,CAAiB,KAAKgF,QAAtB,EAAgCqT,mBAAhC;EACAtY,IAAAA,YAAY,CAACC,GAAb,CAAiB,KAAKqZ,OAAtB,EAA+Bb,uBAA/B;;EAEA,QAAI0B,UAAJ,EAAgB;EACd,UAAMthB,kBAAkB,GAAGH,gCAAgC,CAAC,KAAKuM,QAAN,CAA3D;EAEAjF,MAAAA,YAAY,CAAC+B,GAAb,CAAiB,KAAKkD,QAAtB,EAAgC9N,cAAhC,EAAgD,UAAAmI,KAAK;EAAA,eAAI,MAAI,CAAC8a,UAAL,CAAgB9a,KAAhB,CAAJ;EAAA,OAArD;EACA9F,MAAAA,oBAAoB,CAAC,KAAKyL,QAAN,EAAgBpM,kBAAhB,CAApB;EACD,KALD,MAKO;EACL,WAAKuhB,UAAL;EACD;EACF;;WAED5U,UAAA,mBAAU;EACR,KAAC7M,MAAD,EAAS,KAAKsM,QAAd,EAAwB,KAAKqU,OAA7B,EACG/e,OADH,CACW,UAAA8f,WAAW;EAAA,aAAIra,YAAY,CAACC,GAAb,CAAiBoa,WAAjB,EAA8B9V,WAA9B,CAAJ;EAAA,KADtB;EAGA;;;;;;EAKAvE,IAAAA,YAAY,CAACC,GAAb,CAAiBlI,QAAjB,EAA2BqgB,aAA3B;EAEAvb,IAAAA,IAAI,CAACI,UAAL,CAAgB,KAAKgI,QAArB,EAA+BX,UAA/B;EAEA,SAAKqI,OAAL,GAAe,IAAf;EACA,SAAK1H,QAAL,GAAgB,IAAhB;EACA,SAAKqU,OAAL,GAAe,IAAf;EACA,SAAKC,SAAL,GAAiB,IAAjB;EACA,SAAKC,QAAL,GAAgB,IAAhB;EACA,SAAKC,kBAAL,GAA0B,IAA1B;EACA,SAAKC,oBAAL,GAA4B,IAA5B;EACA,SAAK7H,gBAAL,GAAwB,IAAxB;EACA,SAAK8H,eAAL,GAAuB,IAAvB;EACD;;WAEDW,eAAA,wBAAe;EACb,SAAKR,aAAL;EACD;;;WAIDlN,aAAA,oBAAWzS,MAAX,EAAmB;EACjBA,IAAAA,MAAM,sBACDsP,SADC,MAEDtP,MAFC,CAAN;EAIAF,IAAAA,eAAe,CAACmK,MAAD,EAAOjK,MAAP,EAAe6P,aAAf,CAAf;EACA,WAAO7P,MAAP;EACD;;WAED+f,eAAA,sBAAa1K,aAAb,EAA4B;EAAA;;EAC1B,QAAM2K,UAAU,GAAG,KAAKlV,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCkT,eAAjC,CAAnB;;EACA,QAAMyB,SAAS,GAAGpX,cAAc,CAAC7F,OAAf,CAAuB2b,mBAAvB,EAA4C,KAAKK,OAAjD,CAAlB;;EAEA,QAAI,CAAC,KAAKrU,QAAL,CAAc/J,UAAf,IACA,KAAK+J,QAAL,CAAc/J,UAAd,CAAyB3B,QAAzB,KAAsCoK,IAAI,CAACC,YAD/C,EAC6D;EAC3D;EACA7L,MAAAA,QAAQ,CAACmE,IAAT,CAAcse,WAAd,CAA0B,KAAKvV,QAA/B;EACD;;EAED,SAAKA,QAAL,CAAchK,KAAd,CAAoBI,OAApB,GAA8B,OAA9B;;EACA,SAAK4J,QAAL,CAAc5G,eAAd,CAA8B,aAA9B;;EACA,SAAK4G,QAAL,CAAcyC,YAAd,CAA2B,YAA3B,EAAyC,IAAzC;;EAEA,QAAI,KAAK4R,OAAL,CAAa5T,SAAb,CAAuBE,QAAvB,CAAgC8S,qBAAhC,KAA0D6B,SAA9D,EAAyE;EACvEA,MAAAA,SAAS,CAAC1R,SAAV,GAAsB,CAAtB;EACD,KAFD,MAEO;EACL,WAAK5D,QAAL,CAAc4D,SAAd,GAA0B,CAA1B;EACD;;EAED,QAAIsR,UAAJ,EAAgB;EACdre,MAAAA,MAAM,CAAC,KAAKmJ,QAAN,CAAN;EACD;;EAED,SAAKA,QAAL,CAAcS,SAAd,CAAwBkC,GAAxB,CAA4ByJ,iBAA5B;;EAEA,QAAI,KAAK1E,OAAL,CAAalF,KAAjB,EAAwB;EACtB,WAAKgT,aAAL;EACD;;EAED,QAAMC,kBAAkB,GAAG,SAArBA,kBAAqB,GAAM;EAC/B,UAAI,MAAI,CAAC/N,OAAL,CAAalF,KAAjB,EAAwB;EACtB,QAAA,MAAI,CAACxC,QAAL,CAAcwC,KAAd;EACD;;EAED,MAAA,MAAI,CAACoK,gBAAL,GAAwB,KAAxB;EACA7R,MAAAA,YAAY,CAACsC,OAAb,CAAqB,MAAI,CAAC2C,QAA1B,EAAoCiM,aAApC,EAAiD;EAC/C1B,QAAAA,aAAa,EAAbA;EAD+C,OAAjD;EAGD,KATD;;EAWA,QAAI2K,UAAJ,EAAgB;EACd,UAAMthB,kBAAkB,GAAGH,gCAAgC,CAAC,KAAK4gB,OAAN,CAA3D;EAEAtZ,MAAAA,YAAY,CAAC+B,GAAb,CAAiB,KAAKuX,OAAtB,EAA+BniB,cAA/B,EAA+CujB,kBAA/C;EACAlhB,MAAAA,oBAAoB,CAAC,KAAK8f,OAAN,EAAezgB,kBAAf,CAApB;EACD,KALD,MAKO;EACL6hB,MAAAA,kBAAkB;EACnB;EACF;;WAEDD,gBAAA,yBAAgB;EAAA;;EACdza,IAAAA,YAAY,CAACC,GAAb,CAAiBlI,QAAjB,EAA2BqgB,aAA3B,EADc;;EAEdpY,IAAAA,YAAY,CAAC8B,EAAb,CAAgB/J,QAAhB,EAA0BqgB,aAA1B,EAAyC,UAAA9Y,KAAK,EAAI;EAChD,UAAIvH,QAAQ,KAAKuH,KAAK,CAACe,MAAnB,IACA,MAAI,CAAC4E,QAAL,KAAkB3F,KAAK,CAACe,MADxB,IAEA,CAAC,MAAI,CAAC4E,QAAL,CAAcW,QAAd,CAAuBtG,KAAK,CAACe,MAA7B,CAFL,EAE2C;EACzC,QAAA,MAAI,CAAC4E,QAAL,CAAcwC,KAAd;EACD;EACF,KAND;EAOD;;WAEDsS,kBAAA,2BAAkB;EAAA;;EAChB,QAAI,KAAKP,QAAT,EAAmB;EACjBxZ,MAAAA,YAAY,CAAC8B,EAAb,CAAgB,KAAKmD,QAArB,EAA+BsT,qBAA/B,EAAsD,UAAAjZ,KAAK,EAAI;EAC7D,YAAI,MAAI,CAACqN,OAAL,CAAahD,QAAb,IAAyBrK,KAAK,CAACC,KAAN,KAAgBwU,gBAA7C,EAA6D;EAC3DzU,UAAAA,KAAK,CAAC1B,cAAN;;EACA,UAAA,MAAI,CAAC2U,IAAL;EACD,SAHD,MAGO,IAAI,CAAC,MAAI,CAAC5F,OAAL,CAAahD,QAAd,IAA0BrK,KAAK,CAACC,KAAN,KAAgBwU,gBAA9C,EAA8D;EACnE,UAAA,MAAI,CAAC4G,0BAAL;EACD;EACF,OAPD;EAQD,KATD,MASO;EACL3a,MAAAA,YAAY,CAACC,GAAb,CAAiB,KAAKgF,QAAtB,EAAgCsT,qBAAhC;EACD;EACF;;WAEDyB,kBAAA,2BAAkB;EAAA;;EAChB,QAAI,KAAKR,QAAT,EAAmB;EACjBxZ,MAAAA,YAAY,CAAC8B,EAAb,CAAgBnJ,MAAhB,EAAwB0f,YAAxB,EAAsC;EAAA,eAAM,MAAI,CAACyB,aAAL,EAAN;EAAA,OAAtC;EACD,KAFD,MAEO;EACL9Z,MAAAA,YAAY,CAACC,GAAb,CAAiBtH,MAAjB,EAAyB0f,YAAzB;EACD;EACF;;WAED+B,aAAA,sBAAa;EAAA;;EACX,SAAKnV,QAAL,CAAchK,KAAd,CAAoBI,OAApB,GAA8B,MAA9B;;EACA,SAAK4J,QAAL,CAAcyC,YAAd,CAA2B,aAA3B,EAA0C,IAA1C;;EACA,SAAKzC,QAAL,CAAc5G,eAAd,CAA8B,YAA9B;;EACA,SAAKwT,gBAAL,GAAwB,KAAxB;;EACA,SAAKoI,aAAL,CAAmB,YAAM;EACvBliB,MAAAA,QAAQ,CAACmE,IAAT,CAAcwJ,SAAd,CAAwBC,MAAxB,CAA+BkT,eAA/B;;EACA,MAAA,MAAI,CAAC+B,iBAAL;;EACA,MAAA,MAAI,CAACC,eAAL;;EACA7a,MAAAA,YAAY,CAACsC,OAAb,CAAqB,MAAI,CAAC2C,QAA1B,EAAoCmM,cAApC;EACD,KALD;EAMD;;WAED0J,kBAAA,2BAAkB;EAChB,SAAKvB,SAAL,CAAere,UAAf,CAA0B4K,WAA1B,CAAsC,KAAKyT,SAA3C;;EACA,SAAKA,SAAL,GAAiB,IAAjB;EACD;;WAEDU,gBAAA,uBAAcc,QAAd,EAAwB;EAAA;;EACtB,QAAMC,OAAO,GAAG,KAAK/V,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCkT,eAAjC,IACdA,eADc,GAEd,EAFF;;EAIA,QAAI,KAAKU,QAAL,IAAiB,KAAK7M,OAAL,CAAauL,QAAlC,EAA4C;EAC1C,WAAKqB,SAAL,GAAiBxhB,QAAQ,CAAC4F,aAAT,CAAuB,KAAvB,CAAjB;EACA,WAAK4b,SAAL,CAAenQ,SAAf,GAA2BwP,mBAA3B;;EAEA,UAAIoC,OAAJ,EAAa;EACX,aAAKzB,SAAL,CAAe7T,SAAf,CAAyBkC,GAAzB,CAA6BoT,OAA7B;EACD;;EAEDjjB,MAAAA,QAAQ,CAACmE,IAAT,CAAcse,WAAd,CAA0B,KAAKjB,SAA/B;EAEAvZ,MAAAA,YAAY,CAAC8B,EAAb,CAAgB,KAAKmD,QAArB,EAA+BqT,mBAA/B,EAAoD,UAAAhZ,KAAK,EAAI;EAC3D,YAAI,MAAI,CAACoa,oBAAT,EAA+B;EAC7B,UAAA,MAAI,CAACA,oBAAL,GAA4B,KAA5B;EACA;EACD;;EAED,YAAIpa,KAAK,CAACe,MAAN,KAAiBf,KAAK,CAAC2b,aAA3B,EAA0C;EACxC;EACD;;EAED,QAAA,MAAI,CAACN,0BAAL;EACD,OAXD;;EAaA,UAAIK,OAAJ,EAAa;EACXlf,QAAAA,MAAM,CAAC,KAAKyd,SAAN,CAAN;EACD;;EAED,WAAKA,SAAL,CAAe7T,SAAf,CAAyBkC,GAAzB,CAA6ByJ,iBAA7B;;EAEA,UAAI,CAAC2J,OAAL,EAAc;EACZD,QAAAA,QAAQ;EACR;EACD;;EAED,UAAMG,0BAA0B,GAAGxiB,gCAAgC,CAAC,KAAK6gB,SAAN,CAAnE;EAEAvZ,MAAAA,YAAY,CAAC+B,GAAb,CAAiB,KAAKwX,SAAtB,EAAiCpiB,cAAjC,EAAiD4jB,QAAjD;EACAvhB,MAAAA,oBAAoB,CAAC,KAAK+f,SAAN,EAAiB2B,0BAAjB,CAApB;EACD,KAtCD,MAsCO,IAAI,CAAC,KAAK1B,QAAN,IAAkB,KAAKD,SAA3B,EAAsC;EAC3C,WAAKA,SAAL,CAAe7T,SAAf,CAAyBC,MAAzB,CAAgC0L,iBAAhC;;EAEA,UAAM8J,cAAc,GAAG,SAAjBA,cAAiB,GAAM;EAC3B,QAAA,MAAI,CAACL,eAAL;;EACAC,QAAAA,QAAQ;EACT,OAHD;;EAKA,UAAI,KAAK9V,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCkT,eAAjC,CAAJ,EAAuD;EACrD,YAAMoC,2BAA0B,GAAGxiB,gCAAgC,CAAC,KAAK6gB,SAAN,CAAnE;;EACAvZ,QAAAA,YAAY,CAAC+B,GAAb,CAAiB,KAAKwX,SAAtB,EAAiCpiB,cAAjC,EAAiDgkB,cAAjD;EACA3hB,QAAAA,oBAAoB,CAAC,KAAK+f,SAAN,EAAiB2B,2BAAjB,CAApB;EACD,OAJD,MAIO;EACLC,QAAAA,cAAc;EACf;EACF,KAfM,MAeA;EACLJ,MAAAA,QAAQ;EACT;EACF;;WAEDJ,6BAAA,sCAA6B;EAAA;;EAC3B,QAAI,KAAKhO,OAAL,CAAauL,QAAb,KAA0B,QAA9B,EAAwC;EACtC,UAAMvB,SAAS,GAAG3W,YAAY,CAACsC,OAAb,CAAqB,KAAK2C,QAA1B,EAAoCkT,oBAApC,CAAlB;;EACA,UAAIxB,SAAS,CAAC9Y,gBAAd,EAAgC;EAC9B;EACD;;EAED,WAAKoH,QAAL,CAAcS,SAAd,CAAwBkC,GAAxB,CAA4BmR,iBAA5B;;EACA,UAAMqC,uBAAuB,GAAG1iB,gCAAgC,CAAC,KAAKuM,QAAN,CAAhE;EACAjF,MAAAA,YAAY,CAAC+B,GAAb,CAAiB,KAAKkD,QAAtB,EAAgC9N,cAAhC,EAAgD,YAAM;EACpD,QAAA,MAAI,CAAC8N,QAAL,CAAcS,SAAd,CAAwBC,MAAxB,CAA+BoT,iBAA/B;EACD,OAFD;EAGAvf,MAAAA,oBAAoB,CAAC,KAAKyL,QAAN,EAAgBmW,uBAAhB,CAApB;;EACA,WAAKnW,QAAL,CAAcwC,KAAd;EACD,KAbD,MAaO;EACL,WAAK8K,IAAL;EACD;EACF;EAGD;EACA;;;WAEAuH,gBAAA,yBAAgB;EACd,QAAMuB,kBAAkB,GACtB,KAAKpW,QAAL,CAAcqW,YAAd,GAA6BvjB,QAAQ,CAACyD,eAAT,CAAyB+f,YADxD;;EAGA,QAAI,CAAC,KAAK9B,kBAAN,IAA4B4B,kBAAhC,EAAoD;EAClD,WAAKpW,QAAL,CAAchK,KAAd,CAAoBugB,WAApB,GAAqC,KAAK7B,eAA1C;EACD;;EAED,QAAI,KAAKF,kBAAL,IAA2B,CAAC4B,kBAAhC,EAAoD;EAClD,WAAKpW,QAAL,CAAchK,KAAd,CAAoBwgB,YAApB,GAAsC,KAAK9B,eAA3C;EACD;EACF;;WAEDiB,oBAAA,6BAAoB;EAClB,SAAK3V,QAAL,CAAchK,KAAd,CAAoBugB,WAApB,GAAkC,EAAlC;EACA,SAAKvW,QAAL,CAAchK,KAAd,CAAoBwgB,YAApB,GAAmC,EAAnC;EACD;;WAED7B,kBAAA,2BAAkB;EAChB,QAAMlR,IAAI,GAAG3Q,QAAQ,CAACmE,IAAT,CAAcyM,qBAAd,EAAb;EACA,SAAK8Q,kBAAL,GAA0B/Q,IAAI,CAACI,IAAL,GAAYJ,IAAI,CAACgT,KAAjB,GAAyB/iB,MAAM,CAACgjB,UAA1D;EACA,SAAKhC,eAAL,GAAuB,KAAKiC,kBAAL,EAAvB;EACD;;WAED/B,gBAAA,yBAAgB;EAAA;;EACd,QAAI,KAAKJ,kBAAT,EAA6B;EAC3B;EACA;EAEA;EACAtW,MAAAA,cAAc,CAACjG,IAAf,CAAoBic,sBAApB,EACG5e,OADH,CACW,UAAArC,OAAO,EAAI;EAClB,YAAM2jB,aAAa,GAAG3jB,OAAO,CAAC+C,KAAR,CAAcwgB,YAApC;EACA,YAAMK,iBAAiB,GAAGnjB,MAAM,CAACC,gBAAP,CAAwBV,OAAxB,EAAiC,eAAjC,CAA1B;EACAgQ,QAAAA,WAAW,CAACC,gBAAZ,CAA6BjQ,OAA7B,EAAsC,eAAtC,EAAuD2jB,aAAvD;EACA3jB,QAAAA,OAAO,CAAC+C,KAAR,CAAcwgB,YAAd,GAAgCziB,UAAU,CAAC8iB,iBAAD,CAAV,GAAgC,OAAI,CAACnC,eAArE;EACD,OANH,EAL2B;;EAc3BxW,MAAAA,cAAc,CAACjG,IAAf,CAAoBkc,uBAApB,EACG7e,OADH,CACW,UAAArC,OAAO,EAAI;EAClB,YAAM6jB,YAAY,GAAG7jB,OAAO,CAAC+C,KAAR,CAAc+gB,WAAnC;EACA,YAAMC,gBAAgB,GAAGtjB,MAAM,CAACC,gBAAP,CAAwBV,OAAxB,EAAiC,cAAjC,CAAzB;EACAgQ,QAAAA,WAAW,CAACC,gBAAZ,CAA6BjQ,OAA7B,EAAsC,cAAtC,EAAsD6jB,YAAtD;EACA7jB,QAAAA,OAAO,CAAC+C,KAAR,CAAc+gB,WAAd,GAA+BhjB,UAAU,CAACijB,gBAAD,CAAV,GAA+B,OAAI,CAACtC,eAAnE;EACD,OANH,EAd2B;;EAuB3B,UAAMkC,aAAa,GAAG9jB,QAAQ,CAACmE,IAAT,CAAcjB,KAAd,CAAoBwgB,YAA1C;EACA,UAAMK,iBAAiB,GAAGnjB,MAAM,CAACC,gBAAP,CAAwBb,QAAQ,CAACmE,IAAjC,EAAuC,eAAvC,CAA1B;EAEAgM,MAAAA,WAAW,CAACC,gBAAZ,CAA6BpQ,QAAQ,CAACmE,IAAtC,EAA4C,eAA5C,EAA6D2f,aAA7D;EACA9jB,MAAAA,QAAQ,CAACmE,IAAT,CAAcjB,KAAd,CAAoBwgB,YAApB,GAAsCziB,UAAU,CAAC8iB,iBAAD,CAAV,GAAgC,KAAKnC,eAA3E;EACD;;EAED5hB,IAAAA,QAAQ,CAACmE,IAAT,CAAcwJ,SAAd,CAAwBkC,GAAxB,CAA4BiR,eAA5B;EACD;;WAEDgC,kBAAA,2BAAkB;EAChB;EACA1X,IAAAA,cAAc,CAACjG,IAAf,CAAoBic,sBAApB,EACG5e,OADH,CACW,UAAArC,OAAO,EAAI;EAClB,UAAMgkB,OAAO,GAAGhU,WAAW,CAACM,gBAAZ,CAA6BtQ,OAA7B,EAAsC,eAAtC,CAAhB;;EACA,UAAI,OAAOgkB,OAAP,KAAmB,WAAvB,EAAoC;EAClChU,QAAAA,WAAW,CAACE,mBAAZ,CAAgClQ,OAAhC,EAAyC,eAAzC;EACAA,QAAAA,OAAO,CAAC+C,KAAR,CAAcwgB,YAAd,GAA6BS,OAA7B;EACD;EACF,KAPH,EAFgB;;EAYhB/Y,IAAAA,cAAc,CAACjG,IAAf,MAAuBkc,uBAAvB,EACG7e,OADH,CACW,UAAArC,OAAO,EAAI;EAClB,UAAMikB,MAAM,GAAGjU,WAAW,CAACM,gBAAZ,CAA6BtQ,OAA7B,EAAsC,cAAtC,CAAf;;EACA,UAAI,OAAOikB,MAAP,KAAkB,WAAtB,EAAmC;EACjCjU,QAAAA,WAAW,CAACE,mBAAZ,CAAgClQ,OAAhC,EAAyC,cAAzC;EACAA,QAAAA,OAAO,CAAC+C,KAAR,CAAc+gB,WAAd,GAA4BG,MAA5B;EACD;EACF,KAPH,EAZgB;;EAsBhB,QAAMD,OAAO,GAAGhU,WAAW,CAACM,gBAAZ,CAA6BzQ,QAAQ,CAACmE,IAAtC,EAA4C,eAA5C,CAAhB;;EACA,QAAI,OAAOggB,OAAP,KAAmB,WAAvB,EAAoC;EAClCnkB,MAAAA,QAAQ,CAACmE,IAAT,CAAcjB,KAAd,CAAoBwgB,YAApB,GAAmC,EAAnC;EACD,KAFD,MAEO;EACLvT,MAAAA,WAAW,CAACE,mBAAZ,CAAgCrQ,QAAQ,CAACmE,IAAzC,EAA+C,eAA/C;EACAnE,MAAAA,QAAQ,CAACmE,IAAT,CAAcjB,KAAd,CAAoBwgB,YAApB,GAAmCS,OAAnC;EACD;EACF;;WAEDN,qBAAA,8BAAqB;EAAE;EACrB,QAAMQ,SAAS,GAAGrkB,QAAQ,CAAC4F,aAAT,CAAuB,KAAvB,CAAlB;EACAye,IAAAA,SAAS,CAAChT,SAAV,GAAsBuP,6BAAtB;EACA5gB,IAAAA,QAAQ,CAACmE,IAAT,CAAcse,WAAd,CAA0B4B,SAA1B;EACA,QAAMC,cAAc,GAAGD,SAAS,CAACzT,qBAAV,GAAkC2T,KAAlC,GAA0CF,SAAS,CAACG,WAA3E;EACAxkB,IAAAA,QAAQ,CAACmE,IAAT,CAAc4J,WAAd,CAA0BsW,SAA1B;EACA,WAAOC,cAAP;EACD;;;UAIMtW,kBAAP,yBAAuB5L,MAAvB,EAA+BqV,aAA/B,EAA8C;EAC5C,WAAO,KAAKxJ,IAAL,CAAU,YAAY;EAC3B,UAAIvJ,IAAI,GAAGI,IAAI,CAACG,OAAL,CAAa,IAAb,EAAmBsH,UAAnB,CAAX;;EACA,UAAMqI,OAAO,sBACRlD,SADQ,MAERvB,WAAW,CAACG,iBAAZ,CAA8B,IAA9B,CAFQ,MAGR,OAAOlO,MAAP,KAAkB,QAAlB,IAA8BA,MAA9B,GAAuCA,MAAvC,GAAgD,EAHxC,CAAb;;EAMA,UAAI,CAACsC,IAAL,EAAW;EACTA,QAAAA,IAAI,GAAG,IAAI4c,KAAJ,CAAU,IAAV,EAAgB1M,OAAhB,CAAP;EACD;;EAED,UAAI,OAAOxS,MAAP,KAAkB,QAAtB,EAAgC;EAC9B,YAAI,OAAOsC,IAAI,CAACtC,MAAD,CAAX,KAAwB,WAA5B,EAAyC;EACvC,gBAAM,IAAIyW,SAAJ,wBAAkCzW,MAAlC,QAAN;EACD;;EAEDsC,QAAAA,IAAI,CAACtC,MAAD,CAAJ,CAAaqV,aAAb;EACD,OAND,MAMO,IAAI7C,OAAO,CAAC6F,IAAZ,EAAkB;EACvB/V,QAAAA,IAAI,CAAC+V,IAAL,CAAUhD,aAAV;EACD;EACF,KArBM,CAAP;EAsBD;;UAEMrJ,cAAP,qBAAmBjO,OAAnB,EAA4B;EAC1B,WAAO2E,IAAI,CAACG,OAAL,CAAa9E,OAAb,EAAsBoM,UAAtB,CAAP;EACD;;;;0BAvcoB;EACnB,aAAOD,SAAP;EACD;;;0BAEoB;EACnB,aAAOoF,SAAP;EACD;;;;;EAocH;;;;;;;EAMAzJ,YAAY,CAAC8B,EAAb,CAAgB/J,QAAhB,EAA0B6M,sBAA1B,EAAgDgC,sBAAhD,EAAsE,UAAUtH,KAAV,EAAiB;EAAA;;EACrF,MAAMe,MAAM,GAAG5H,sBAAsB,CAAC,IAAD,CAArC;;EAEA,MAAI,KAAKsW,OAAL,KAAiB,GAAjB,IAAwB,KAAKA,OAAL,KAAiB,MAA7C,EAAqD;EACnDzP,IAAAA,KAAK,CAAC1B,cAAN;EACD;;EAEDoC,EAAAA,YAAY,CAAC+B,GAAb,CAAiB1B,MAAjB,EAAyB4Q,YAAzB,EAAqC,UAAAsF,SAAS,EAAI;EAChD,QAAIA,SAAS,CAAC1Y,gBAAd,EAAgC;EAC9B;EACA;EACD;;EAEDmC,IAAAA,YAAY,CAAC+B,GAAb,CAAiB1B,MAAjB,EAAyB+Q,cAAzB,EAAuC,YAAM;EAC3C,UAAIpW,SAAS,CAAC,OAAD,CAAb,EAAqB;EACnB,QAAA,OAAI,CAACyM,KAAL;EACD;EACF,KAJD;EAKD,GAXD;EAaA,MAAIhL,IAAI,GAAGI,IAAI,CAACG,OAAL,CAAaqD,MAAb,EAAqBiE,UAArB,CAAX;;EACA,MAAI,CAAC7H,IAAL,EAAW;EACT,QAAMtC,MAAM,sBACP+N,WAAW,CAACG,iBAAZ,CAA8BhI,MAA9B,CADO,MAEP6H,WAAW,CAACG,iBAAZ,CAA8B,IAA9B,CAFO,CAAZ;;EAKA5L,IAAAA,IAAI,GAAG,IAAI4c,KAAJ,CAAUhZ,MAAV,EAAkBlG,MAAlB,CAAP;EACD;;EAEDsC,EAAAA,IAAI,CAAC+V,IAAL,CAAU,IAAV;EACD,CA/BD;EAiCA,IAAMjU,GAAC,GAAGvC,SAAS,EAAnB;EAEA;;;;;;;EAMA;;EACA,IAAIuC,GAAJ,EAAO;EACL,MAAM6H,oBAAkB,GAAG7H,GAAC,CAACsB,EAAF,CAAKuE,MAAL,CAA3B;EACA7F,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,IAAaiV,KAAK,CAACtT,eAAnB;EACAxH,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,EAAWiC,WAAX,GAAyBgT,KAAzB;;EACA9a,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,EAAWkC,UAAX,GAAwB,YAAM;EAC5B/H,IAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,IAAagC,oBAAb;EACA,WAAOiT,KAAK,CAACtT,eAAb;EACD,GAHD;EAID;;ECrmBD;;;;;;EAOA,IAAMyW,QAAQ,GAAG,CACf,YADe,EAEf,MAFe,EAGf,MAHe,EAIf,UAJe,EAKf,UALe,EAMf,QANe,EAOf,KAPe,EAQf,YARe,CAAjB;EAWA,IAAMC,sBAAsB,GAAG,gBAA/B;EAEA;;;;;;EAKA,IAAMC,gBAAgB,GAAG,6DAAzB;EAEA;;;;;;EAKA,IAAMC,gBAAgB,GAAG,oIAAzB;;EAEA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,IAAD,EAAOC,oBAAP,EAAgC;EACvD,MAAMC,QAAQ,GAAGF,IAAI,CAACG,QAAL,CAActlB,WAAd,EAAjB;;EAEA,MAAIolB,oBAAoB,CAACzb,OAArB,CAA6B0b,QAA7B,MAA2C,CAAC,CAAhD,EAAmD;EACjD,QAAIP,QAAQ,CAACnb,OAAT,CAAiB0b,QAAjB,MAA+B,CAAC,CAApC,EAAuC;EACrC,aAAOL,gBAAgB,CAAC7hB,IAAjB,CAAsBgiB,IAAI,CAACI,SAA3B,KAAyCN,gBAAgB,CAAC9hB,IAAjB,CAAsBgiB,IAAI,CAACI,SAA3B,CAAhD;EACD;;EAED,WAAO,IAAP;EACD;;EAED,MAAMC,MAAM,GAAGJ,oBAAoB,CAACvZ,MAArB,CAA4B,UAAA4Z,SAAS;EAAA,WAAIA,SAAS,YAAYviB,MAAzB;EAAA,GAArC,CAAf,CAXuD;;EAcvD,OAAK,IAAI0F,CAAC,GAAG,CAAR,EAAWM,GAAG,GAAGsc,MAAM,CAAC3c,MAA7B,EAAqCD,CAAC,GAAGM,GAAzC,EAA8CN,CAAC,EAA/C,EAAmD;EACjD,QAAI4c,MAAM,CAAC5c,CAAD,CAAN,CAAUzF,IAAV,CAAekiB,QAAf,CAAJ,EAA8B;EAC5B,aAAO,IAAP;EACD;EACF;;EAED,SAAO,KAAP;EACD,CArBD;;EAuBO,IAAMK,gBAAgB,GAAG;EAC9B;EACA,OAAK,CAAC,OAAD,EAAU,KAAV,EAAiB,IAAjB,EAAuB,MAAvB,EAA+B,MAA/B,EAAuCX,sBAAvC,CAFyB;EAG9BY,EAAAA,CAAC,EAAE,CAAC,QAAD,EAAW,MAAX,EAAmB,OAAnB,EAA4B,KAA5B,CAH2B;EAI9BC,EAAAA,IAAI,EAAE,EAJwB;EAK9BC,EAAAA,CAAC,EAAE,EAL2B;EAM9BC,EAAAA,EAAE,EAAE,EAN0B;EAO9BC,EAAAA,GAAG,EAAE,EAPyB;EAQ9BC,EAAAA,IAAI,EAAE,EARwB;EAS9BC,EAAAA,GAAG,EAAE,EATyB;EAU9BC,EAAAA,EAAE,EAAE,EAV0B;EAW9BC,EAAAA,EAAE,EAAE,EAX0B;EAY9BC,EAAAA,EAAE,EAAE,EAZ0B;EAa9BC,EAAAA,EAAE,EAAE,EAb0B;EAc9BC,EAAAA,EAAE,EAAE,EAd0B;EAe9BC,EAAAA,EAAE,EAAE,EAf0B;EAgB9BC,EAAAA,EAAE,EAAE,EAhB0B;EAiB9BC,EAAAA,EAAE,EAAE,EAjB0B;EAkB9B7d,EAAAA,CAAC,EAAE,EAlB2B;EAmB9B8d,EAAAA,GAAG,EAAE,CAAC,KAAD,EAAQ,QAAR,EAAkB,KAAlB,EAAyB,OAAzB,EAAkC,OAAlC,EAA2C,QAA3C,CAnByB;EAoB9BC,EAAAA,EAAE,EAAE,EApB0B;EAqB9BC,EAAAA,EAAE,EAAE,EArB0B;EAsB9BC,EAAAA,CAAC,EAAE,EAtB2B;EAuB9BC,EAAAA,GAAG,EAAE,EAvByB;EAwB9BC,EAAAA,CAAC,EAAE,EAxB2B;EAyB9BC,EAAAA,KAAK,EAAE,EAzBuB;EA0B9BC,EAAAA,IAAI,EAAE,EA1BwB;EA2B9BC,EAAAA,GAAG,EAAE,EA3ByB;EA4B9BC,EAAAA,GAAG,EAAE,EA5ByB;EA6B9BC,EAAAA,MAAM,EAAE,EA7BsB;EA8B9BC,EAAAA,CAAC,EAAE,EA9B2B;EA+B9BC,EAAAA,EAAE,EAAE;EA/B0B,CAAzB;EAkCA,SAASC,YAAT,CAAsBC,UAAtB,EAAkCC,SAAlC,EAA6CC,UAA7C,EAAyD;EAAA;;EAC9D,MAAI,CAACF,UAAU,CAAC3e,MAAhB,EAAwB;EACtB,WAAO2e,UAAP;EACD;;EAED,MAAIE,UAAU,IAAI,OAAOA,UAAP,KAAsB,UAAxC,EAAoD;EAClD,WAAOA,UAAU,CAACF,UAAD,CAAjB;EACD;;EAED,MAAMG,SAAS,GAAG,IAAI1mB,MAAM,CAAC2mB,SAAX,EAAlB;EACA,MAAMC,eAAe,GAAGF,SAAS,CAACG,eAAV,CAA0BN,UAA1B,EAAsC,WAAtC,CAAxB;EACA,MAAMO,aAAa,GAAGplB,MAAM,CAACC,IAAP,CAAY6kB,SAAZ,CAAtB;;EACA,MAAMO,QAAQ,GAAG,YAAGtc,MAAH,aAAamc,eAAe,CAACrjB,IAAhB,CAAqBmB,gBAArB,CAAsC,GAAtC,CAAb,CAAjB;;EAZ8D,6BAcrDiD,CAdqD,EAc9CM,GAd8C;EAAA;;EAe5D,QAAM+e,EAAE,GAAGD,QAAQ,CAACpf,CAAD,CAAnB;EACA,QAAMsf,MAAM,GAAGD,EAAE,CAAC3C,QAAH,CAAYtlB,WAAZ,EAAf;;EAEA,QAAI+nB,aAAa,CAACpe,OAAd,CAAsBue,MAAtB,MAAkC,CAAC,CAAvC,EAA0C;EACxCD,MAAAA,EAAE,CAACzkB,UAAH,CAAc4K,WAAd,CAA0B6Z,EAA1B;EAEA;EACD;;EAED,QAAME,aAAa,GAAG,aAAGzc,MAAH,cAAauc,EAAE,CAACrX,UAAhB,CAAtB;;EACA,QAAMwX,qBAAqB,GAAG,GAAG1c,MAAH,CAAU+b,SAAS,CAAC,GAAD,CAAT,IAAkB,EAA5B,EAAgCA,SAAS,CAACS,MAAD,CAAT,IAAqB,EAArD,CAA9B;EAEAC,IAAAA,aAAa,CAACtlB,OAAd,CAAsB,UAAAsiB,IAAI,EAAI;EAC5B,UAAI,CAACD,gBAAgB,CAACC,IAAD,EAAOiD,qBAAP,CAArB,EAAoD;EAClDH,QAAAA,EAAE,CAACthB,eAAH,CAAmBwe,IAAI,CAACG,QAAxB;EACD;EACF,KAJD;EA3B4D;;EAc9D,OAAK,IAAI1c,CAAC,GAAG,CAAR,EAAWM,GAAG,GAAG8e,QAAQ,CAACnf,MAA/B,EAAuCD,CAAC,GAAGM,GAA3C,EAAgDN,CAAC,EAAjD,EAAqD;EAAA,qBAA5CA,CAA4C;;EAAA,6BAOjD;EAWH;;EAED,SAAOif,eAAe,CAACrjB,IAAhB,CAAqB6jB,SAA5B;EACD;;EClGD;;;;;;EAMA,IAAM3b,MAAI,GAAG,SAAb;EACA,IAAMC,SAAO,GAAG,OAAhB;EACA,IAAMC,UAAQ,GAAG,YAAjB;EACA,IAAMC,WAAS,SAAOD,UAAtB;EACA,IAAM0b,YAAY,GAAG,YAArB;EACA,IAAMC,kBAAkB,GAAG,IAAIrlB,MAAJ,aAAqBolB,YAArB,WAAyC,GAAzC,CAA3B;EACA,IAAME,qBAAqB,GAAG,CAAC,UAAD,EAAa,WAAb,EAA0B,YAA1B,CAA9B;EAEA,IAAMlW,aAAW,GAAG;EAClBmW,EAAAA,SAAS,EAAE,SADO;EAElBC,EAAAA,QAAQ,EAAE,QAFQ;EAGlBC,EAAAA,KAAK,EAAE,2BAHW;EAIlB/d,EAAAA,OAAO,EAAE,QAJS;EAKlBge,EAAAA,KAAK,EAAE,iBALW;EAMlBC,EAAAA,IAAI,EAAE,SANY;EAOlBpoB,EAAAA,QAAQ,EAAE,kBAPQ;EAQlBgf,EAAAA,SAAS,EAAE,mBARO;EASlB1O,EAAAA,MAAM,EAAE,0BATU;EAUlBkK,EAAAA,SAAS,EAAE,0BAVO;EAWlB6N,EAAAA,iBAAiB,EAAE,gBAXD;EAYlB9K,EAAAA,QAAQ,EAAE,kBAZQ;EAalB+K,EAAAA,QAAQ,EAAE,SAbQ;EAclBrB,EAAAA,UAAU,EAAE,iBAdM;EAelBD,EAAAA,SAAS,EAAE,QAfO;EAgBlBvJ,EAAAA,YAAY,EAAE;EAhBI,CAApB;EAmBA,IAAM8K,aAAa,GAAG;EACpBC,EAAAA,IAAI,EAAE,MADc;EAEpBC,EAAAA,GAAG,EAAE,KAFe;EAGpBC,EAAAA,KAAK,EAAE,OAHa;EAIpBC,EAAAA,MAAM,EAAE,QAJY;EAKpBC,EAAAA,IAAI,EAAE;EALc,CAAtB;EAQA,IAAMtX,SAAO,GAAG;EACd0W,EAAAA,SAAS,EAAE,IADG;EAEdC,EAAAA,QAAQ,EAAE,yCACQ,mCADR,GAEQ,yCAJJ;EAKd9d,EAAAA,OAAO,EAAE,aALK;EAMd+d,EAAAA,KAAK,EAAE,EANO;EAOdC,EAAAA,KAAK,EAAE,CAPO;EAQdC,EAAAA,IAAI,EAAE,KARQ;EASdpoB,EAAAA,QAAQ,EAAE,KATI;EAUdgf,EAAAA,SAAS,EAAE,KAVG;EAWd1O,EAAAA,MAAM,EAAE,CAXM;EAYdkK,EAAAA,SAAS,EAAE,KAZG;EAad6N,EAAAA,iBAAiB,EAAE,MAbL;EAcd9K,EAAAA,QAAQ,EAAE,cAdI;EAed+K,EAAAA,QAAQ,EAAE,IAfI;EAgBdrB,EAAAA,UAAU,EAAE,IAhBE;EAiBdD,EAAAA,SAAS,EAAE/B,gBAjBG;EAkBdxH,EAAAA,YAAY,EAAE;EAlBA,CAAhB;EAqBA,IAAMvc,OAAK,GAAG;EACZ2nB,EAAAA,IAAI,WAASzc,WADD;EAEZ0c,EAAAA,MAAM,aAAW1c,WAFL;EAGZ2c,EAAAA,IAAI,WAAS3c,WAHD;EAIZ4c,EAAAA,KAAK,YAAU5c,WAJH;EAKZ6c,EAAAA,QAAQ,eAAa7c,WALT;EAMZ8c,EAAAA,KAAK,YAAU9c,WANH;EAOZ+c,EAAAA,OAAO,cAAY/c,WAPP;EAQZgd,EAAAA,QAAQ,eAAahd,WART;EASZid,EAAAA,UAAU,iBAAejd,WATb;EAUZkd,EAAAA,UAAU,iBAAeld;EAVb,CAAd;EAaA,IAAMuU,iBAAe,GAAG,MAAxB;EACA,IAAM4I,gBAAgB,GAAG,OAAzB;EACA,IAAMrQ,iBAAe,GAAG,MAAxB;EAEA,IAAMsQ,gBAAgB,GAAG,MAAzB;EACA,IAAMC,eAAe,GAAG,KAAxB;EAEA,IAAMC,sBAAsB,GAAG,gBAA/B;EAEA,IAAMC,aAAa,GAAG,OAAtB;EACA,IAAMC,aAAa,GAAG,OAAtB;EACA,IAAMC,aAAa,GAAG,OAAtB;EACA,IAAMC,cAAc,GAAG,QAAvB;EAEA;;;;;;MAMMC;EACJ,mBAAYhqB,OAAZ,EAAqBiC,MAArB,EAA6B;EAC3B,QAAI,OAAOqc,MAAP,KAAkB,WAAtB,EAAmC;EACjC,YAAM,IAAI5F,SAAJ,CAAc,iEAAd,CAAN;EACD,KAH0B;;;EAM3B,SAAKuR,UAAL,GAAkB,IAAlB;EACA,SAAKC,QAAL,GAAgB,CAAhB;EACA,SAAKC,WAAL,GAAmB,EAAnB;EACA,SAAKC,cAAL,GAAsB,EAAtB;EACA,SAAKxM,OAAL,GAAe,IAAf,CAV2B;;EAa3B,SAAK5d,OAAL,GAAeA,OAAf;EACA,SAAKiC,MAAL,GAAc,KAAKyS,UAAL,CAAgBzS,MAAhB,CAAd;EACA,SAAKooB,GAAL,GAAW,IAAX;;EAEA,SAAKC,aAAL;;EACA3lB,IAAAA,IAAI,CAACC,OAAL,CAAa5E,OAAb,EAAsB,KAAK8e,WAAL,CAAiB1S,QAAvC,EAAiD,IAAjD;EACD;;;;;EAgCD;WAEAme,SAAA,kBAAS;EACP,SAAKN,UAAL,GAAkB,IAAlB;EACD;;WAEDO,UAAA,mBAAU;EACR,SAAKP,UAAL,GAAkB,KAAlB;EACD;;WAEDQ,gBAAA,yBAAgB;EACd,SAAKR,UAAL,GAAkB,CAAC,KAAKA,UAAxB;EACD;;WAEDhb,SAAA,gBAAO7H,KAAP,EAAc;EACZ,QAAI,CAAC,KAAK6iB,UAAV,EAAsB;EACpB;EACD;;EAED,QAAI7iB,KAAJ,EAAW;EACT,UAAMsjB,OAAO,GAAG,KAAK5L,WAAL,CAAiB1S,QAAjC;EACA,UAAIuT,OAAO,GAAGhb,IAAI,CAACG,OAAL,CAAasC,KAAK,CAACK,cAAnB,EAAmCijB,OAAnC,CAAd;;EAEA,UAAI,CAAC/K,OAAL,EAAc;EACZA,QAAAA,OAAO,GAAG,IAAI,KAAKb,WAAT,CACR1X,KAAK,CAACK,cADE,EAER,KAAKkjB,kBAAL,EAFQ,CAAV;EAIAhmB,QAAAA,IAAI,CAACC,OAAL,CAAawC,KAAK,CAACK,cAAnB,EAAmCijB,OAAnC,EAA4C/K,OAA5C;EACD;;EAEDA,MAAAA,OAAO,CAACyK,cAAR,CAAuBQ,KAAvB,GAA+B,CAACjL,OAAO,CAACyK,cAAR,CAAuBQ,KAAvD;;EAEA,UAAIjL,OAAO,CAACkL,oBAAR,EAAJ,EAAoC;EAClClL,QAAAA,OAAO,CAACmL,MAAR,CAAe,IAAf,EAAqBnL,OAArB;EACD,OAFD,MAEO;EACLA,QAAAA,OAAO,CAACoL,MAAR,CAAe,IAAf,EAAqBpL,OAArB;EACD;EACF,KAnBD,MAmBO;EACL,UAAI,KAAKqL,aAAL,GAAqBxd,SAArB,CAA+BE,QAA/B,CAAwCyL,iBAAxC,CAAJ,EAA8D;EAC5D,aAAK4R,MAAL,CAAY,IAAZ,EAAkB,IAAlB;;EACA;EACD;;EAED,WAAKD,MAAL,CAAY,IAAZ,EAAkB,IAAlB;EACD;EACF;;WAEDxd,UAAA,mBAAU;EACRqJ,IAAAA,YAAY,CAAC,KAAKuT,QAAN,CAAZ;EAEAvlB,IAAAA,IAAI,CAACI,UAAL,CAAgB,KAAK/E,OAArB,EAA8B,KAAK8e,WAAL,CAAiB1S,QAA/C;EAEAtE,IAAAA,YAAY,CAACC,GAAb,CAAiB,KAAK/H,OAAtB,EAA+B,KAAK8e,WAAL,CAAiBzS,SAAhD;EACAvE,IAAAA,YAAY,CAACC,GAAb,CAAiBkD,cAAc,CAACW,OAAf,CAAuB,KAAK5L,OAA5B,QAAyCwpB,gBAAzC,CAAjB,EAA+E,eAA/E,EAAgG,KAAKyB,iBAArG;;EAEA,QAAI,KAAKZ,GAAT,EAAc;EACZ,WAAKA,GAAL,CAASrnB,UAAT,CAAoB4K,WAApB,CAAgC,KAAKyc,GAArC;EACD;;EAED,SAAKJ,UAAL,GAAkB,IAAlB;EACA,SAAKC,QAAL,GAAgB,IAAhB;EACA,SAAKC,WAAL,GAAmB,IAAnB;EACA,SAAKC,cAAL,GAAsB,IAAtB;;EACA,QAAI,KAAKxM,OAAT,EAAkB;EAChB,WAAKA,OAAL,CAAac,OAAb;EACD;;EAED,SAAKd,OAAL,GAAe,IAAf;EACA,SAAK5d,OAAL,GAAe,IAAf;EACA,SAAKiC,MAAL,GAAc,IAAd;EACA,SAAKooB,GAAL,GAAW,IAAX;EACD;;WAED/P,OAAA,gBAAO;EAAA;;EACL,QAAI,KAAKta,OAAL,CAAa+C,KAAb,CAAmBI,OAAnB,KAA+B,MAAnC,EAA2C;EACzC,YAAM,IAAIP,KAAJ,CAAU,qCAAV,CAAN;EACD;;EAED,QAAI,KAAKsoB,aAAL,MAAwB,KAAKjB,UAAjC,EAA6C;EAC3C,UAAM5L,SAAS,GAAGvW,YAAY,CAACsC,OAAb,CAAqB,KAAKpK,OAA1B,EAAmC,KAAK8e,WAAL,CAAiB3d,KAAjB,CAAuB6nB,IAA1D,CAAlB;EACA,UAAMmC,UAAU,GAAG9nB,cAAc,CAAC,KAAKrD,OAAN,CAAjC;EACA,UAAMorB,UAAU,GAAGD,UAAU,KAAK,IAAf,GACjB,KAAKnrB,OAAL,CAAaqrB,aAAb,CAA2B/nB,eAA3B,CAA2CoK,QAA3C,CAAoD,KAAK1N,OAAzD,CADiB,GAEjBmrB,UAAU,CAACzd,QAAX,CAAoB,KAAK1N,OAAzB,CAFF;;EAIA,UAAIqe,SAAS,CAAC1Y,gBAAV,IAA8B,CAACylB,UAAnC,EAA+C;EAC7C;EACD;;EAED,UAAMf,GAAG,GAAG,KAAKW,aAAL,EAAZ;EACA,UAAMM,KAAK,GAAG7rB,MAAM,CAAC,KAAKqf,WAAL,CAAiB5S,IAAlB,CAApB;EAEAme,MAAAA,GAAG,CAAC7a,YAAJ,CAAiB,IAAjB,EAAuB8b,KAAvB;EACA,WAAKtrB,OAAL,CAAawP,YAAb,CAA0B,kBAA1B,EAA8C8b,KAA9C;EAEA,WAAKC,UAAL;;EAEA,UAAI,KAAKtpB,MAAL,CAAYgmB,SAAhB,EAA2B;EACzBoC,QAAAA,GAAG,CAAC7c,SAAJ,CAAckC,GAAd,CAAkBkR,iBAAlB;EACD;;EAED,UAAM3B,SAAS,GAAG,OAAO,KAAKhd,MAAL,CAAYgd,SAAnB,KAAiC,UAAjC,GAChB,KAAKhd,MAAL,CAAYgd,SAAZ,CAAsB3f,IAAtB,CAA2B,IAA3B,EAAiC+qB,GAAjC,EAAsC,KAAKrqB,OAA3C,CADgB,GAEhB,KAAKiC,MAAL,CAAYgd,SAFd;;EAIA,UAAMuM,UAAU,GAAG,KAAKC,cAAL,CAAoBxM,SAApB,CAAnB;;EACA,WAAKyM,mBAAL,CAAyBF,UAAzB;;EAEA,UAAM/Q,SAAS,GAAG,KAAKkR,aAAL,EAAlB;;EACAhnB,MAAAA,IAAI,CAACC,OAAL,CAAaylB,GAAb,EAAkB,KAAKvL,WAAL,CAAiB1S,QAAnC,EAA6C,IAA7C;;EAEA,UAAI,CAAC,KAAKpM,OAAL,CAAaqrB,aAAb,CAA2B/nB,eAA3B,CAA2CoK,QAA3C,CAAoD,KAAK2c,GAAzD,CAAL,EAAoE;EAClE5P,QAAAA,SAAS,CAAC6H,WAAV,CAAsB+H,GAAtB;EACD;;EAEDviB,MAAAA,YAAY,CAACsC,OAAb,CAAqB,KAAKpK,OAA1B,EAAmC,KAAK8e,WAAL,CAAiB3d,KAAjB,CAAuB+nB,QAA1D;EAEA,WAAKtL,OAAL,GAAe,IAAIU,MAAJ,CAAW,KAAKte,OAAhB,EAAyBqqB,GAAzB,EAA8B,KAAK7L,gBAAL,CAAsBgN,UAAtB,CAA9B,CAAf;EAEAnB,MAAAA,GAAG,CAAC7c,SAAJ,CAAckC,GAAd,CAAkByJ,iBAAlB,EAzC2C;EA4C3C;EACA;EACA;;EACA,UAAI,kBAAkBtZ,QAAQ,CAACyD,eAA/B,EAAgD;EAAA;;EAC9C,oBAAG4H,MAAH,aAAarL,QAAQ,CAACmE,IAAT,CAAcoH,QAA3B,EAAqC/I,OAArC,CAA6C,UAAArC,OAAO,EAAI;EACtD8H,UAAAA,YAAY,CAAC8B,EAAb,CAAgB5J,OAAhB,EAAyB,WAAzB,EAAsC2D,IAAI,EAA1C;EACD,SAFD;EAGD;;EAED,UAAMsX,QAAQ,GAAG,SAAXA,QAAW,GAAM;EACrB,YAAI,KAAI,CAAChZ,MAAL,CAAYgmB,SAAhB,EAA2B;EACzB,UAAA,KAAI,CAAC2D,cAAL;EACD;;EAED,YAAMC,cAAc,GAAG,KAAI,CAAC1B,WAA5B;EACA,QAAA,KAAI,CAACA,WAAL,GAAmB,IAAnB;EAEAriB,QAAAA,YAAY,CAACsC,OAAb,CAAqB,KAAI,CAACpK,OAA1B,EAAmC,KAAI,CAAC8e,WAAL,CAAiB3d,KAAjB,CAAuB8nB,KAA1D;;EAEA,YAAI4C,cAAc,KAAKnC,eAAvB,EAAwC;EACtC,UAAA,KAAI,CAACqB,MAAL,CAAY,IAAZ,EAAkB,KAAlB;EACD;EACF,OAbD;;EAeA,UAAI,KAAKV,GAAL,CAAS7c,SAAT,CAAmBE,QAAnB,CAA4BkT,iBAA5B,CAAJ,EAAkD;EAChD,YAAMjgB,kBAAkB,GAAGH,gCAAgC,CAAC,KAAK6pB,GAAN,CAA3D;EACAviB,QAAAA,YAAY,CAAC+B,GAAb,CAAiB,KAAKwgB,GAAtB,EAA2BprB,cAA3B,EAA2Cgc,QAA3C;EACA3Z,QAAAA,oBAAoB,CAAC,KAAK+oB,GAAN,EAAW1pB,kBAAX,CAApB;EACD,OAJD,MAIO;EACLsa,QAAAA,QAAQ;EACT;EACF;EACF;;WAEDZ,OAAA,gBAAO;EAAA;;EACL,QAAMgQ,GAAG,GAAG,KAAKW,aAAL,EAAZ;;EACA,QAAM/P,QAAQ,GAAG,SAAXA,QAAW,GAAM;EACrB,UAAI,MAAI,CAACkP,WAAL,KAAqBV,gBAArB,IAAyCY,GAAG,CAACrnB,UAAjD,EAA6D;EAC3DqnB,QAAAA,GAAG,CAACrnB,UAAJ,CAAe4K,WAAf,CAA2Byc,GAA3B;EACD;;EAED,MAAA,MAAI,CAACyB,cAAL;;EACA,MAAA,MAAI,CAAC9rB,OAAL,CAAamG,eAAb,CAA6B,kBAA7B;;EACA2B,MAAAA,YAAY,CAACsC,OAAb,CAAqB,MAAI,CAACpK,OAA1B,EAAmC,MAAI,CAAC8e,WAAL,CAAiB3d,KAAjB,CAAuB4nB,MAA1D;;EACA,MAAA,MAAI,CAACnL,OAAL,CAAac,OAAb;EACD,KATD;;EAWA,QAAMD,SAAS,GAAG3W,YAAY,CAACsC,OAAb,CAAqB,KAAKpK,OAA1B,EAAmC,KAAK8e,WAAL,CAAiB3d,KAAjB,CAAuB2nB,IAA1D,CAAlB;;EACA,QAAIrK,SAAS,CAAC9Y,gBAAd,EAAgC;EAC9B;EACD;;EAED0kB,IAAAA,GAAG,CAAC7c,SAAJ,CAAcC,MAAd,CAAqB0L,iBAArB,EAlBK;EAqBL;;EACA,QAAI,kBAAkBtZ,QAAQ,CAACyD,eAA/B,EAAgD;EAAA;;EAC9C,mBAAG4H,MAAH,cAAarL,QAAQ,CAACmE,IAAT,CAAcoH,QAA3B,EACG/I,OADH,CACW,UAAArC,OAAO;EAAA,eAAI8H,YAAY,CAACC,GAAb,CAAiB/H,OAAjB,EAA0B,WAA1B,EAAuC2D,IAAvC,CAAJ;EAAA,OADlB;EAED;;EAED,SAAKymB,cAAL,CAAoBN,aAApB,IAAqC,KAArC;EACA,SAAKM,cAAL,CAAoBP,aAApB,IAAqC,KAArC;EACA,SAAKO,cAAL,CAAoBR,aAApB,IAAqC,KAArC;;EAEA,QAAI,KAAKS,GAAL,CAAS7c,SAAT,CAAmBE,QAAnB,CAA4BkT,iBAA5B,CAAJ,EAAkD;EAChD,UAAMjgB,kBAAkB,GAAGH,gCAAgC,CAAC6pB,GAAD,CAA3D;EAEAviB,MAAAA,YAAY,CAAC+B,GAAb,CAAiBwgB,GAAjB,EAAsBprB,cAAtB,EAAsCgc,QAAtC;EACA3Z,MAAAA,oBAAoB,CAAC+oB,GAAD,EAAM1pB,kBAAN,CAApB;EACD,KALD,MAKO;EACLsa,MAAAA,QAAQ;EACT;;EAED,SAAKkP,WAAL,GAAmB,EAAnB;EACD;;WAEDxL,SAAA,kBAAS;EACP,QAAI,KAAKf,OAAL,KAAiB,IAArB,EAA2B;EACzB,WAAKA,OAAL,CAAagB,cAAb;EACD;EACF;;;WAIDsM,gBAAA,yBAAgB;EACd,WAAOllB,OAAO,CAAC,KAAK+lB,QAAL,EAAD,CAAd;EACD;;WAEDf,gBAAA,yBAAgB;EACd,QAAI,KAAKX,GAAT,EAAc;EACZ,aAAO,KAAKA,GAAZ;EACD;;EAED,QAAMrqB,OAAO,GAAGH,QAAQ,CAAC4F,aAAT,CAAuB,KAAvB,CAAhB;EACAzF,IAAAA,OAAO,CAAC6nB,SAAR,GAAoB,KAAK5lB,MAAL,CAAYimB,QAAhC;EAEA,SAAKmC,GAAL,GAAWrqB,OAAO,CAACoL,QAAR,CAAiB,CAAjB,CAAX;EACA,WAAO,KAAKif,GAAZ;EACD;;WAEDkB,aAAA,sBAAa;EACX,QAAMlB,GAAG,GAAG,KAAKW,aAAL,EAAZ;EACA,SAAKgB,iBAAL,CAAuB/gB,cAAc,CAAC7F,OAAf,CAAuBukB,sBAAvB,EAA+CU,GAA/C,CAAvB,EAA4E,KAAK0B,QAAL,EAA5E;EACA1B,IAAAA,GAAG,CAAC7c,SAAJ,CAAcC,MAAd,CAAqBmT,iBAArB;EACAyJ,IAAAA,GAAG,CAAC7c,SAAJ,CAAcC,MAAd,CAAqB0L,iBAArB;EACD;;WAED6S,oBAAA,2BAAkBhsB,OAAlB,EAA2BisB,OAA3B,EAAoC;EAClC,QAAIjsB,OAAO,KAAK,IAAhB,EAAsB;EACpB;EACD;;EAED,QAAI,OAAOisB,OAAP,KAAmB,QAAnB,IAA+B7qB,SAAS,CAAC6qB,OAAD,CAA5C,EAAuD;EACrD,UAAIA,OAAO,CAAC1Q,MAAZ,EAAoB;EAClB0Q,QAAAA,OAAO,GAAGA,OAAO,CAAC,CAAD,CAAjB;EACD,OAHoD;;;EAMrD,UAAI,KAAKhqB,MAAL,CAAYomB,IAAhB,EAAsB;EACpB,YAAI4D,OAAO,CAACjpB,UAAR,KAAuBhD,OAA3B,EAAoC;EAClCA,UAAAA,OAAO,CAAC6nB,SAAR,GAAoB,EAApB;EACA7nB,UAAAA,OAAO,CAACsiB,WAAR,CAAoB2J,OAApB;EACD;EACF,OALD,MAKO;EACLjsB,QAAAA,OAAO,CAACksB,SAAR,GAAoBD,OAAO,CAACE,WAA5B;EACD;;EAED;EACD;;EAED,QAAI,KAAKlqB,MAAL,CAAYomB,IAAhB,EAAsB;EACpB,UAAI,KAAKpmB,MAAL,CAAYsmB,QAAhB,EAA0B;EACxB0D,QAAAA,OAAO,GAAGlF,YAAY,CAACkF,OAAD,EAAU,KAAKhqB,MAAL,CAAYglB,SAAtB,EAAiC,KAAKhlB,MAAL,CAAYilB,UAA7C,CAAtB;EACD;;EAEDlnB,MAAAA,OAAO,CAAC6nB,SAAR,GAAoBoE,OAApB;EACD,KAND,MAMO;EACLjsB,MAAAA,OAAO,CAACksB,SAAR,GAAoBD,OAApB;EACD;EACF;;WAEDF,WAAA,oBAAW;EACT,QAAI5D,KAAK,GAAG,KAAKnoB,OAAL,CAAaE,YAAb,CAA0B,qBAA1B,CAAZ;;EAEA,QAAI,CAACioB,KAAL,EAAY;EACVA,MAAAA,KAAK,GAAG,OAAO,KAAKlmB,MAAL,CAAYkmB,KAAnB,KAA6B,UAA7B,GACN,KAAKlmB,MAAL,CAAYkmB,KAAZ,CAAkB7oB,IAAlB,CAAuB,KAAKU,OAA5B,CADM,GAEN,KAAKiC,MAAL,CAAYkmB,KAFd;EAGD;;EAED,WAAOA,KAAP;EACD;;;WAID3J,mBAAA,0BAAiBgN,UAAjB,EAA6B;EAAA;;EAC3B,QAAMY,eAAe,GAAG;EACtBnN,MAAAA,SAAS,EAAEuM,UADW;EAEtBpM,MAAAA,SAAS,EAAE;EACT7O,QAAAA,MAAM,EAAE,KAAK2O,UAAL,EADC;EAET3B,QAAAA,IAAI,EAAE;EACJ8O,UAAAA,QAAQ,EAAE,KAAKpqB,MAAL,CAAYqmB;EADlB,SAFG;EAKTgE,QAAAA,KAAK,EAAE;EACLtsB,UAAAA,OAAO,QAAM,KAAK8e,WAAL,CAAiB5S,IAAvB;EADF,SALE;EAQToT,QAAAA,eAAe,EAAE;EACfC,UAAAA,iBAAiB,EAAE,KAAKtd,MAAL,CAAYub;EADhB;EARR,OAFW;EActB+O,MAAAA,QAAQ,EAAE,kBAAAhoB,IAAI,EAAI;EAChB,YAAIA,IAAI,CAACioB,iBAAL,KAA2BjoB,IAAI,CAAC0a,SAApC,EAA+C;EAC7C,UAAA,MAAI,CAACwN,4BAAL,CAAkCloB,IAAlC;EACD;EACF,OAlBqB;EAmBtBmoB,MAAAA,QAAQ,EAAE,kBAAAnoB,IAAI;EAAA,eAAI,MAAI,CAACkoB,4BAAL,CAAkCloB,IAAlC,CAAJ;EAAA;EAnBQ,KAAxB;EAsBA,8BACK6nB,eADL,MAEK,KAAKnqB,MAAL,CAAYyb,YAFjB;EAID;;WAEDgO,sBAAA,6BAAoBF,UAApB,EAAgC;EAC9B,SAAKR,aAAL,GAAqBxd,SAArB,CAA+BkC,GAA/B,CAAsCoY,YAAtC,SAAsD0D,UAAtD;EACD;;WAEDtM,aAAA,sBAAa;EAAA;;EACX,QAAM3O,MAAM,GAAG,EAAf;;EAEA,QAAI,OAAO,KAAKtO,MAAL,CAAYsO,MAAnB,KAA8B,UAAlC,EAA8C;EAC5CA,MAAAA,MAAM,CAAC5I,EAAP,GAAY,UAAApD,IAAI,EAAI;EAClBA,QAAAA,IAAI,CAAC4a,OAAL,sBACK5a,IAAI,CAAC4a,OADV,MAEK,MAAI,CAACld,MAAL,CAAYsO,MAAZ,CAAmBhM,IAAI,CAAC4a,OAAxB,EAAiC,MAAI,CAACnf,OAAtC,KAAkD,EAFvD;EAKA,eAAOuE,IAAP;EACD,OAPD;EAQD,KATD,MASO;EACLgM,MAAAA,MAAM,CAACA,MAAP,GAAgB,KAAKtO,MAAL,CAAYsO,MAA5B;EACD;;EAED,WAAOA,MAAP;EACD;;WAEDob,gBAAA,yBAAgB;EACd,QAAI,KAAK1pB,MAAL,CAAYwY,SAAZ,KAA0B,KAA9B,EAAqC;EACnC,aAAO5a,QAAQ,CAACmE,IAAhB;EACD;;EAED,QAAI5C,SAAS,CAAC,KAAKa,MAAL,CAAYwY,SAAb,CAAb,EAAsC;EACpC,aAAO,KAAKxY,MAAL,CAAYwY,SAAnB;EACD;;EAED,WAAOxP,cAAc,CAAC7F,OAAf,CAAuB,KAAKnD,MAAL,CAAYwY,SAAnC,CAAP;EACD;;WAEDgR,iBAAA,wBAAexM,SAAf,EAA0B;EACxB,WAAOuJ,aAAa,CAACvJ,SAAS,CAACpc,WAAV,EAAD,CAApB;EACD;;WAEDynB,gBAAA,yBAAgB;EAAA;;EACd,QAAMqC,QAAQ,GAAG,KAAK1qB,MAAL,CAAYmI,OAAZ,CAAoBpJ,KAApB,CAA0B,GAA1B,CAAjB;EAEA2rB,IAAAA,QAAQ,CAACtqB,OAAT,CAAiB,UAAA+H,OAAO,EAAI;EAC1B,UAAIA,OAAO,KAAK,OAAhB,EAAyB;EACvBtC,QAAAA,YAAY,CAAC8B,EAAb,CAAgB,MAAI,CAAC5J,OAArB,EACE,MAAI,CAAC8e,WAAL,CAAiB3d,KAAjB,CAAuBgoB,KADzB,EAEE,MAAI,CAAClnB,MAAL,CAAYhC,QAFd,EAGE,UAAAmH,KAAK;EAAA,iBAAI,MAAI,CAAC6H,MAAL,CAAY7H,KAAZ,CAAJ;EAAA,SAHP;EAKD,OAND,MAMO,IAAIgD,OAAO,KAAK2f,cAAhB,EAAgC;EACrC,YAAM6C,OAAO,GAAGxiB,OAAO,KAAKwf,aAAZ,GACd,MAAI,CAAC9K,WAAL,CAAiB3d,KAAjB,CAAuBmoB,UADT,GAEd,MAAI,CAACxK,WAAL,CAAiB3d,KAAjB,CAAuBioB,OAFzB;EAGA,YAAMyD,QAAQ,GAAGziB,OAAO,KAAKwf,aAAZ,GACf,MAAI,CAAC9K,WAAL,CAAiB3d,KAAjB,CAAuBooB,UADR,GAEf,MAAI,CAACzK,WAAL,CAAiB3d,KAAjB,CAAuBkoB,QAFzB;EAIAvhB,QAAAA,YAAY,CAAC8B,EAAb,CAAgB,MAAI,CAAC5J,OAArB,EACE4sB,OADF,EAEE,MAAI,CAAC3qB,MAAL,CAAYhC,QAFd,EAGE,UAAAmH,KAAK;EAAA,iBAAI,MAAI,CAAC0jB,MAAL,CAAY1jB,KAAZ,CAAJ;EAAA,SAHP;EAKAU,QAAAA,YAAY,CAAC8B,EAAb,CAAgB,MAAI,CAAC5J,OAArB,EACE6sB,QADF,EAEE,MAAI,CAAC5qB,MAAL,CAAYhC,QAFd,EAGE,UAAAmH,KAAK;EAAA,iBAAI,MAAI,CAAC2jB,MAAL,CAAY3jB,KAAZ,CAAJ;EAAA,SAHP;EAKD;EACF,KA1BD;;EA4BA,SAAK6jB,iBAAL,GAAyB,YAAM;EAC7B,UAAI,MAAI,CAACjrB,OAAT,EAAkB;EAChB,QAAA,MAAI,CAACqa,IAAL;EACD;EACF,KAJD;;EAMAvS,IAAAA,YAAY,CAAC8B,EAAb,CAAgBqB,cAAc,CAACW,OAAf,CAAuB,KAAK5L,OAA5B,QAAyCwpB,gBAAzC,CAAhB,EACE,eADF,EAEE,KAAKyB,iBAFP;;EAKA,QAAI,KAAKhpB,MAAL,CAAYhC,QAAhB,EAA0B;EACxB,WAAKgC,MAAL,sBACK,KAAKA,MADV;EAEEmI,QAAAA,OAAO,EAAE,QAFX;EAGEnK,QAAAA,QAAQ,EAAE;EAHZ;EAKD,KAND,MAMO;EACL,WAAK6sB,SAAL;EACD;EACF;;WAEDA,YAAA,qBAAY;EACV,QAAMC,SAAS,GAAG,OAAO,KAAK/sB,OAAL,CAAaE,YAAb,CAA0B,qBAA1B,CAAzB;;EAEA,QAAI,KAAKF,OAAL,CAAaE,YAAb,CAA0B,OAA1B,KAAsC6sB,SAAS,KAAK,QAAxD,EAAkE;EAChE,WAAK/sB,OAAL,CAAawP,YAAb,CACE,qBADF,EAEE,KAAKxP,OAAL,CAAaE,YAAb,CAA0B,OAA1B,KAAsC,EAFxC;EAKA,WAAKF,OAAL,CAAawP,YAAb,CAA0B,OAA1B,EAAmC,EAAnC;EACD;EACF;;WAEDsb,SAAA,gBAAO1jB,KAAP,EAAcuY,OAAd,EAAuB;EACrB,QAAM+K,OAAO,GAAG,KAAK5L,WAAL,CAAiB1S,QAAjC;EACAuT,IAAAA,OAAO,GAAGA,OAAO,IAAIhb,IAAI,CAACG,OAAL,CAAasC,KAAK,CAACK,cAAnB,EAAmCijB,OAAnC,CAArB;;EAEA,QAAI,CAAC/K,OAAL,EAAc;EACZA,MAAAA,OAAO,GAAG,IAAI,KAAKb,WAAT,CACR1X,KAAK,CAACK,cADE,EAER,KAAKkjB,kBAAL,EAFQ,CAAV;EAIAhmB,MAAAA,IAAI,CAACC,OAAL,CAAawC,KAAK,CAACK,cAAnB,EAAmCijB,OAAnC,EAA4C/K,OAA5C;EACD;;EAED,QAAIvY,KAAJ,EAAW;EACTuY,MAAAA,OAAO,CAACyK,cAAR,CACEhjB,KAAK,CAACE,IAAN,KAAe,SAAf,GAA2BuiB,aAA3B,GAA2CD,aAD7C,IAEI,IAFJ;EAGD;;EAED,QAAIjK,OAAO,CAACqL,aAAR,GAAwBxd,SAAxB,CAAkCE,QAAlC,CAA2CyL,iBAA3C,KACAwG,OAAO,CAACwK,WAAR,KAAwBV,gBAD5B,EAC8C;EAC5C9J,MAAAA,OAAO,CAACwK,WAAR,GAAsBV,gBAAtB;EACA;EACD;;EAED9S,IAAAA,YAAY,CAACgJ,OAAO,CAACuK,QAAT,CAAZ;EAEAvK,IAAAA,OAAO,CAACwK,WAAR,GAAsBV,gBAAtB;;EAEA,QAAI,CAAC9J,OAAO,CAAC1d,MAAR,CAAemmB,KAAhB,IAAyB,CAACzI,OAAO,CAAC1d,MAAR,CAAemmB,KAAf,CAAqB9N,IAAnD,EAAyD;EACvDqF,MAAAA,OAAO,CAACrF,IAAR;EACA;EACD;;EAEDqF,IAAAA,OAAO,CAACuK,QAAR,GAAmBpoB,UAAU,CAAC,YAAM;EAClC,UAAI6d,OAAO,CAACwK,WAAR,KAAwBV,gBAA5B,EAA8C;EAC5C9J,QAAAA,OAAO,CAACrF,IAAR;EACD;EACF,KAJ4B,EAI1BqF,OAAO,CAAC1d,MAAR,CAAemmB,KAAf,CAAqB9N,IAJK,CAA7B;EAKD;;WAEDyQ,SAAA,gBAAO3jB,KAAP,EAAcuY,OAAd,EAAuB;EACrB,QAAM+K,OAAO,GAAG,KAAK5L,WAAL,CAAiB1S,QAAjC;EACAuT,IAAAA,OAAO,GAAGA,OAAO,IAAIhb,IAAI,CAACG,OAAL,CAAasC,KAAK,CAACK,cAAnB,EAAmCijB,OAAnC,CAArB;;EAEA,QAAI,CAAC/K,OAAL,EAAc;EACZA,MAAAA,OAAO,GAAG,IAAI,KAAKb,WAAT,CACR1X,KAAK,CAACK,cADE,EAER,KAAKkjB,kBAAL,EAFQ,CAAV;EAIAhmB,MAAAA,IAAI,CAACC,OAAL,CAAawC,KAAK,CAACK,cAAnB,EAAmCijB,OAAnC,EAA4C/K,OAA5C;EACD;;EAED,QAAIvY,KAAJ,EAAW;EACTuY,MAAAA,OAAO,CAACyK,cAAR,CACEhjB,KAAK,CAACE,IAAN,KAAe,UAAf,GAA4BuiB,aAA5B,GAA4CD,aAD9C,IAEI,KAFJ;EAGD;;EAED,QAAIjK,OAAO,CAACkL,oBAAR,EAAJ,EAAoC;EAClC;EACD;;EAEDlU,IAAAA,YAAY,CAACgJ,OAAO,CAACuK,QAAT,CAAZ;EAEAvK,IAAAA,OAAO,CAACwK,WAAR,GAAsBT,eAAtB;;EAEA,QAAI,CAAC/J,OAAO,CAAC1d,MAAR,CAAemmB,KAAhB,IAAyB,CAACzI,OAAO,CAAC1d,MAAR,CAAemmB,KAAf,CAAqB/N,IAAnD,EAAyD;EACvDsF,MAAAA,OAAO,CAACtF,IAAR;EACA;EACD;;EAEDsF,IAAAA,OAAO,CAACuK,QAAR,GAAmBpoB,UAAU,CAAC,YAAM;EAClC,UAAI6d,OAAO,CAACwK,WAAR,KAAwBT,eAA5B,EAA6C;EAC3C/J,QAAAA,OAAO,CAACtF,IAAR;EACD;EACF,KAJ4B,EAI1BsF,OAAO,CAAC1d,MAAR,CAAemmB,KAAf,CAAqB/N,IAJK,CAA7B;EAKD;;WAEDwQ,uBAAA,gCAAuB;EACrB,SAAK,IAAMzgB,OAAX,IAAsB,KAAKggB,cAA3B,EAA2C;EACzC,UAAI,KAAKA,cAAL,CAAoBhgB,OAApB,CAAJ,EAAkC;EAChC,eAAO,IAAP;EACD;EACF;;EAED,WAAO,KAAP;EACD;;WAEDsK,aAAA,oBAAWzS,MAAX,EAAmB;EACjB,QAAM+qB,cAAc,GAAGhd,WAAW,CAACG,iBAAZ,CAA8B,KAAKnQ,OAAnC,CAAvB;EAEAmC,IAAAA,MAAM,CAACC,IAAP,CAAY4qB,cAAZ,EACG3qB,OADH,CACW,UAAA4qB,QAAQ,EAAI;EACnB,UAAIjF,qBAAqB,CAAC7e,OAAtB,CAA8B8jB,QAA9B,MAA4C,CAAC,CAAjD,EAAoD;EAClD,eAAOD,cAAc,CAACC,QAAD,CAArB;EACD;EACF,KALH;;EAOA,QAAIhrB,MAAM,IAAI,OAAOA,MAAM,CAACwY,SAAd,KAA4B,QAAtC,IAAkDxY,MAAM,CAACwY,SAAP,CAAiBc,MAAvE,EAA+E;EAC7EtZ,MAAAA,MAAM,CAACwY,SAAP,GAAmBxY,MAAM,CAACwY,SAAP,CAAiB,CAAjB,CAAnB;EACD;;EAEDxY,IAAAA,MAAM,sBACD,KAAK6c,WAAL,CAAiBvN,OADhB,MAEDyb,cAFC,MAGD,OAAO/qB,MAAP,KAAkB,QAAlB,IAA8BA,MAA9B,GAAuCA,MAAvC,GAAgD,EAH/C,CAAN;;EAMA,QAAI,OAAOA,MAAM,CAACmmB,KAAd,KAAwB,QAA5B,EAAsC;EACpCnmB,MAAAA,MAAM,CAACmmB,KAAP,GAAe;EACb9N,QAAAA,IAAI,EAAErY,MAAM,CAACmmB,KADA;EAEb/N,QAAAA,IAAI,EAAEpY,MAAM,CAACmmB;EAFA,OAAf;EAID;;EAED,QAAI,OAAOnmB,MAAM,CAACkmB,KAAd,KAAwB,QAA5B,EAAsC;EACpClmB,MAAAA,MAAM,CAACkmB,KAAP,GAAelmB,MAAM,CAACkmB,KAAP,CAAa9oB,QAAb,EAAf;EACD;;EAED,QAAI,OAAO4C,MAAM,CAACgqB,OAAd,KAA0B,QAA9B,EAAwC;EACtChqB,MAAAA,MAAM,CAACgqB,OAAP,GAAiBhqB,MAAM,CAACgqB,OAAP,CAAe5sB,QAAf,EAAjB;EACD;;EAED0C,IAAAA,eAAe,CACbmK,MADa,EAEbjK,MAFa,EAGb,KAAK6c,WAAL,CAAiBhN,WAHJ,CAAf;;EAMA,QAAI7P,MAAM,CAACsmB,QAAX,EAAqB;EACnBtmB,MAAAA,MAAM,CAACimB,QAAP,GAAkBnB,YAAY,CAAC9kB,MAAM,CAACimB,QAAR,EAAkBjmB,MAAM,CAACglB,SAAzB,EAAoChlB,MAAM,CAACilB,UAA3C,CAA9B;EACD;;EAED,WAAOjlB,MAAP;EACD;;WAED0oB,qBAAA,8BAAqB;EACnB,QAAM1oB,MAAM,GAAG,EAAf;;EAEA,QAAI,KAAKA,MAAT,EAAiB;EACf,WAAK,IAAMqC,GAAX,IAAkB,KAAKrC,MAAvB,EAA+B;EAC7B,YAAI,KAAK6c,WAAL,CAAiBvN,OAAjB,CAAyBjN,GAAzB,MAAkC,KAAKrC,MAAL,CAAYqC,GAAZ,CAAtC,EAAwD;EACtDrC,UAAAA,MAAM,CAACqC,GAAD,CAAN,GAAc,KAAKrC,MAAL,CAAYqC,GAAZ,CAAd;EACD;EACF;EACF;;EAED,WAAOrC,MAAP;EACD;;WAED6pB,iBAAA,0BAAiB;EACf,QAAMzB,GAAG,GAAG,KAAKW,aAAL,EAAZ;EACA,QAAMkC,QAAQ,GAAG7C,GAAG,CAACnqB,YAAJ,CAAiB,OAAjB,EAA0BX,KAA1B,CAAgCwoB,kBAAhC,CAAjB;;EACA,QAAImF,QAAQ,KAAK,IAAb,IAAqBA,QAAQ,CAAC7kB,MAAT,GAAkB,CAA3C,EAA8C;EAC5C6kB,MAAAA,QAAQ,CAACC,GAAT,CAAa,UAAAC,KAAK;EAAA,eAAIA,KAAK,CAAChtB,IAAN,EAAJ;EAAA,OAAlB,EACGiC,OADH,CACW,UAAAgrB,MAAM;EAAA,eAAIhD,GAAG,CAAC7c,SAAJ,CAAcC,MAAd,CAAqB4f,MAArB,CAAJ;EAAA,OADjB;EAED;EACF;;WAEDZ,+BAAA,sCAA6Ba,UAA7B,EAAyC;EACvC,QAAMC,cAAc,GAAGD,UAAU,CAACzoB,QAAlC;EACA,SAAKwlB,GAAL,GAAWkD,cAAc,CAACC,MAA1B;;EACA,SAAK1B,cAAL;;EACA,SAAKJ,mBAAL,CAAyB,KAAKD,cAAL,CAAoB6B,UAAU,CAACrO,SAA/B,CAAzB;EACD;;WAED2M,iBAAA,0BAAiB;EACf,QAAMvB,GAAG,GAAG,KAAKW,aAAL,EAAZ;EACA,QAAMyC,mBAAmB,GAAG,KAAKxrB,MAAL,CAAYgmB,SAAxC;;EACA,QAAIoC,GAAG,CAACnqB,YAAJ,CAAiB,aAAjB,MAAoC,IAAxC,EAA8C;EAC5C;EACD;;EAEDmqB,IAAAA,GAAG,CAAC7c,SAAJ,CAAcC,MAAd,CAAqBmT,iBAArB;EACA,SAAK3e,MAAL,CAAYgmB,SAAZ,GAAwB,KAAxB;EACA,SAAK5N,IAAL;EACA,SAAKC,IAAL;EACA,SAAKrY,MAAL,CAAYgmB,SAAZ,GAAwBwF,mBAAxB;EACD;;;YAIM5f,kBAAP,yBAAuB5L,MAAvB,EAA+B;EAC7B,WAAO,KAAK6L,IAAL,CAAU,YAAY;EAC3B,UAAIvJ,IAAI,GAAGI,IAAI,CAACG,OAAL,CAAa,IAAb,EAAmBsH,UAAnB,CAAX;;EACA,UAAMqI,OAAO,GAAG,OAAOxS,MAAP,KAAkB,QAAlB,IAA8BA,MAA9C;;EAEA,UAAI,CAACsC,IAAD,IAAS,eAAe5B,IAAf,CAAoBV,MAApB,CAAb,EAA0C;EACxC;EACD;;EAED,UAAI,CAACsC,IAAL,EAAW;EACTA,QAAAA,IAAI,GAAG,IAAIylB,OAAJ,CAAY,IAAZ,EAAkBvV,OAAlB,CAAP;EACD;;EAED,UAAI,OAAOxS,MAAP,KAAkB,QAAtB,EAAgC;EAC9B,YAAI,OAAOsC,IAAI,CAACtC,MAAD,CAAX,KAAwB,WAA5B,EAAyC;EACvC,gBAAM,IAAIyW,SAAJ,wBAAkCzW,MAAlC,QAAN;EACD;;EAEDsC,QAAAA,IAAI,CAACtC,MAAD,CAAJ;EACD;EACF,KAnBM,CAAP;EAoBD;;YAEMgM,cAAP,qBAAmBjO,OAAnB,EAA4B;EAC1B,WAAO2E,IAAI,CAACG,OAAL,CAAa9E,OAAb,EAAsBoM,UAAtB,CAAP;EACD;;;;0BAxoBoB;EACnB,aAAOD,SAAP;EACD;;;0BAEoB;EACnB,aAAOoF,SAAP;EACD;;;0BAEiB;EAChB,aAAOrF,MAAP;EACD;;;0BAEqB;EACpB,aAAOE,UAAP;EACD;;;0BAEkB;EACjB,aAAOjL,OAAP;EACD;;;0BAEsB;EACrB,aAAOkL,WAAP;EACD;;;0BAEwB;EACvB,aAAOyF,aAAP;EACD;;;;;;EAinBH,IAAMzL,GAAC,GAAGvC,SAAS,EAAnB;EAEA;;;;;;;EAMA;;EACA,IAAIuC,GAAJ,EAAO;EACL,MAAM6H,oBAAkB,GAAG7H,GAAC,CAACsB,EAAF,CAAKuE,MAAL,CAA3B;EACA7F,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,IAAa8d,OAAO,CAACnc,eAArB;EACAxH,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,EAAWiC,WAAX,GAAyB6b,OAAzB;;EACA3jB,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,EAAWkC,UAAX,GAAwB,YAAM;EAC5B/H,IAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,IAAagC,oBAAb;EACA,WAAO8b,OAAO,CAACnc,eAAf;EACD,GAHD;EAID;;ECnyBD;;;;;;EAMA,IAAM3B,MAAI,GAAG,SAAb;EACA,IAAMC,SAAO,GAAG,OAAhB;EACA,IAAMC,UAAQ,GAAG,YAAjB;EACA,IAAMC,WAAS,SAAOD,UAAtB;EACA,IAAM0b,cAAY,GAAG,YAArB;EACA,IAAMC,oBAAkB,GAAG,IAAIrlB,MAAJ,aAAqBolB,cAArB,WAAyC,GAAzC,CAA3B;;EAEA,IAAMvW,SAAO,sBACRyY,OAAO,CAACzY,OADA;EAEX0N,EAAAA,SAAS,EAAE,OAFA;EAGX7U,EAAAA,OAAO,EAAE,OAHE;EAIX6hB,EAAAA,OAAO,EAAE,EAJE;EAKX/D,EAAAA,QAAQ,EAAE,yCACE,mCADF,GAEE,kCAFF,GAGE;EARD,EAAb;;EAWA,IAAMpW,aAAW,sBACZkY,OAAO,CAAClY,WADI;EAEfma,EAAAA,OAAO,EAAE;EAFM,EAAjB;;EAKA,IAAM9qB,OAAK,GAAG;EACZ2nB,EAAAA,IAAI,WAASzc,WADD;EAEZ0c,EAAAA,MAAM,aAAW1c,WAFL;EAGZ2c,EAAAA,IAAI,WAAS3c,WAHD;EAIZ4c,EAAAA,KAAK,YAAU5c,WAJH;EAKZ6c,EAAAA,QAAQ,eAAa7c,WALT;EAMZ8c,EAAAA,KAAK,YAAU9c,WANH;EAOZ+c,EAAAA,OAAO,cAAY/c,WAPP;EAQZgd,EAAAA,QAAQ,eAAahd,WART;EASZid,EAAAA,UAAU,iBAAejd,WATb;EAUZkd,EAAAA,UAAU,iBAAeld;EAVb,CAAd;EAaA,IAAMuU,iBAAe,GAAG,MAAxB;EACA,IAAMzH,iBAAe,GAAG,MAAxB;EAEA,IAAMuU,cAAc,GAAG,iBAAvB;EACA,IAAMC,gBAAgB,GAAG,eAAzB;EAEA;;;;;;MAMMC;;;;;;;;;EA+BJ;WAEA1C,gBAAA,yBAAgB;EACd,WAAO,KAAKa,QAAL,MAAmB,KAAK8B,WAAL,EAA1B;EACD;;WAEDtC,aAAA,sBAAa;EACX,QAAMlB,GAAG,GAAG,KAAKW,aAAL,EAAZ,CADW;;EAIX,SAAKgB,iBAAL,CAAuB/gB,cAAc,CAAC7F,OAAf,CAAuBsoB,cAAvB,EAAuCrD,GAAvC,CAAvB,EAAoE,KAAK0B,QAAL,EAApE;;EACA,QAAIE,OAAO,GAAG,KAAK4B,WAAL,EAAd;;EACA,QAAI,OAAO5B,OAAP,KAAmB,UAAvB,EAAmC;EACjCA,MAAAA,OAAO,GAAGA,OAAO,CAAC3sB,IAAR,CAAa,KAAKU,OAAlB,CAAV;EACD;;EAED,SAAKgsB,iBAAL,CAAuB/gB,cAAc,CAAC7F,OAAf,CAAuBuoB,gBAAvB,EAAyCtD,GAAzC,CAAvB,EAAsE4B,OAAtE;EAEA5B,IAAAA,GAAG,CAAC7c,SAAJ,CAAcC,MAAd,CAAqBmT,iBAArB;EACAyJ,IAAAA,GAAG,CAAC7c,SAAJ,CAAcC,MAAd,CAAqB0L,iBAArB;EACD;;WAEDuS,sBAAA,6BAAoBF,UAApB,EAAgC;EAC9B,SAAKR,aAAL,GAAqBxd,SAArB,CAA+BkC,GAA/B,CAAsCoY,cAAtC,SAAsD0D,UAAtD;EACD;;;WAIDqC,cAAA,uBAAc;EACZ,WAAO,KAAK7tB,OAAL,CAAaE,YAAb,CAA0B,cAA1B,KACL,KAAK+B,MAAL,CAAYgqB,OADd;EAED;;WAEDH,iBAAA,0BAAiB;EACf,QAAMzB,GAAG,GAAG,KAAKW,aAAL,EAAZ;EACA,QAAMkC,QAAQ,GAAG7C,GAAG,CAACnqB,YAAJ,CAAiB,OAAjB,EAA0BX,KAA1B,CAAgCwoB,oBAAhC,CAAjB;;EACA,QAAImF,QAAQ,KAAK,IAAb,IAAqBA,QAAQ,CAAC7kB,MAAT,GAAkB,CAA3C,EAA8C;EAC5C6kB,MAAAA,QAAQ,CAACC,GAAT,CAAa,UAAAC,KAAK;EAAA,eAAIA,KAAK,CAAChtB,IAAN,EAAJ;EAAA,OAAlB,EACGiC,OADH,CACW,UAAAgrB,MAAM;EAAA,eAAIhD,GAAG,CAAC7c,SAAJ,CAAcC,MAAd,CAAqB4f,MAArB,CAAJ;EAAA,OADjB;EAED;EACF;;;YAIMxf,kBAAP,yBAAuB5L,MAAvB,EAA+B;EAC7B,WAAO,KAAK6L,IAAL,CAAU,YAAY;EAC3B,UAAIvJ,IAAI,GAAGI,IAAI,CAACG,OAAL,CAAa,IAAb,EAAmBsH,UAAnB,CAAX;;EACA,UAAMqI,OAAO,GAAG,OAAOxS,MAAP,KAAkB,QAAlB,GAA6BA,MAA7B,GAAsC,IAAtD;;EAEA,UAAI,CAACsC,IAAD,IAAS,eAAe5B,IAAf,CAAoBV,MAApB,CAAb,EAA0C;EACxC;EACD;;EAED,UAAI,CAACsC,IAAL,EAAW;EACTA,QAAAA,IAAI,GAAG,IAAIqpB,OAAJ,CAAY,IAAZ,EAAkBnZ,OAAlB,CAAP;EACA9P,QAAAA,IAAI,CAACC,OAAL,CAAa,IAAb,EAAmBwH,UAAnB,EAA6B7H,IAA7B;EACD;;EAED,UAAI,OAAOtC,MAAP,KAAkB,QAAtB,EAAgC;EAC9B,YAAI,OAAOsC,IAAI,CAACtC,MAAD,CAAX,KAAwB,WAA5B,EAAyC;EACvC,gBAAM,IAAIyW,SAAJ,wBAAkCzW,MAAlC,QAAN;EACD;;EAEDsC,QAAAA,IAAI,CAACtC,MAAD,CAAJ;EACD;EACF,KApBM,CAAP;EAqBD;;YAEMgM,cAAP,qBAAmBjO,OAAnB,EAA4B;EAC1B,WAAO2E,IAAI,CAACG,OAAL,CAAa9E,OAAb,EAAsBoM,UAAtB,CAAP;EACD;;;;EApGD;0BAEqB;EACnB,aAAOD,SAAP;EACD;;;0BAEoB;EACnB,aAAOoF,SAAP;EACD;;;0BAEiB;EAChB,aAAOrF,MAAP;EACD;;;0BAEqB;EACpB,aAAOE,UAAP;EACD;;;0BAEkB;EACjB,aAAOjL,OAAP;EACD;;;0BAEsB;EACrB,aAAOkL,WAAP;EACD;;;0BAEwB;EACvB,aAAOyF,aAAP;EACD;;;;IA7BmBkY;;EAwGtB,IAAM3jB,GAAC,GAAGvC,SAAS,EAAnB;EAEA;;;;;;EAKA;;EACA,IAAIuC,GAAJ,EAAO;EACL,MAAM6H,oBAAkB,GAAG7H,GAAC,CAACsB,EAAF,CAAKuE,MAAL,CAA3B;EACA7F,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,IAAa0hB,OAAO,CAAC/f,eAArB;EACAxH,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,EAAWiC,WAAX,GAAyByf,OAAzB;;EACAvnB,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,EAAWkC,UAAX,GAAwB,YAAM;EAC5B/H,IAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,IAAagC,oBAAb;EACA,WAAO0f,OAAO,CAAC/f,eAAf;EACD,GAHD;EAID;;ECxKD;;;;;;EAMA,IAAM3B,MAAI,GAAG,WAAb;EACA,IAAMC,SAAO,GAAG,OAAhB;EACA,IAAMC,UAAQ,GAAG,cAAjB;EACA,IAAMC,WAAS,SAAOD,UAAtB;EACA,IAAME,cAAY,GAAG,WAArB;EAEA,IAAMiF,SAAO,GAAG;EACdhB,EAAAA,MAAM,EAAE,EADM;EAEdud,EAAAA,MAAM,EAAE,MAFM;EAGd3lB,EAAAA,MAAM,EAAE;EAHM,CAAhB;EAMA,IAAM2J,aAAW,GAAG;EAClBvB,EAAAA,MAAM,EAAE,QADU;EAElBud,EAAAA,MAAM,EAAE,QAFU;EAGlB3lB,EAAAA,MAAM,EAAE;EAHU,CAApB;EAMA,IAAM4lB,cAAc,gBAAc1hB,WAAlC;EACA,IAAM2hB,YAAY,cAAY3hB,WAA9B;EACA,IAAMyG,qBAAmB,YAAUzG,WAAV,GAAsBC,cAA/C;EAEA,IAAM2hB,wBAAwB,GAAG,eAAjC;EACA,IAAM5f,mBAAiB,GAAG,QAA1B;EAEA,IAAM6f,iBAAiB,GAAG,qBAA1B;EACA,IAAMC,uBAAuB,GAAG,mBAAhC;EACA,IAAMC,kBAAkB,GAAG,WAA3B;EACA,IAAMC,kBAAkB,GAAG,WAA3B;EACA,IAAMC,mBAAmB,GAAG,kBAA5B;EACA,IAAMC,iBAAiB,GAAG,WAA1B;EACA,IAAMC,wBAAwB,GAAG,kBAAjC;EAEA,IAAMC,aAAa,GAAG,QAAtB;EACA,IAAMC,eAAe,GAAG,UAAxB;EAEA;;;;;;MAMMC;EACJ,qBAAY3uB,OAAZ,EAAqBiC,MAArB,EAA6B;EAAA;;EAC3B,SAAK8K,QAAL,GAAgB/M,OAAhB;EACA,SAAK4uB,cAAL,GAAsB5uB,OAAO,CAAC6W,OAAR,KAAoB,MAApB,GAA6BpW,MAA7B,GAAsCT,OAA5D;EACA,SAAKyU,OAAL,GAAe,KAAKC,UAAL,CAAgBzS,MAAhB,CAAf;EACA,SAAKgY,SAAL,GAAoB,KAAKxF,OAAL,CAAatM,MAAhB,SAA0BimB,kBAA1B,UACQ,KAAK3Z,OAAL,CAAatM,MADrB,SAC+BmmB,mBAD/B,WAEQ,KAAK7Z,OAAL,CAAatM,MAFrB,UAEgC8lB,wBAFhC,CAAjB;EAGA,SAAKY,QAAL,GAAgB,EAAhB;EACA,SAAKC,QAAL,GAAgB,EAAhB;EACA,SAAKC,aAAL,GAAqB,IAArB;EACA,SAAKC,aAAL,GAAqB,CAArB;EAEAlnB,IAAAA,YAAY,CAAC8B,EAAb,CAAgB,KAAKglB,cAArB,EAAqCZ,YAArC,EAAmD,UAAA5mB,KAAK;EAAA,aAAI,KAAI,CAAC6nB,QAAL,CAAc7nB,KAAd,CAAJ;EAAA,KAAxD;EAEA,SAAK8nB,OAAL;;EACA,SAAKD,QAAL;;EAEAtqB,IAAAA,IAAI,CAACC,OAAL,CAAa5E,OAAb,EAAsBoM,UAAtB,EAAgC,IAAhC;EACD;;;;;EAYD;WAEA8iB,UAAA,mBAAU;EAAA;;EACR,QAAMC,UAAU,GAAG,KAAKP,cAAL,KAAwB,KAAKA,cAAL,CAAoBnuB,MAA5C,GACjBguB,aADiB,GAEjBC,eAFF;EAIA,QAAMU,YAAY,GAAG,KAAK3a,OAAL,CAAaqZ,MAAb,KAAwB,MAAxB,GACnBqB,UADmB,GAEnB,KAAK1a,OAAL,CAAaqZ,MAFf;EAIA,QAAMuB,UAAU,GAAGD,YAAY,KAAKV,eAAjB,GACjB,KAAKY,aAAL,EADiB,GAEjB,CAFF;EAIA,SAAKT,QAAL,GAAgB,EAAhB;EACA,SAAKC,QAAL,GAAgB,EAAhB;EAEA,SAAKE,aAAL,GAAqB,KAAKO,gBAAL,EAArB;EAEA,QAAMC,OAAO,GAAGvkB,cAAc,CAACjG,IAAf,CAAoB,KAAKiV,SAAzB,CAAhB;EAEAuV,IAAAA,OAAO,CACJrC,GADH,CACO,UAAAntB,OAAO,EAAI;EACd,UAAImI,MAAJ;EACA,UAAMsnB,cAAc,GAAGpvB,sBAAsB,CAACL,OAAD,CAA7C;;EAEA,UAAIyvB,cAAJ,EAAoB;EAClBtnB,QAAAA,MAAM,GAAG8C,cAAc,CAAC7F,OAAf,CAAuBqqB,cAAvB,CAAT;EACD;;EAED,UAAItnB,MAAJ,EAAY;EACV,YAAMunB,SAAS,GAAGvnB,MAAM,CAACsI,qBAAP,EAAlB;;EACA,YAAIif,SAAS,CAACtL,KAAV,IAAmBsL,SAAS,CAACC,MAAjC,EAAyC;EACvC,iBAAO,CACL3f,WAAW,CAACof,YAAD,CAAX,CAA0BjnB,MAA1B,EAAkCuI,GAAlC,GAAwC2e,UADnC,EAELI,cAFK,CAAP;EAID;EACF;;EAED,aAAO,IAAP;EACD,KApBH,EAqBGpkB,MArBH,CAqBU,UAAAukB,IAAI;EAAA,aAAIA,IAAJ;EAAA,KArBd,EAsBGC,IAtBH,CAsBQ,UAAC1K,CAAD,EAAIE,CAAJ;EAAA,aAAUF,CAAC,CAAC,CAAD,CAAD,GAAOE,CAAC,CAAC,CAAD,CAAlB;EAAA,KAtBR,EAuBGhjB,OAvBH,CAuBW,UAAAutB,IAAI,EAAI;EACf,MAAA,MAAI,CAACf,QAAL,CAAcljB,IAAd,CAAmBikB,IAAI,CAAC,CAAD,CAAvB;;EACA,MAAA,MAAI,CAACd,QAAL,CAAcnjB,IAAd,CAAmBikB,IAAI,CAAC,CAAD,CAAvB;EACD,KA1BH;EA2BD;;WAEDtiB,UAAA,mBAAU;EACR3I,IAAAA,IAAI,CAACI,UAAL,CAAgB,KAAKgI,QAArB,EAA+BX,UAA/B;EACAtE,IAAAA,YAAY,CAACC,GAAb,CAAiB,KAAK6mB,cAAtB,EAAsCviB,WAAtC;EAEA,SAAKU,QAAL,GAAgB,IAAhB;EACA,SAAK6hB,cAAL,GAAsB,IAAtB;EACA,SAAKna,OAAL,GAAe,IAAf;EACA,SAAKwF,SAAL,GAAiB,IAAjB;EACA,SAAK4U,QAAL,GAAgB,IAAhB;EACA,SAAKC,QAAL,GAAgB,IAAhB;EACA,SAAKC,aAAL,GAAqB,IAArB;EACA,SAAKC,aAAL,GAAqB,IAArB;EACD;;;WAIDta,aAAA,oBAAWzS,MAAX,EAAmB;EACjBA,IAAAA,MAAM,sBACDsP,SADC,MAED,OAAOtP,MAAP,KAAkB,QAAlB,IAA8BA,MAA9B,GAAuCA,MAAvC,GAAgD,EAF/C,CAAN;;EAKA,QAAI,OAAOA,MAAM,CAACkG,MAAd,KAAyB,QAA7B,EAAuC;EAAA,UAC/B/D,EAD+B,GACxBnC,MAAM,CAACkG,MADiB,CAC/B/D,EAD+B;;EAErC,UAAI,CAACA,EAAL,EAAS;EACPA,QAAAA,EAAE,GAAG3E,MAAM,CAACyM,MAAD,CAAX;EACAjK,QAAAA,MAAM,CAACkG,MAAP,CAAc/D,EAAd,GAAmBA,EAAnB;EACD;;EAEDnC,MAAAA,MAAM,CAACkG,MAAP,SAAoB/D,EAApB;EACD;;EAEDrC,IAAAA,eAAe,CAACmK,MAAD,EAAOjK,MAAP,EAAe6P,aAAf,CAAf;EAEA,WAAO7P,MAAP;EACD;;WAEDqtB,gBAAA,yBAAgB;EACd,WAAO,KAAKV,cAAL,KAAwBnuB,MAAxB,GACL,KAAKmuB,cAAL,CAAoBkB,WADf,GAEL,KAAKlB,cAAL,CAAoBje,SAFtB;EAGD;;WAED4e,mBAAA,4BAAmB;EACjB,WAAO,KAAKX,cAAL,CAAoBxL,YAApB,IAAoCzjB,IAAI,CAACowB,GAAL,CACzClwB,QAAQ,CAACmE,IAAT,CAAcof,YAD2B,EAEzCvjB,QAAQ,CAACyD,eAAT,CAAyB8f,YAFgB,CAA3C;EAID;;WAED4M,mBAAA,4BAAmB;EACjB,WAAO,KAAKpB,cAAL,KAAwBnuB,MAAxB,GACLA,MAAM,CAACwvB,WADF,GAEL,KAAKrB,cAAL,CAAoBne,qBAApB,GAA4Ckf,MAF9C;EAGD;;WAEDV,WAAA,oBAAW;EACT,QAAMte,SAAS,GAAG,KAAK2e,aAAL,KAAuB,KAAK7a,OAAL,CAAalE,MAAtD;;EACA,QAAM6S,YAAY,GAAG,KAAKmM,gBAAL,EAArB;;EACA,QAAMW,SAAS,GAAG,KAAKzb,OAAL,CAAalE,MAAb,GAChB6S,YADgB,GAEhB,KAAK4M,gBAAL,EAFF;;EAIA,QAAI,KAAKhB,aAAL,KAAuB5L,YAA3B,EAAyC;EACvC,WAAK8L,OAAL;EACD;;EAED,QAAIve,SAAS,IAAIuf,SAAjB,EAA4B;EAC1B,UAAM/nB,MAAM,GAAG,KAAK2mB,QAAL,CAAc,KAAKA,QAAL,CAAczmB,MAAd,GAAuB,CAArC,CAAf;;EAEA,UAAI,KAAK0mB,aAAL,KAAuB5mB,MAA3B,EAAmC;EACjC,aAAKgoB,SAAL,CAAehoB,MAAf;EACD;;EAED;EACD;;EAED,QAAI,KAAK4mB,aAAL,IAAsBpe,SAAS,GAAG,KAAKke,QAAL,CAAc,CAAd,CAAlC,IAAsD,KAAKA,QAAL,CAAc,CAAd,IAAmB,CAA7E,EAAgF;EAC9E,WAAKE,aAAL,GAAqB,IAArB;;EACA,WAAKqB,MAAL;;EACA;EACD;;EAED,QAAMC,YAAY,GAAG,KAAKxB,QAAL,CAAcxmB,MAAnC;;EACA,SAAK,IAAID,CAAC,GAAGioB,YAAb,EAA2BjoB,CAAC,EAA5B,GAAiC;EAC/B,UAAMkoB,cAAc,GAAG,KAAKvB,aAAL,KAAuB,KAAKD,QAAL,CAAc1mB,CAAd,CAAvB,IACnBuI,SAAS,IAAI,KAAKke,QAAL,CAAczmB,CAAd,CADM,KAElB,OAAO,KAAKymB,QAAL,CAAczmB,CAAC,GAAG,CAAlB,CAAP,KAAgC,WAAhC,IACGuI,SAAS,GAAG,KAAKke,QAAL,CAAczmB,CAAC,GAAG,CAAlB,CAHG,CAAvB;;EAKA,UAAIkoB,cAAJ,EAAoB;EAClB,aAAKH,SAAL,CAAe,KAAKrB,QAAL,CAAc1mB,CAAd,CAAf;EACD;EACF;EACF;;WAED+nB,YAAA,mBAAUhoB,MAAV,EAAkB;EAChB,SAAK4mB,aAAL,GAAqB5mB,MAArB;;EAEA,SAAKioB,MAAL;;EAEA,QAAMG,OAAO,GAAG,KAAKtW,SAAL,CAAejZ,KAAf,CAAqB,GAArB,EACbmsB,GADa,CACT,UAAAltB,QAAQ;EAAA,aAAOA,QAAP,uBAAgCkI,MAAhC,YAA4ClI,QAA5C,gBAA8DkI,MAA9D;EAAA,KADC,CAAhB;;EAGA,QAAMqoB,IAAI,GAAGvlB,cAAc,CAAC7F,OAAf,CAAuBmrB,OAAO,CAACE,IAAR,CAAa,GAAb,CAAvB,CAAb;;EAEA,QAAID,IAAI,CAAChjB,SAAL,CAAeE,QAAf,CAAwBugB,wBAAxB,CAAJ,EAAuD;EACrDhjB,MAAAA,cAAc,CACX7F,OADH,CACWopB,wBADX,EACqCvjB,cAAc,CAACW,OAAf,CAAuB4kB,IAAvB,EAA6BjC,iBAA7B,CADrC,EAEG/gB,SAFH,CAEakC,GAFb,CAEiBrB,mBAFjB;EAIAmiB,MAAAA,IAAI,CAAChjB,SAAL,CAAekC,GAAf,CAAmBrB,mBAAnB;EACD,KAND,MAMO;EACL;EACAmiB,MAAAA,IAAI,CAAChjB,SAAL,CAAekC,GAAf,CAAmBrB,mBAAnB;EAEApD,MAAAA,cAAc,CACXM,OADH,CACWilB,IADX,EACiBrC,uBADjB,EAEG9rB,OAFH,CAEW,UAAAquB,SAAS,EAAI;EACpB;EACA;EACAzlB,QAAAA,cAAc,CAACY,IAAf,CAAoB6kB,SAApB,EAAkCtC,kBAAlC,UAAyDE,mBAAzD,EACGjsB,OADH,CACW,UAAAutB,IAAI;EAAA,iBAAIA,IAAI,CAACpiB,SAAL,CAAekC,GAAf,CAAmBrB,mBAAnB,CAAJ;EAAA,SADf,EAHoB;;EAOpBpD,QAAAA,cAAc,CAACY,IAAf,CAAoB6kB,SAApB,EAA+BrC,kBAA/B,EACGhsB,OADH,CACW,UAAAsuB,OAAO,EAAI;EAClB1lB,UAAAA,cAAc,CAACG,QAAf,CAAwBulB,OAAxB,EAAiCvC,kBAAjC,EACG/rB,OADH,CACW,UAAAutB,IAAI;EAAA,mBAAIA,IAAI,CAACpiB,SAAL,CAAekC,GAAf,CAAmBrB,mBAAnB,CAAJ;EAAA,WADf;EAED,SAJH;EAKD,OAdH;EAeD;;EAEDvG,IAAAA,YAAY,CAACsC,OAAb,CAAqB,KAAKwkB,cAA1B,EAA0Cb,cAA1C,EAA0D;EACxDzW,MAAAA,aAAa,EAAEnP;EADyC,KAA1D;EAGD;;WAEDioB,SAAA,kBAAS;EACPnlB,IAAAA,cAAc,CAACjG,IAAf,CAAoB,KAAKiV,SAAzB,EACG5O,MADH,CACU,UAAAulB,IAAI;EAAA,aAAIA,IAAI,CAACpjB,SAAL,CAAeE,QAAf,CAAwBW,mBAAxB,CAAJ;EAAA,KADd,EAEGhM,OAFH,CAEW,UAAAuuB,IAAI;EAAA,aAAIA,IAAI,CAACpjB,SAAL,CAAeC,MAAf,CAAsBY,mBAAtB,CAAJ;EAAA,KAFf;EAGD;;;cAIMR,kBAAP,yBAAuB5L,MAAvB,EAA+B;EAC7B,WAAO,KAAK6L,IAAL,CAAU,YAAY;EAC3B,UAAIvJ,IAAI,GAAGI,IAAI,CAACG,OAAL,CAAa,IAAb,EAAmBsH,UAAnB,CAAX;;EACA,UAAMqI,OAAO,GAAG,OAAOxS,MAAP,KAAkB,QAAlB,IAA8BA,MAA9C;;EAEA,UAAI,CAACsC,IAAL,EAAW;EACTA,QAAAA,IAAI,GAAG,IAAIoqB,SAAJ,CAAc,IAAd,EAAoBla,OAApB,CAAP;EACD;;EAED,UAAI,OAAOxS,MAAP,KAAkB,QAAtB,EAAgC;EAC9B,YAAI,OAAOsC,IAAI,CAACtC,MAAD,CAAX,KAAwB,WAA5B,EAAyC;EACvC,gBAAM,IAAIyW,SAAJ,wBAAkCzW,MAAlC,QAAN;EACD;;EAEDsC,QAAAA,IAAI,CAACtC,MAAD,CAAJ;EACD;EACF,KAfM,CAAP;EAgBD;;cAEMgM,cAAP,qBAAmBjO,OAAnB,EAA4B;EAC1B,WAAO2E,IAAI,CAACG,OAAL,CAAa9E,OAAb,EAAsBoM,UAAtB,CAAP;EACD;;;;0BAlOoB;EACnB,aAAOD,SAAP;EACD;;;0BAEoB;EACnB,aAAOoF,SAAP;EACD;;;;;EA+NH;;;;;;;EAMAzJ,YAAY,CAAC8B,EAAb,CAAgBnJ,MAAhB,EAAwBqS,qBAAxB,EAA6C,YAAM;EACjD7H,EAAAA,cAAc,CAACjG,IAAf,CAAoBkpB,iBAApB,EACG7rB,OADH,CACW,UAAAwuB,GAAG;EAAA,WAAI,IAAIlC,SAAJ,CAAckC,GAAd,EAAmB7gB,WAAW,CAACG,iBAAZ,CAA8B0gB,GAA9B,CAAnB,CAAJ;EAAA,GADd;EAED,CAHD;EAKA,IAAMxqB,GAAC,GAAGvC,SAAS,EAAnB;EAEA;;;;;;EAKA;;EACA,IAAIuC,GAAJ,EAAO;EACL,MAAM6H,oBAAkB,GAAG7H,GAAC,CAACsB,EAAF,CAAKuE,MAAL,CAA3B;EACA7F,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,IAAayiB,SAAS,CAAC9gB,eAAvB;EACAxH,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,EAAWiC,WAAX,GAAyBwgB,SAAzB;;EACAtoB,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,EAAWkC,UAAX,GAAwB,YAAM;EAC5B/H,IAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,IAAagC,oBAAb;EACA,WAAOygB,SAAS,CAAC9gB,eAAjB;EACD,GAHD;EAID;;ECtUD;;;;;;EAMA,IAAM3B,MAAI,GAAG,KAAb;EACA,IAAMC,SAAO,GAAG,OAAhB;EACA,IAAMC,UAAQ,GAAG,QAAjB;EACA,IAAMC,WAAS,SAAOD,UAAtB;EACA,IAAME,cAAY,GAAG,WAArB;EAEA,IAAM2M,YAAU,YAAU5M,WAA1B;EACA,IAAM6M,cAAY,cAAY7M,WAA9B;EACA,IAAM0M,YAAU,YAAU1M,WAA1B;EACA,IAAM2M,aAAW,aAAW3M,WAA5B;EACA,IAAMK,sBAAoB,aAAWL,WAAX,GAAuBC,cAAjD;EAEA,IAAMwkB,wBAAwB,GAAG,eAAjC;EACA,IAAMziB,mBAAiB,GAAG,QAA1B;EACA,IAAME,qBAAmB,GAAG,UAA5B;EACA,IAAMqS,iBAAe,GAAG,MAAxB;EACA,IAAMzH,iBAAe,GAAG,MAAxB;EAEA,IAAMoV,mBAAiB,GAAG,WAA1B;EACA,IAAMJ,yBAAuB,GAAG,mBAAhC;EACA,IAAMvf,iBAAe,GAAG,SAAxB;EACA,IAAMmiB,kBAAkB,GAAG,uBAA3B;EACA,IAAMriB,sBAAoB,GAAG,iEAA7B;EACA,IAAM8f,0BAAwB,GAAG,kBAAjC;EACA,IAAMwC,8BAA8B,GAAG,iCAAvC;EAEA;;;;;;MAMMC;EACJ,eAAYjxB,OAAZ,EAAqB;EACnB,SAAK+M,QAAL,GAAgB/M,OAAhB;EAEA2E,IAAAA,IAAI,CAACC,OAAL,CAAa,KAAKmI,QAAlB,EAA4BX,UAA5B,EAAsC,IAAtC;EACD;;;;;EAQD;WAEAkO,OAAA,gBAAO;EAAA;;EACL,QAAK,KAAKvN,QAAL,CAAc/J,UAAd,IACH,KAAK+J,QAAL,CAAc/J,UAAd,CAAyB3B,QAAzB,KAAsCoK,IAAI,CAACC,YADxC,IAEH,KAAKqB,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCW,mBAAjC,CAFE,IAGF,KAAKtB,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCa,qBAAjC,CAHF,EAGyD;EACvD;EACD;;EAED,QAAIzC,QAAJ;EACA,QAAM3D,MAAM,GAAG5H,sBAAsB,CAAC,KAAKwM,QAAN,CAArC;EACA,QAAMmkB,WAAW,GAAGjmB,cAAc,CAACW,OAAf,CAAuB,KAAKmB,QAA5B,EAAsCohB,yBAAtC,CAApB;;EAEA,QAAI+C,WAAJ,EAAiB;EACf,UAAMC,YAAY,GAAGD,WAAW,CAACpM,QAAZ,KAAyB,IAAzB,IAAiCoM,WAAW,CAACpM,QAAZ,KAAyB,IAA1D,GAAiEiM,kBAAjE,GAAsFniB,iBAA3G;EACA9C,MAAAA,QAAQ,GAAGb,cAAc,CAACjG,IAAf,CAAoBmsB,YAApB,EAAkCD,WAAlC,CAAX;EACAplB,MAAAA,QAAQ,GAAGA,QAAQ,CAACA,QAAQ,CAACzD,MAAT,GAAkB,CAAnB,CAAnB;EACD;;EAED,QAAIoW,SAAS,GAAG,IAAhB;;EAEA,QAAI3S,QAAJ,EAAc;EACZ2S,MAAAA,SAAS,GAAG3W,YAAY,CAACsC,OAAb,CAAqB0B,QAArB,EAA+BmN,YAA/B,EAA2C;EACrD3B,QAAAA,aAAa,EAAE,KAAKvK;EADiC,OAA3C,CAAZ;EAGD;;EAED,QAAMsR,SAAS,GAAGvW,YAAY,CAACsC,OAAb,CAAqB,KAAK2C,QAA1B,EAAoCgM,YAApC,EAAgD;EAChEzB,MAAAA,aAAa,EAAExL;EADiD,KAAhD,CAAlB;;EAIA,QAAIuS,SAAS,CAAC1Y,gBAAV,IACD8Y,SAAS,KAAK,IAAd,IAAsBA,SAAS,CAAC9Y,gBADnC,EACsD;EACpD;EACD;;EAED,SAAKwqB,SAAL,CACE,KAAKpjB,QADP,EAEEmkB,WAFF;;EAKA,QAAMjW,QAAQ,GAAG,SAAXA,QAAW,GAAM;EACrBnT,MAAAA,YAAY,CAACsC,OAAb,CAAqB0B,QAArB,EAA+BoN,cAA/B,EAA6C;EAC3C5B,QAAAA,aAAa,EAAE,KAAI,CAACvK;EADuB,OAA7C;EAGAjF,MAAAA,YAAY,CAACsC,OAAb,CAAqB,KAAI,CAAC2C,QAA1B,EAAoCiM,aAApC,EAAiD;EAC/C1B,QAAAA,aAAa,EAAExL;EADgC,OAAjD;EAGD,KAPD;;EASA,QAAI3D,MAAJ,EAAY;EACV,WAAKgoB,SAAL,CAAehoB,MAAf,EAAuBA,MAAM,CAACnF,UAA9B,EAA0CiY,QAA1C;EACD,KAFD,MAEO;EACLA,MAAAA,QAAQ;EACT;EACF;;WAED3N,UAAA,mBAAU;EACR3I,IAAAA,IAAI,CAACI,UAAL,CAAgB,KAAKgI,QAArB,EAA+BX,UAA/B;EACA,SAAKW,QAAL,GAAgB,IAAhB;EACD;;;WAIDojB,YAAA,mBAAUnwB,OAAV,EAAmBya,SAAnB,EAA8BoI,QAA9B,EAAwC;EAAA;;EACtC,QAAMuO,cAAc,GAAG3W,SAAS,KAAKA,SAAS,CAACqK,QAAV,KAAuB,IAAvB,IAA+BrK,SAAS,CAACqK,QAAV,KAAuB,IAA3D,CAAT,GACrB7Z,cAAc,CAACjG,IAAf,CAAoB+rB,kBAApB,EAAwCtW,SAAxC,CADqB,GAErBxP,cAAc,CAACG,QAAf,CAAwBqP,SAAxB,EAAmC7L,iBAAnC,CAFF;EAIA,QAAMyiB,MAAM,GAAGD,cAAc,CAAC,CAAD,CAA7B;EACA,QAAM/V,eAAe,GAAGwH,QAAQ,IAC7BwO,MAAM,IAAIA,MAAM,CAAC7jB,SAAP,CAAiBE,QAAjB,CAA0BkT,iBAA1B,CADb;;EAGA,QAAM3F,QAAQ,GAAG,SAAXA,QAAW;EAAA,aAAM,MAAI,CAACqW,mBAAL,CACrBtxB,OADqB,EAErBqxB,MAFqB,EAGrBxO,QAHqB,CAAN;EAAA,KAAjB;;EAMA,QAAIwO,MAAM,IAAIhW,eAAd,EAA+B;EAC7B,UAAM1a,kBAAkB,GAAGH,gCAAgC,CAAC6wB,MAAD,CAA3D;EACAA,MAAAA,MAAM,CAAC7jB,SAAP,CAAiBC,MAAjB,CAAwB0L,iBAAxB;EAEArR,MAAAA,YAAY,CAAC+B,GAAb,CAAiBwnB,MAAjB,EAAyBpyB,cAAzB,EAAyCgc,QAAzC;EACA3Z,MAAAA,oBAAoB,CAAC+vB,MAAD,EAAS1wB,kBAAT,CAApB;EACD,KAND,MAMO;EACLsa,MAAAA,QAAQ;EACT;EACF;;WAEDqW,sBAAA,6BAAoBtxB,OAApB,EAA6BqxB,MAA7B,EAAqCxO,QAArC,EAA+C;EAC7C,QAAIwO,MAAJ,EAAY;EACVA,MAAAA,MAAM,CAAC7jB,SAAP,CAAiBC,MAAjB,CAAwBY,mBAAxB;EAEA,UAAMkjB,aAAa,GAAGtmB,cAAc,CAAC7F,OAAf,CAAuB4rB,8BAAvB,EAAuDK,MAAM,CAACruB,UAA9D,CAAtB;;EAEA,UAAIuuB,aAAJ,EAAmB;EACjBA,QAAAA,aAAa,CAAC/jB,SAAd,CAAwBC,MAAxB,CAA+BY,mBAA/B;EACD;;EAED,UAAIgjB,MAAM,CAACnxB,YAAP,CAAoB,MAApB,MAAgC,KAApC,EAA2C;EACzCmxB,QAAAA,MAAM,CAAC7hB,YAAP,CAAoB,eAApB,EAAqC,KAArC;EACD;EACF;;EAEDxP,IAAAA,OAAO,CAACwN,SAAR,CAAkBkC,GAAlB,CAAsBrB,mBAAtB;;EACA,QAAIrO,OAAO,CAACE,YAAR,CAAqB,MAArB,MAAiC,KAArC,EAA4C;EAC1CF,MAAAA,OAAO,CAACwP,YAAR,CAAqB,eAArB,EAAsC,IAAtC;EACD;;EAED5L,IAAAA,MAAM,CAAC5D,OAAD,CAAN;;EAEA,QAAIA,OAAO,CAACwN,SAAR,CAAkBE,QAAlB,CAA2BkT,iBAA3B,CAAJ,EAAiD;EAC/C5gB,MAAAA,OAAO,CAACwN,SAAR,CAAkBkC,GAAlB,CAAsByJ,iBAAtB;EACD;;EAED,QAAInZ,OAAO,CAACgD,UAAR,IAAsBhD,OAAO,CAACgD,UAAR,CAAmBwK,SAAnB,CAA6BE,QAA7B,CAAsCojB,wBAAtC,CAA1B,EAA2F;EACzF,UAAMU,eAAe,GAAGvmB,cAAc,CAACW,OAAf,CAAuB5L,OAAvB,EAAgCuuB,mBAAhC,CAAxB;;EAEA,UAAIiD,eAAJ,EAAqB;EACnBvmB,QAAAA,cAAc,CAACjG,IAAf,CAAoBwpB,0BAApB,EACGnsB,OADH,CACW,UAAAovB,QAAQ;EAAA,iBAAIA,QAAQ,CAACjkB,SAAT,CAAmBkC,GAAnB,CAAuBrB,mBAAvB,CAAJ;EAAA,SADnB;EAED;;EAEDrO,MAAAA,OAAO,CAACwP,YAAR,CAAqB,eAArB,EAAsC,IAAtC;EACD;;EAED,QAAIqT,QAAJ,EAAc;EACZA,MAAAA,QAAQ;EACT;EACF;;;QAIMhV,kBAAP,yBAAuB5L,MAAvB,EAA+B;EAC7B,WAAO,KAAK6L,IAAL,CAAU,YAAY;EAC3B,UAAMvJ,IAAI,GAAGI,IAAI,CAACG,OAAL,CAAa,IAAb,EAAmBsH,UAAnB,KAAgC,IAAI6kB,GAAJ,CAAQ,IAAR,CAA7C;;EAEA,UAAI,OAAOhvB,MAAP,KAAkB,QAAtB,EAAgC;EAC9B,YAAI,OAAOsC,IAAI,CAACtC,MAAD,CAAX,KAAwB,WAA5B,EAAyC;EACvC,gBAAM,IAAIyW,SAAJ,wBAAkCzW,MAAlC,QAAN;EACD;;EAEDsC,QAAAA,IAAI,CAACtC,MAAD,CAAJ;EACD;EACF,KAVM,CAAP;EAWD;;QAEMgM,cAAP,qBAAmBjO,OAAnB,EAA4B;EAC1B,WAAO2E,IAAI,CAACG,OAAL,CAAa9E,OAAb,EAAsBoM,UAAtB,CAAP;EACD;;;;0BA3JoB;EACnB,aAAOD,SAAP;EACD;;;;;EA4JH;;;;;;;EAMArE,YAAY,CAAC8B,EAAb,CAAgB/J,QAAhB,EAA0B6M,sBAA1B,EAAgDgC,sBAAhD,EAAsE,UAAUtH,KAAV,EAAiB;EACrFA,EAAAA,KAAK,CAAC1B,cAAN;EAEA,MAAMnB,IAAI,GAAGI,IAAI,CAACG,OAAL,CAAa,IAAb,EAAmBsH,UAAnB,KAAgC,IAAI6kB,GAAJ,CAAQ,IAAR,CAA7C;EACA1sB,EAAAA,IAAI,CAAC+V,IAAL;EACD,CALD;EAOA,IAAMjU,GAAC,GAAGvC,SAAS,EAAnB;EAEA;;;;;;;EAMA;;EACA,IAAIuC,GAAJ,EAAO;EACL,MAAM6H,oBAAkB,GAAG7H,GAAC,CAACsB,EAAF,CAAKuE,MAAL,CAA3B;EACA7F,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,IAAa+kB,GAAG,CAACpjB,eAAjB;EACAxH,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,EAAWiC,WAAX,GAAyB8iB,GAAzB;;EACA5qB,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,EAAWkC,UAAX,GAAwB,YAAM;EAC5B/H,IAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,IAAagC,oBAAb;EACA,WAAO+iB,GAAG,CAACpjB,eAAX;EACD,GAHD;EAID;;EC3OD;;;;;;EAMA,IAAM3B,MAAI,GAAG,OAAb;EACA,IAAMC,SAAO,GAAG,OAAhB;EACA,IAAMC,UAAQ,GAAG,UAAjB;EACA,IAAMC,WAAS,SAAOD,UAAtB;EAEA,IAAMgU,qBAAmB,qBAAmB/T,WAA5C;EACA,IAAM4M,YAAU,YAAU5M,WAA1B;EACA,IAAM6M,cAAY,cAAY7M,WAA9B;EACA,IAAM0M,YAAU,YAAU1M,WAA1B;EACA,IAAM2M,aAAW,aAAW3M,WAA5B;EAEA,IAAMuU,iBAAe,GAAG,MAAxB;EACA,IAAM8Q,eAAe,GAAG,MAAxB;EACA,IAAMvY,iBAAe,GAAG,MAAxB;EACA,IAAMwY,kBAAkB,GAAG,SAA3B;EAEA,IAAM7f,aAAW,GAAG;EAClBmW,EAAAA,SAAS,EAAE,SADO;EAElB2J,EAAAA,QAAQ,EAAE,SAFQ;EAGlBxJ,EAAAA,KAAK,EAAE;EAHW,CAApB;EAMA,IAAM7W,SAAO,GAAG;EACd0W,EAAAA,SAAS,EAAE,IADG;EAEd2J,EAAAA,QAAQ,EAAE,IAFI;EAGdxJ,EAAAA,KAAK,EAAE;EAHO,CAAhB;EAMA,IAAMpH,uBAAqB,GAAG,wBAA9B;EAEA;;;;;;MAMM6Q;EACJ,iBAAY7xB,OAAZ,EAAqBiC,MAArB,EAA6B;EAC3B,SAAK8K,QAAL,GAAgB/M,OAAhB;EACA,SAAKyU,OAAL,GAAe,KAAKC,UAAL,CAAgBzS,MAAhB,CAAf;EACA,SAAKioB,QAAL,GAAgB,IAAhB;;EACA,SAAKI,aAAL;;EACA3lB,IAAAA,IAAI,CAACC,OAAL,CAAa5E,OAAb,EAAsBoM,UAAtB,EAAgC,IAAhC;EACD;;;;;EAgBD;WAEAkO,OAAA,gBAAO;EAAA;;EACL,QAAM+D,SAAS,GAAGvW,YAAY,CAACsC,OAAb,CAAqB,KAAK2C,QAA1B,EAAoCgM,YAApC,CAAlB;;EAEA,QAAIsF,SAAS,CAAC1Y,gBAAd,EAAgC;EAC9B;EACD;;EAED,QAAI,KAAK8O,OAAL,CAAawT,SAAjB,EAA4B;EAC1B,WAAKlb,QAAL,CAAcS,SAAd,CAAwBkC,GAAxB,CAA4BkR,iBAA5B;EACD;;EAED,QAAM3F,QAAQ,GAAG,SAAXA,QAAW,GAAM;EACrB,MAAA,KAAI,CAAClO,QAAL,CAAcS,SAAd,CAAwBC,MAAxB,CAA+BkkB,kBAA/B;;EACA,MAAA,KAAI,CAAC5kB,QAAL,CAAcS,SAAd,CAAwBkC,GAAxB,CAA4ByJ,iBAA5B;;EAEArR,MAAAA,YAAY,CAACsC,OAAb,CAAqB,KAAI,CAAC2C,QAA1B,EAAoCiM,aAApC;;EAEA,UAAI,KAAI,CAACvE,OAAL,CAAamd,QAAjB,EAA2B;EACzB,QAAA,KAAI,CAAC1H,QAAL,GAAgBpoB,UAAU,CAAC,YAAM;EAC/B,UAAA,KAAI,CAACuY,IAAL;EACD,SAFyB,EAEvB,KAAI,CAAC5F,OAAL,CAAa2T,KAFU,CAA1B;EAGD;EACF,KAXD;;EAaA,SAAKrb,QAAL,CAAcS,SAAd,CAAwBC,MAAxB,CAA+BikB,eAA/B;;EACA9tB,IAAAA,MAAM,CAAC,KAAKmJ,QAAN,CAAN;;EACA,SAAKA,QAAL,CAAcS,SAAd,CAAwBkC,GAAxB,CAA4BiiB,kBAA5B;;EACA,QAAI,KAAKld,OAAL,CAAawT,SAAjB,EAA4B;EAC1B,UAAMtnB,kBAAkB,GAAGH,gCAAgC,CAAC,KAAKuM,QAAN,CAA3D;EAEAjF,MAAAA,YAAY,CAAC+B,GAAb,CAAiB,KAAKkD,QAAtB,EAAgC9N,cAAhC,EAAgDgc,QAAhD;EACA3Z,MAAAA,oBAAoB,CAAC,KAAKyL,QAAN,EAAgBpM,kBAAhB,CAApB;EACD,KALD,MAKO;EACLsa,MAAAA,QAAQ;EACT;EACF;;WAEDZ,OAAA,gBAAO;EAAA;;EACL,QAAI,CAAC,KAAKtN,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCyL,iBAAjC,CAAL,EAAwD;EACtD;EACD;;EAED,QAAMsF,SAAS,GAAG3W,YAAY,CAACsC,OAAb,CAAqB,KAAK2C,QAA1B,EAAoCkM,YAApC,CAAlB;;EAEA,QAAIwF,SAAS,CAAC9Y,gBAAd,EAAgC;EAC9B;EACD;;EAED,QAAMsV,QAAQ,GAAG,SAAXA,QAAW,GAAM;EACrB,MAAA,MAAI,CAAClO,QAAL,CAAcS,SAAd,CAAwBkC,GAAxB,CAA4BgiB,eAA5B;;EACA5pB,MAAAA,YAAY,CAACsC,OAAb,CAAqB,MAAI,CAAC2C,QAA1B,EAAoCmM,cAApC;EACD,KAHD;;EAKA,SAAKnM,QAAL,CAAcS,SAAd,CAAwBC,MAAxB,CAA+B0L,iBAA/B;;EACA,QAAI,KAAK1E,OAAL,CAAawT,SAAjB,EAA4B;EAC1B,UAAMtnB,kBAAkB,GAAGH,gCAAgC,CAAC,KAAKuM,QAAN,CAA3D;EAEAjF,MAAAA,YAAY,CAAC+B,GAAb,CAAiB,KAAKkD,QAAtB,EAAgC9N,cAAhC,EAAgDgc,QAAhD;EACA3Z,MAAAA,oBAAoB,CAAC,KAAKyL,QAAN,EAAgBpM,kBAAhB,CAApB;EACD,KALD,MAKO;EACLsa,MAAAA,QAAQ;EACT;EACF;;WAED3N,UAAA,mBAAU;EACRqJ,IAAAA,YAAY,CAAC,KAAKuT,QAAN,CAAZ;EACA,SAAKA,QAAL,GAAgB,IAAhB;;EAEA,QAAI,KAAKnd,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCyL,iBAAjC,CAAJ,EAAuD;EACrD,WAAKpM,QAAL,CAAcS,SAAd,CAAwBC,MAAxB,CAA+B0L,iBAA/B;EACD;;EAEDrR,IAAAA,YAAY,CAACC,GAAb,CAAiB,KAAKgF,QAAtB,EAAgCqT,qBAAhC;EACAzb,IAAAA,IAAI,CAACI,UAAL,CAAgB,KAAKgI,QAArB,EAA+BX,UAA/B;EAEA,SAAKW,QAAL,GAAgB,IAAhB;EACA,SAAK0H,OAAL,GAAe,IAAf;EACD;;;WAIDC,aAAA,oBAAWzS,MAAX,EAAmB;EACjBA,IAAAA,MAAM,sBACDsP,SADC,MAEDvB,WAAW,CAACG,iBAAZ,CAA8B,KAAKpD,QAAnC,CAFC,MAGD,OAAO9K,MAAP,KAAkB,QAAlB,IAA8BA,MAA9B,GAAuCA,MAAvC,GAAgD,EAH/C,CAAN;EAMAF,IAAAA,eAAe,CACbmK,MADa,EAEbjK,MAFa,EAGb,KAAK6c,WAAL,CAAiBhN,WAHJ,CAAf;EAMA,WAAO7P,MAAP;EACD;;WAEDqoB,gBAAA,yBAAgB;EAAA;;EACdxiB,IAAAA,YAAY,CAAC8B,EAAb,CACE,KAAKmD,QADP,EAEEqT,qBAFF,EAGEY,uBAHF,EAIE;EAAA,aAAM,MAAI,CAAC3G,IAAL,EAAN;EAAA,KAJF;EAMD;;;UAIMxM,kBAAP,yBAAuB5L,MAAvB,EAA+B;EAC7B,WAAO,KAAK6L,IAAL,CAAU,YAAY;EAC3B,UAAIvJ,IAAI,GAAGI,IAAI,CAACG,OAAL,CAAa,IAAb,EAAmBsH,UAAnB,CAAX;;EACA,UAAMqI,OAAO,GAAG,OAAOxS,MAAP,KAAkB,QAAlB,IAA8BA,MAA9C;;EAEA,UAAI,CAACsC,IAAL,EAAW;EACTA,QAAAA,IAAI,GAAG,IAAIstB,KAAJ,CAAU,IAAV,EAAgBpd,OAAhB,CAAP;EACD;;EAED,UAAI,OAAOxS,MAAP,KAAkB,QAAtB,EAAgC;EAC9B,YAAI,OAAOsC,IAAI,CAACtC,MAAD,CAAX,KAAwB,WAA5B,EAAyC;EACvC,gBAAM,IAAIyW,SAAJ,wBAAkCzW,MAAlC,QAAN;EACD;;EAEDsC,QAAAA,IAAI,CAACtC,MAAD,CAAJ,CAAa,IAAb;EACD;EACF,KAfM,CAAP;EAgBD;;UAEMgM,cAAP,qBAAmBjO,OAAnB,EAA4B;EAC1B,WAAO2E,IAAI,CAACG,OAAL,CAAa9E,OAAb,EAAsBoM,UAAtB,CAAP;EACD;;;;0BA/IoB;EACnB,aAAOD,SAAP;EACD;;;0BAEwB;EACvB,aAAO2F,aAAP;EACD;;;0BAEoB;EACnB,aAAOP,SAAP;EACD;;;;;;EAwIH,IAAMlL,GAAC,GAAGvC,SAAS,EAAnB;EAEA;;;;;;;EAMA;;EACA,IAAIuC,GAAJ,EAAO;EACL,MAAM6H,oBAAkB,GAAG7H,GAAC,CAACsB,EAAF,CAAKuE,MAAL,CAA3B;EACA7F,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,IAAa2lB,KAAK,CAAChkB,eAAnB;EACAxH,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,EAAWiC,WAAX,GAAyB0jB,KAAzB;;EACAxrB,EAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,EAAWkC,UAAX,GAAwB,YAAM;EAC5B/H,IAAAA,GAAC,CAACsB,EAAF,CAAKuE,MAAL,IAAagC,oBAAb;EACA,WAAO2jB,KAAK,CAAChkB,eAAb;EACD,GAHD;EAID;;EC3OD;;;;;;AAmBA,kBAAe;EACbf,EAAAA,KAAK,EAALA,KADa;EAEbkC,EAAAA,MAAM,EAANA,MAFa;EAGbgF,EAAAA,QAAQ,EAARA,QAHa;EAIb0F,EAAAA,QAAQ,EAARA,QAJa;EAKbiE,EAAAA,QAAQ,EAARA,QALa;EAMbwD,EAAAA,KAAK,EAALA,KANa;EAObyM,EAAAA,OAAO,EAAPA,OAPa;EAQbe,EAAAA,SAAS,EAATA,SARa;EASbsC,EAAAA,GAAG,EAAHA,GATa;EAUbY,EAAAA,KAAK,EAALA,KAVa;EAWb7H,EAAAA,OAAO,EAAPA;EAXa,CAAf;;;;;;;;"} \ No newline at end of file
diff --git a/dist/js/bootstrap.min.js b/dist/js/bootstrap.min.js
index cc01f12a8c..29e43c6195 100644
--- a/dist/js/bootstrap.min.js
+++ b/dist/js/bootstrap.min.js
@@ -1,7 +1,7 @@
/*!
* Bootstrap v4.3.1 (https://getbootstrap.com/)
- * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+ * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
-!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("popper.js")):"function"==typeof define&&define.amd?define(["popper.js"],e):(t=t||self).bootstrap=e(t.Popper)}(this,(function(t){"use strict";function e(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function n(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}function i(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function o(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function r(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?o(n,!0).forEach((function(e){i(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):o(n).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}t=t&&t.hasOwnProperty("default")?t.default:t;var s,a,l,c="transitionend",u=function(t){do{t+=~~(1e6*Math.random())}while(document.getElementById(t));return t},f=function(t){var e=t.getAttribute("data-target");if(!e||"#"===e){var n=t.getAttribute("href");e=n&&"#"!==n?n.trim():null}return e},h=function(t){var e=f(t);return e&&document.querySelector(e)?e:null},d=function(t){var e=f(t);return e?document.querySelector(e):null},g=function(t){if(!t)return 0;var e=window.getComputedStyle(t),n=e.transitionDuration,i=e.transitionDelay,o=parseFloat(n),r=parseFloat(i);return o||r?(n=n.split(",")[0],i=i.split(",")[0],1e3*(parseFloat(n)+parseFloat(i))):0},p=function(t){var e=document.createEvent("HTMLEvents");e.initEvent(c,!0,!0),t.dispatchEvent(e)},_=function(t){return(t[0]||t).nodeType},m=function(t,e){var n=!1,i=e+5;t.addEventListener(c,(function e(){n=!0,t.removeEventListener(c,e)})),setTimeout((function(){n||p(t)}),i)},v=function(t,e,n){Object.keys(n).forEach((function(i){var o,r=n[i],s=e[i],a=s&&_(s)?"element":(o=s,{}.toString.call(o).match(/\s([a-z]+)/i)[1].toLowerCase());if(!new RegExp(r).test(a))throw new Error(t.toUpperCase()+': Option "'+i+'" provided type "'+a+'" but expected type "'+r+'".')}))},E=function(t){return t?[].slice.call(t):[]},y=function(t){if(!t)return!1;if(t.style&&t.parentNode&&t.parentNode.style){var e=getComputedStyle(t),n=getComputedStyle(t.parentNode);return"none"!==e.display&&"none"!==n.display&&"hidden"!==e.visibility}return!1},b=function(){return function(){}},D=function(t){return t.offsetHeight},T=function(){var t=window.jQuery;return t&&!document.body.hasAttribute("data-no-jquery")?t:null},I=(s={},a=1,{set:function(t,e,n){"undefined"==typeof t.key&&(t.key={key:e,id:a},a++),s[t.key.id]=n},get:function(t,e){if(!t||"undefined"==typeof t.key)return null;var n=t.key;return n.key===e?s[n.id]:null},delete:function(t,e){if("undefined"!=typeof t.key){var n=t.key;n.key===e&&(delete s[n.id],delete t.key)}}}),A={setData:function(t,e,n){I.set(t,e,n)},getData:function(t,e){return I.get(t,e)},removeData:function(t,e){I.delete(t,e)}},S=Element.prototype,w=S.matches,C=S.closest,L=Element.prototype.querySelectorAll,O=Element.prototype.querySelector,N=function(t,e){return new CustomEvent(t,e)};if("function"!=typeof window.CustomEvent&&(N=function(t,e){e=e||{bubbles:!1,cancelable:!1,detail:null};var n=document.createEvent("CustomEvent");return n.initCustomEvent(t,e.bubbles,e.cancelable,e.detail),n}),!((l=document.createEvent("CustomEvent")).initEvent("Bootstrap",!0,!0),l.preventDefault(),l.defaultPrevented)){var k=Event.prototype.preventDefault;Event.prototype.preventDefault=function(){this.cancelable&&(k.call(this),Object.defineProperty(this,"defaultPrevented",{get:function(){return!0},configurable:!0}))}}var P=function(){var t=N("Bootstrap",{cancelable:!0}),e=document.createElement("div");return e.addEventListener("Bootstrap",(function(){return null})),t.preventDefault(),e.dispatchEvent(t),t.defaultPrevented}();w||(w=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector),C||(C=function(t){var e=this;do{if(w.call(e,t))return e;e=e.parentElement||e.parentNode}while(null!==e&&1===e.nodeType);return null});var H=/:scope\b/;(function(){var t=document.createElement("div");try{t.querySelectorAll(":scope *")}catch(t){return!1}return!0})()||(L=function(t){if(!H.test(t))return this.querySelectorAll(t);var e=Boolean(this.id);e||(this.id=u("scope"));var n=null;try{t=t.replace(H,"#"+this.id),n=this.querySelectorAll(t)}finally{e||this.removeAttribute("id")}return n},O=function(t){if(!H.test(t))return this.querySelector(t);var e=L.call(this,t);return"undefined"!=typeof e[0]?e[0]:null});var j=T(),M=/[^.]*(?=\..*)\.|.*/,R=/\..*/,x=/^key/,W=/::\d+$/,U={},K=1,V={mouseenter:"mouseover",mouseleave:"mouseout"},B=["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"];function F(t,e){return e&&e+"::"+K++||t.uidEvent||K++}function Q(t){var e=F(t);return t.uidEvent=e,U[e]=U[e]||{},U[e]}function Y(t,e){null===t.which&&x.test(t.type)&&(t.which=null===t.charCode?t.keyCode:t.charCode),t.delegateTarget=e}function G(t,e,n){void 0===n&&(n=null);for(var i=Object.keys(t),o=0,r=i.length;o<r;o++){var s=t[i[o]];if(s.originalHandler===e&&s.delegationSelector===n)return s}return null}function X(t,e,n){var i="string"==typeof e,o=i?n:e,r=t.replace(R,""),s=V[r];return s&&(r=s),B.indexOf(r)>-1||(r=t),[i,o,r]}function q(t,e,n,i,o){if("string"==typeof e&&t){n||(n=i,i=null);var r=X(e,n,i),s=r[0],a=r[1],l=r[2],c=Q(t),u=c[l]||(c[l]={}),f=G(u,a,s?n:null);if(f)f.oneOff=f.oneOff&&o;else{var h=F(a,e.replace(M,"")),d=s?function(t,e,n){return function i(o){for(var r=t.querySelectorAll(e),s=o.target;s&&s!==this;s=s.parentNode)for(var a=r.length;a--;)if(r[a]===s)return Y(o,s),i.oneOff&&Z.off(t,o.type,n),n.apply(s,[o]);return null}}(t,n,i):function(t,e){return function n(i){return Y(i,t),n.oneOff&&Z.off(t,i.type,e),e.apply(t,[i])}}(t,n);d.delegationSelector=s?n:null,d.originalHandler=a,d.oneOff=o,d.uidEvent=h,u[h]=d,t.addEventListener(l,d,s)}}}function z(t,e,n,i,o){var r=G(e[n],i,o);r&&(t.removeEventListener(n,r,Boolean(o)),delete e[n][r.uidEvent])}var Z={on:function(t,e,n,i){q(t,e,n,i,!1)},one:function(t,e,n,i){q(t,e,n,i,!0)},off:function(t,e,n,i){if("string"==typeof e&&t){var o=X(e,n,i),r=o[0],s=o[1],a=o[2],l=a!==e,c=Q(t),u="."===e.charAt(0);if("undefined"==typeof s){u&&Object.keys(c).forEach((function(n){!function(t,e,n,i){var o=e[n]||{};Object.keys(o).forEach((function(r){if(r.indexOf(i)>-1){var s=o[r];z(t,e,n,s.originalHandler,s.delegationSelector)}}))}(t,c,n,e.slice(1))}));var f=c[a]||{};Object.keys(f).forEach((function(n){var i=n.replace(W,"");if(!l||e.indexOf(i)>-1){var o=f[n];z(t,c,a,o.originalHandler,o.delegationSelector)}}))}else{if(!c||!c[a])return;z(t,c,a,s,r?n:null)}}},trigger:function(t,e,n){if("string"!=typeof e||!t)return null;var i,o=e.replace(R,""),r=e!==o,s=B.indexOf(o)>-1,a=!0,l=!0,c=!1,u=null;return r&&j&&(i=j.Event(e,n),j(t).trigger(i),a=!i.isPropagationStopped(),l=!i.isImmediatePropagationStopped(),c=i.isDefaultPrevented()),s?(u=document.createEvent("HTMLEvents")).initEvent(o,a,!0):u=N(e,{bubbles:a,cancelable:!0}),"undefined"!=typeof n&&Object.keys(n).forEach((function(t){Object.defineProperty(u,t,{get:function(){return n[t]}})})),c&&(u.preventDefault(),P||Object.defineProperty(u,"defaultPrevented",{get:function(){return!0}})),l&&t.dispatchEvent(u),u.defaultPrevented&&"undefined"!=typeof i&&i.preventDefault(),u}},$={matches:function(t,e){return w.call(t,e)},find:function(t,e){return void 0===e&&(e=document.documentElement),L.call(e,t)},findOne:function(t,e){return void 0===e&&(e=document.documentElement),O.call(e,t)},children:function(t,e){var n=this,i=E(t.children);return i.filter((function(t){return n.matches(t,e)}))},parents:function(t,e){for(var n=[],i=t.parentNode;i&&i.nodeType===Node.ELEMENT_NODE&&3!==i.nodeType;)this.matches(i,e)&&n.push(i),i=i.parentNode;return n},closest:function(t,e){return C.call(t,e)},prev:function(t,e){for(var n=[],i=t.previousSibling;i&&i.nodeType===Node.ELEMENT_NODE&&3!==i.nodeType;)this.matches(i,e)&&n.push(i),i=i.previousSibling;return n}},J="bs.alert",tt="."+J,et={CLOSE:"close"+tt,CLOSED:"closed"+tt,CLICK_DATA_API:"click"+tt+".data-api"},nt="alert",it="fade",ot="show",rt=function(){function t(t){this._element=t,this._element&&A.setData(t,J,this)}var e=t.prototype;return e.close=function(t){var e=this._element;t&&(e=this._getRootElement(t));var n=this._triggerCloseEvent(e);null===n||n.defaultPrevented||this._removeElement(e)},e.dispose=function(){A.removeData(this._element,J),this._element=null},e._getRootElement=function(t){var e=d(t);return e||(e=$.closest(t,"."+nt)),e},e._triggerCloseEvent=function(t){return Z.trigger(t,et.CLOSE)},e._removeElement=function(t){var e=this;if(t.classList.remove(ot),t.classList.contains(it)){var n=g(t);Z.one(t,c,(function(){return e._destroyElement(t)})),m(t,n)}else this._destroyElement(t)},e._destroyElement=function(t){t.parentNode&&t.parentNode.removeChild(t),Z.trigger(t,et.CLOSED)},t.jQueryInterface=function(e){return this.each((function(){var n=A.getData(this,J);n||(n=new t(this)),"close"===e&&n[e](this)}))},t.handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},t.getInstance=function(t){return A.getData(t,J)},n(t,null,[{key:"VERSION",get:function(){return"4.3.1"}}]),t}();Z.on(document,et.CLICK_DATA_API,'[data-dismiss="alert"]',rt.handleDismiss(new rt));var st=T();if(st){var at=st.fn.alert;st.fn.alert=rt.jQueryInterface,st.fn.alert.Constructor=rt,st.fn.alert.noConflict=function(){return st.fn.alert=at,rt.jQueryInterface}}var lt="bs.button",ct="."+lt,ut="active",ft="btn",ht="focus",dt='[data-toggle^="button"]',gt='[data-toggle="buttons"]',pt='input:not([type="hidden"])',_t=".active",mt=".btn",vt={CLICK_DATA_API:"click"+ct+".data-api",FOCUS_DATA_API:"focus"+ct+".data-api",BLUR_DATA_API:"blur"+ct+".data-api"},Et=function(){function t(t){this._element=t,A.setData(t,lt,this)}var e=t.prototype;return e.toggle=function(){var t=!0,e=!0,n=$.closest(this._element,gt);if(n){var i=$.findOne(pt,this._element);if(i&&"radio"===i.type){if(i.checked&&this._element.classList.contains(ut))t=!1;else{var o=$.findOne(_t,n);o&&o.classList.remove(ut)}if(t){if(i.hasAttribute("disabled")||n.hasAttribute("disabled")||i.classList.contains("disabled")||n.classList.contains("disabled"))return;i.checked=!this._element.classList.contains(ut),Z.trigger(i,"change")}i.focus(),e=!1}}e&&this._element.setAttribute("aria-pressed",!this._element.classList.contains(ut)),t&&this._element.classList.toggle(ut)},e.dispose=function(){A.removeData(this._element,lt),this._element=null},t.jQueryInterface=function(e){return this.each((function(){var n=A.getData(this,lt);n||(n=new t(this)),"toggle"===e&&n[e]()}))},t.getInstance=function(t){return A.getData(t,lt)},n(t,null,[{key:"VERSION",get:function(){return"4.3.1"}}]),t}();Z.on(document,vt.CLICK_DATA_API,dt,(function(t){t.preventDefault();var e=t.target;e.classList.contains(ft)||(e=$.closest(e,mt));var n=A.getData(e,lt);n||(n=new Et(e)),n.toggle()})),Z.on(document,vt.FOCUS_DATA_API,dt,(function(t){var e=$.closest(t.target,mt);e&&e.classList.add(ht)})),Z.on(document,vt.BLUR_DATA_API,dt,(function(t){var e=$.closest(t.target,mt);e&&e.classList.remove(ht)}));var yt=T();if(yt){var bt=yt.fn.button;yt.fn.button=Et.jQueryInterface,yt.fn.button.Constructor=Et,yt.fn.button.noConflict=function(){return yt.fn.button=bt,Et.jQueryInterface}}function Dt(t){return"true"===t||"false"!==t&&(t===Number(t).toString()?Number(t):""===t||"null"===t?null:t)}function Tt(t){return t.replace(/[A-Z]/g,(function(t){return"-"+t.toLowerCase()}))}var It={setDataAttribute:function(t,e,n){t.setAttribute("data-"+Tt(e),n)},removeDataAttribute:function(t,e){t.removeAttribute("data-"+Tt(e))},getDataAttributes:function(t){if(!t)return{};var e=r({},t.dataset);return Object.keys(e).forEach((function(t){e[t]=Dt(e[t])})),e},getDataAttribute:function(t,e){return Dt(t.getAttribute("data-"+Tt(e)))},offset:function(t){var e=t.getBoundingClientRect();return{top:e.top+document.body.scrollTop,left:e.left+document.body.scrollLeft}},position:function(t){return{top:t.offsetTop,left:t.offsetLeft}},toggleClass:function(t,e){t&&(t.classList.contains(e)?t.classList.remove(e):t.classList.add(e))}},At="carousel",St="bs.carousel",wt="."+St,Ct={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},Lt={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},Ot="next",Nt="prev",kt="left",Pt="right",Ht={SLIDE:"slide"+wt,SLID:"slid"+wt,KEYDOWN:"keydown"+wt,MOUSEENTER:"mouseenter"+wt,MOUSELEAVE:"mouseleave"+wt,TOUCHSTART:"touchstart"+wt,TOUCHMOVE:"touchmove"+wt,TOUCHEND:"touchend"+wt,POINTERDOWN:"pointerdown"+wt,POINTERUP:"pointerup"+wt,DRAG_START:"dragstart"+wt,LOAD_DATA_API:"load"+wt+".data-api",CLICK_DATA_API:"click"+wt+".data-api"},jt="carousel",Mt="active",Rt="slide",xt="carousel-item-right",Wt="carousel-item-left",Ut="carousel-item-next",Kt="carousel-item-prev",Vt="pointer-event",Bt={ACTIVE:".active",ACTIVE_ITEM:".active.carousel-item",ITEM:".carousel-item",ITEM_IMG:".carousel-item img",NEXT_PREV:".carousel-item-next, .carousel-item-prev",INDICATORS:".carousel-indicators",DATA_SLIDE:"[data-slide], [data-slide-to]",DATA_RIDE:'[data-ride="carousel"]'},Ft={TOUCH:"touch",PEN:"pen"},Qt=function(){function t(t,e){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(e),this._element=t,this._indicatorsElement=$.findOne(Bt.INDICATORS,this._element),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent||window.MSPointerEvent),this._addEventListeners(),A.setData(t,St,this)}var e=t.prototype;return e.next=function(){this._isSliding||this._slide(Ot)},e.nextWhenVisible=function(){!document.hidden&&y(this._element)&&this.next()},e.prev=function(){this._isSliding||this._slide(Nt)},e.pause=function(t){t||(this._isPaused=!0),$.findOne(Bt.NEXT_PREV,this._element)&&(p(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},e.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config&&this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},e.to=function(t){var e=this;this._activeElement=$.findOne(Bt.ACTIVE_ITEM,this._element);var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)Z.one(this._element,Ht.SLID,(function(){return e.to(t)}));else{if(n===t)return this.pause(),void this.cycle();var i=t>n?Ot:Nt;this._slide(i,this._items[t])}},e.dispose=function(){Z.off(this._element,wt),A.removeData(this._element,St),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},e._getConfig=function(t){return t=r({},Ct,{},t),v(At,t,Lt),t},e._handleSwipe=function(){var t=Math.abs(this.touchDeltaX);if(!(t<=40)){var e=t/this.touchDeltaX;this.touchDeltaX=0,e>0&&this.prev(),e<0&&this.next()}},e._addEventListeners=function(){var t=this;this._config.keyboard&&Z.on(this._element,Ht.KEYDOWN,(function(e){return t._keydown(e)})),"hover"===this._config.pause&&(Z.on(this._element,Ht.MOUSEENTER,(function(e){return t.pause(e)})),Z.on(this._element,Ht.MOUSELEAVE,(function(e){return t.cycle(e)}))),this._config.touch&&this._touchSupported&&this._addTouchEventListeners()},e._addTouchEventListeners=function(){var t=this,e=function(e){t._pointerEvent&&Ft[e.pointerType.toUpperCase()]?t.touchStartX=e.clientX:t._pointerEvent||(t.touchStartX=e.touches[0].clientX)},n=function(e){t._pointerEvent&&Ft[e.pointerType.toUpperCase()]&&(t.touchDeltaX=e.clientX-t.touchStartX),t._handleSwipe(),"hover"===t._config.pause&&(t.pause(),t.touchTimeout&&clearTimeout(t.touchTimeout),t.touchTimeout=setTimeout((function(e){return t.cycle(e)}),500+t._config.interval))};E($.find(Bt.ITEM_IMG,this._element)).forEach((function(t){Z.on(t,Ht.DRAG_START,(function(t){return t.preventDefault()}))})),this._pointerEvent?(Z.on(this._element,Ht.POINTERDOWN,(function(t){return e(t)})),Z.on(this._element,Ht.POINTERUP,(function(t){return n(t)})),this._element.classList.add(Vt)):(Z.on(this._element,Ht.TOUCHSTART,(function(t){return e(t)})),Z.on(this._element,Ht.TOUCHMOVE,(function(e){return function(e){e.touches&&e.touches.length>1?t.touchDeltaX=0:t.touchDeltaX=e.touches[0].clientX-t.touchStartX}(e)})),Z.on(this._element,Ht.TOUCHEND,(function(t){return n(t)})))},e._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next()}},e._getItemIndex=function(t){return this._items=t&&t.parentNode?E($.find(Bt.ITEM,t.parentNode)):[],this._items.indexOf(t)},e._getItemByDirection=function(t,e){var n=t===Ot,i=t===Nt,o=this._getItemIndex(e),r=this._items.length-1;if((i&&0===o||n&&o===r)&&!this._config.wrap)return e;var s=(o+(t===Nt?-1:1))%this._items.length;return-1===s?this._items[this._items.length-1]:this._items[s]},e._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),i=this._getItemIndex($.findOne(Bt.ACTIVE_ITEM,this._element));return Z.trigger(this._element,Ht.SLIDE,{relatedTarget:t,direction:e,from:i,to:n})},e._setActiveIndicatorElement=function(t){if(this._indicatorsElement){for(var e=$.find(Bt.ACTIVE,this._indicatorsElement),n=0;n<e.length;n++)e[n].classList.remove(Mt);var i=this._indicatorsElement.children[this._getItemIndex(t)];i&&i.classList.add(Mt)}},e._slide=function(t,e){var n,i,o,r=this,s=$.findOne(Bt.ACTIVE_ITEM,this._element),a=this._getItemIndex(s),l=e||s&&this._getItemByDirection(t,s),u=this._getItemIndex(l),f=Boolean(this._interval);if(t===Ot?(n=Wt,i=Ut,o=kt):(n=xt,i=Kt,o=Pt),l&&l.classList.contains(Mt))this._isSliding=!1;else if(!this._triggerSlideEvent(l,o).defaultPrevented&&s&&l){if(this._isSliding=!0,f&&this.pause(),this._setActiveIndicatorElement(l),this._element.classList.contains(Rt)){l.classList.add(i),D(l),s.classList.add(n),l.classList.add(n);var h=parseInt(l.getAttribute("data-interval"),10);h?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=h):this._config.interval=this._config.defaultInterval||this._config.interval;var d=g(s);Z.one(s,c,(function(){l.classList.remove(n),l.classList.remove(i),l.classList.add(Mt),s.classList.remove(Mt),s.classList.remove(i),s.classList.remove(n),r._isSliding=!1,setTimeout((function(){Z.trigger(r._element,Ht.SLID,{relatedTarget:l,direction:o,from:a,to:u})}),0)})),m(s,d)}else s.classList.remove(Mt),l.classList.add(Mt),this._isSliding=!1,Z.trigger(this._element,Ht.SLID,{relatedTarget:l,direction:o,from:a,to:u});f&&this.cycle()}},t.carouselInterface=function(e,n){var i=A.getData(e,St),o=r({},Ct,{},It.getDataAttributes(e));"object"==typeof n&&(o=r({},o,{},n));var s="string"==typeof n?n:o.slide;if(i||(i=new t(e,o)),"number"==typeof n)i.to(n);else if("string"==typeof s){if("undefined"==typeof i[s])throw new TypeError('No method named "'+s+'"');i[s]()}else o.interval&&o.ride&&(i.pause(),i.cycle())},t.jQueryInterface=function(e){return this.each((function(){t.carouselInterface(this,e)}))},t.dataApiClickHandler=function(e){var n=d(this);if(n&&n.classList.contains(jt)){var i=r({},It.getDataAttributes(n),{},It.getDataAttributes(this)),o=this.getAttribute("data-slide-to");o&&(i.interval=!1),t.carouselInterface(n,i),o&&A.getData(n,St).to(o),e.preventDefault()}},t.getInstance=function(t){return A.getData(t,St)},n(t,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Ct}}]),t}();Z.on(document,Ht.CLICK_DATA_API,Bt.DATA_SLIDE,Qt.dataApiClickHandler),Z.on(window,Ht.LOAD_DATA_API,(function(){for(var t=E($.find(Bt.DATA_RIDE)),e=0,n=t.length;e<n;e++)Qt.carouselInterface(t[e],A.getData(t[e],St))}));var Yt=T();if(Yt){var Gt=Yt.fn[At];Yt.fn[At]=Qt.jQueryInterface,Yt.fn[At].Constructor=Qt,Yt.fn[At].noConflict=function(){return Yt.fn[At]=Gt,Qt.jQueryInterface}}var Xt="collapse",qt="bs.collapse",zt="."+qt,Zt={toggle:!0,parent:""},$t={toggle:"boolean",parent:"(string|element)"},Jt={SHOW:"show"+zt,SHOWN:"shown"+zt,HIDE:"hide"+zt,HIDDEN:"hidden"+zt,CLICK_DATA_API:"click"+zt+".data-api"},te="show",ee="collapse",ne="collapsing",ie="collapsed",oe="width",re="height",se={ACTIVES:".show, .collapsing",DATA_TOGGLE:'[data-toggle="collapse"]'},ae=function(){function t(t,e){this._isTransitioning=!1,this._element=t,this._config=this._getConfig(e),this._triggerArray=E($.find('[data-toggle="collapse"][href="#'+t.id+'"],[data-toggle="collapse"][data-target="#'+t.id+'"]'));for(var n=E($.find(se.DATA_TOGGLE)),i=0,o=n.length;i<o;i++){var r=n[i],s=h(r),a=E($.find(s)).filter((function(e){return e===t}));null!==s&&a.length&&(this._selector=s,this._triggerArray.push(r))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle(),A.setData(t,qt,this)}var e=t.prototype;return e.toggle=function(){this._element.classList.contains(te)?this.hide():this.show()},e.show=function(){var e=this;if(!this._isTransitioning&&!this._element.classList.contains(te)){var n,i;this._parent&&0===(n=E($.find(se.ACTIVES,this._parent)).filter((function(t){return"string"==typeof e._config.parent?t.getAttribute("data-parent")===e._config.parent:t.classList.contains(ee)}))).length&&(n=null);var o=$.findOne(this._selector);if(n){var r=n.filter((function(t){return o!==t}));if((i=r[0]?A.getData(r[0],qt):null)&&i._isTransitioning)return}if(!Z.trigger(this._element,Jt.SHOW).defaultPrevented){n&&n.forEach((function(e){o!==e&&t.collapseInterface(e,"hide"),i||A.setData(e,qt,null)}));var s=this._getDimension();this._element.classList.remove(ee),this._element.classList.add(ne),this._element.style[s]=0,this._triggerArray.length&&this._triggerArray.forEach((function(t){t.classList.remove(ie),t.setAttribute("aria-expanded",!0)})),this.setTransitioning(!0);var a="scroll"+(s[0].toUpperCase()+s.slice(1)),l=g(this._element);Z.one(this._element,c,(function(){e._element.classList.remove(ne),e._element.classList.add(ee),e._element.classList.add(te),e._element.style[s]="",e.setTransitioning(!1),Z.trigger(e._element,Jt.SHOWN)})),m(this._element,l),this._element.style[s]=this._element[a]+"px"}}},e.hide=function(){var t=this;if(!this._isTransitioning&&this._element.classList.contains(te)&&!Z.trigger(this._element,Jt.HIDE).defaultPrevented){var e=this._getDimension();this._element.style[e]=this._element.getBoundingClientRect()[e]+"px",D(this._element),this._element.classList.add(ne),this._element.classList.remove(ee),this._element.classList.remove(te);var n=this._triggerArray.length;if(n>0)for(var i=0;i<n;i++){var o=this._triggerArray[i],r=d(o);r&&!r.classList.contains(te)&&(o.classList.add(ie),o.setAttribute("aria-expanded",!1))}this.setTransitioning(!0);this._element.style[e]="";var s=g(this._element);Z.one(this._element,c,(function(){t.setTransitioning(!1),t._element.classList.remove(ne),t._element.classList.add(ee),Z.trigger(t._element,Jt.HIDDEN)})),m(this._element,s)}},e.setTransitioning=function(t){this._isTransitioning=t},e.dispose=function(){A.removeData(this._element,qt),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},e._getConfig=function(t){return(t=r({},Zt,{},t)).toggle=Boolean(t.toggle),v(Xt,t,$t),t},e._getDimension=function(){return this._element.classList.contains(oe)?oe:re},e._getParent=function(){var t=this,e=this._config.parent;_(e)?"undefined"==typeof e.jquery&&"undefined"==typeof e[0]||(e=e[0]):e=$.findOne(e);var n='[data-toggle="collapse"][data-parent="'+e+'"]';return E($.find(n,e)).forEach((function(e){var n=d(e);t._addAriaAndCollapsedClass(n,[e])})),e},e._addAriaAndCollapsedClass=function(t,e){if(t){var n=t.classList.contains(te);e.length&&e.forEach((function(t){n?t.classList.remove(ie):t.classList.add(ie),t.setAttribute("aria-expanded",n)}))}},t.collapseInterface=function(e,n){var i=A.getData(e,qt),o=r({},Zt,{},It.getDataAttributes(e),{},"object"==typeof n&&n?n:{});if(!i&&o.toggle&&/show|hide/.test(n)&&(o.toggle=!1),i||(i=new t(e,o)),"string"==typeof n){if("undefined"==typeof i[n])throw new TypeError('No method named "'+n+'"');i[n]()}},t.jQueryInterface=function(e){return this.each((function(){t.collapseInterface(this,e)}))},t.getInstance=function(t){return A.getData(t,qt)},n(t,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Zt}}]),t}();Z.on(document,Jt.CLICK_DATA_API,se.DATA_TOGGLE,(function(t){"A"===t.target.tagName&&t.preventDefault();var e=It.getDataAttributes(this),n=h(this);E($.find(n)).forEach((function(t){var n,i=A.getData(t,qt);i?(null===i._parent&&"string"==typeof e.parent&&(i._config.parent=e.parent,i._parent=i._getParent()),n="toggle"):n=e,ae.collapseInterface(t,n)}))}));var le=T();if(le){var ce=le.fn[Xt];le.fn[Xt]=ae.jQueryInterface,le.fn[Xt].Constructor=ae,le.fn[Xt].noConflict=function(){return le.fn[Xt]=ce,ae.jQueryInterface}}var ue="dropdown",fe="bs.dropdown",he="."+fe,de=new RegExp("38|40|27"),ge={HIDE:"hide"+he,HIDDEN:"hidden"+he,SHOW:"show"+he,SHOWN:"shown"+he,CLICK:"click"+he,CLICK_DATA_API:"click"+he+".data-api",KEYDOWN_DATA_API:"keydown"+he+".data-api",KEYUP_DATA_API:"keyup"+he+".data-api"},pe="disabled",_e="show",me="dropup",ve="dropright",Ee="dropleft",ye="dropdown-menu-right",be="position-static",De='[data-toggle="dropdown"]',Te=".dropdown form",Ie=".dropdown-menu",Ae=".navbar-nav",Se=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",we="top-start",Ce="top-end",Le="bottom-start",Oe="bottom-end",Ne="right-start",ke="left-start",Pe={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic",popperConfig:null},He={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string",popperConfig:"(null|object)"},je=function(){function e(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners(),A.setData(t,fe,this)}var i=e.prototype;return i.toggle=function(){if(!this._element.disabled&&!this._element.classList.contains(pe)){var t=this._menu.classList.contains(_e);e.clearMenus(),t||this.show()}},i.show=function(){if(!(this._element.disabled||this._element.classList.contains(pe)||this._menu.classList.contains(_e))){var n=e.getParentFromElement(this._element),i={relatedTarget:this._element};if(!Z.trigger(n,ge.SHOW,i).defaultPrevented){if(!this._inNavbar){if("undefined"==typeof t)throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org)");var o=this._element;"parent"===this._config.reference?o=n:_(this._config.reference)&&(o=this._config.reference,"undefined"!=typeof this._config.reference.jquery&&(o=this._config.reference[0])),"scrollParent"!==this._config.boundary&&n.classList.add(be),this._popper=new t(o,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&!E($.closest(n,Ae)).length&&E(document.body.children).forEach((function(t){return Z.on(t,"mouseover",null,(function(){}))})),this._element.focus(),this._element.setAttribute("aria-expanded",!0),It.toggleClass(this._menu,_e),It.toggleClass(n,_e),Z.trigger(n,ge.SHOWN,i)}}},i.hide=function(){if(!this._element.disabled&&!this._element.classList.contains(pe)&&this._menu.classList.contains(_e)){var t=e.getParentFromElement(this._element),n={relatedTarget:this._element};Z.trigger(t,ge.HIDE,n).defaultPrevented||(this._popper&&this._popper.destroy(),It.toggleClass(this._menu,_e),It.toggleClass(t,_e),Z.trigger(t,ge.HIDDEN,n))}},i.dispose=function(){A.removeData(this._element,fe),Z.off(this._element,he),this._element=null,this._menu=null,this._popper&&(this._popper.destroy(),this._popper=null)},i.update=function(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.scheduleUpdate()},i._addEventListeners=function(){var t=this;Z.on(this._element,ge.CLICK,(function(e){e.preventDefault(),e.stopPropagation(),t.toggle()}))},i._getConfig=function(t){return t=r({},this.constructor.Default,{},It.getDataAttributes(this._element),{},t),v(ue,t,this.constructor.DefaultType),t},i._getMenuElement=function(){var t=e.getParentFromElement(this._element);return $.findOne(Ie,t)},i._getPlacement=function(){var t=this._element.parentNode,e=Le;return t.classList.contains(me)?(e=we,this._menu.classList.contains(ye)&&(e=Ce)):t.classList.contains(ve)?e=Ne:t.classList.contains(Ee)?e=ke:this._menu.classList.contains(ye)&&(e=Oe),e},i._detectNavbar=function(){return Boolean($.closest(this._element,".navbar"))},i._getOffset=function(){var t=this,e={};return"function"==typeof this._config.offset?e.fn=function(e){return e.offsets=r({},e.offsets,{},t._config.offset(e.offsets,t._element)||{}),e}:e.offset=this._config.offset,e},i._getPopperConfig=function(){var t={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(t.modifiers.applyStyle={enabled:!1}),r({},t,{},this._config.popperConfig)},e.dropdownInterface=function(t,n){var i=A.getData(t,fe);if(i||(i=new e(t,"object"==typeof n?n:null)),"string"==typeof n){if("undefined"==typeof i[n])throw new TypeError('No method named "'+n+'"');i[n]()}},e.jQueryInterface=function(t){return this.each((function(){e.dropdownInterface(this,t)}))},e.clearMenus=function(t){if(!t||3!==t.which&&("keyup"!==t.type||9===t.which))for(var n=E($.find(De)),i=0,o=n.length;i<o;i++){var r=e.getParentFromElement(n[i]),s=A.getData(n[i],fe),a={relatedTarget:n[i]};if(t&&"click"===t.type&&(a.clickEvent=t),s){var l=s._menu;if(r.classList.contains(_e))if(!(t&&("click"===t.type&&/input|textarea/i.test(t.target.tagName)||"keyup"===t.type&&9===t.which)&&r.contains(t.target)))Z.trigger(r,ge.HIDE,a).defaultPrevented||("ontouchstart"in document.documentElement&&E(document.body.children).forEach((function(t){return Z.off(t,"mouseover",null,(function(){}))})),n[i].setAttribute("aria-expanded","false"),s._popper&&s._popper.destroy(),l.classList.remove(_e),r.classList.remove(_e),Z.trigger(r,ge.HIDDEN,a))}}},e.getParentFromElement=function(t){return d(t)||t.parentNode},e.dataApiKeydownHandler=function(t){if((/input|textarea/i.test(t.target.tagName)?!(32===t.which||27!==t.which&&(40!==t.which&&38!==t.which||$.closest(t.target,Ie))):de.test(t.which))&&(t.preventDefault(),t.stopPropagation(),!this.disabled&&!this.classList.contains(pe))){var n=e.getParentFromElement(this),i=n.classList.contains(_e);if(!i||i&&(27===t.which||32===t.which))return 27===t.which&&$.findOne(De,n).focus(),void e.clearMenus();var o=E($.find(Se,n)).filter(y);if(o.length){var r=o.indexOf(t.target);38===t.which&&r>0&&r--,40===t.which&&r<o.length-1&&r++,r<0&&(r=0),o[r].focus()}}},e.getInstance=function(t){return A.getData(t,fe)},n(e,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Pe}},{key:"DefaultType",get:function(){return He}}]),e}();Z.on(document,ge.KEYDOWN_DATA_API,De,je.dataApiKeydownHandler),Z.on(document,ge.KEYDOWN_DATA_API,Ie,je.dataApiKeydownHandler),Z.on(document,ge.CLICK_DATA_API,je.clearMenus),Z.on(document,ge.KEYUP_DATA_API,je.clearMenus),Z.on(document,ge.CLICK_DATA_API,De,(function(t){t.preventDefault(),t.stopPropagation(),je.dropdownInterface(this,"toggle")})),Z.on(document,ge.CLICK_DATA_API,Te,(function(t){return t.stopPropagation()}));var Me=T();if(Me){var Re=Me.fn[ue];Me.fn[ue]=je.jQueryInterface,Me.fn[ue].Constructor=je,Me.fn[ue].noConflict=function(){return Me.fn[ue]=Re,je.jQueryInterface}}var xe="bs.modal",We="."+xe,Ue={backdrop:!0,keyboard:!0,focus:!0,show:!0},Ke={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},Ve={HIDE:"hide"+We,HIDE_PREVENTED:"hidePrevented"+We,HIDDEN:"hidden"+We,SHOW:"show"+We,SHOWN:"shown"+We,FOCUSIN:"focusin"+We,RESIZE:"resize"+We,CLICK_DISMISS:"click.dismiss"+We,KEYDOWN_DISMISS:"keydown.dismiss"+We,MOUSEUP_DISMISS:"mouseup.dismiss"+We,MOUSEDOWN_DISMISS:"mousedown.dismiss"+We,CLICK_DATA_API:"click"+We+".data-api"},Be="modal-dialog-scrollable",Fe="modal-scrollbar-measure",Qe="modal-backdrop",Ye="modal-open",Ge="fade",Xe="show",qe="modal-static",ze={DIALOG:".modal-dialog",MODAL_BODY:".modal-body",DATA_TOGGLE:'[data-toggle="modal"]',DATA_DISMISS:'[data-dismiss="modal"]',FIXED_CONTENT:".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",STICKY_CONTENT:".sticky-top"},Ze=function(){function t(t,e){this._config=this._getConfig(e),this._element=t,this._dialog=$.findOne(ze.DIALOG,t),this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollbarWidth=0,A.setData(t,xe,this)}var e=t.prototype;return e.toggle=function(t){return this._isShown?this.hide():this.show(t)},e.show=function(t){var e=this;if(!this._isShown&&!this._isTransitioning){this._element.classList.contains(Ge)&&(this._isTransitioning=!0);var n=Z.trigger(this._element,Ve.SHOW,{relatedTarget:t});this._isShown||n.defaultPrevented||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),Z.on(this._element,Ve.CLICK_DISMISS,ze.DATA_DISMISS,(function(t){return e.hide(t)})),Z.on(this._dialog,Ve.MOUSEDOWN_DISMISS,(function(){Z.one(e._element,Ve.MOUSEUP_DISMISS,(function(t){t.target===e._element&&(e._ignoreBackdropClick=!0)}))})),this._showBackdrop((function(){return e._showElement(t)})))}},e.hide=function(t){var e=this;if((t&&t.preventDefault(),this._isShown&&!this._isTransitioning)&&!Z.trigger(this._element,Ve.HIDE).defaultPrevented){this._isShown=!1;var n=this._element.classList.contains(Ge);if(n&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),Z.off(document,Ve.FOCUSIN),this._element.classList.remove(Xe),Z.off(this._element,Ve.CLICK_DISMISS),Z.off(this._dialog,Ve.MOUSEDOWN_DISMISS),n){var i=g(this._element);Z.one(this._element,c,(function(t){return e._hideModal(t)})),m(this._element,i)}else this._hideModal()}},e.dispose=function(){[window,this._element,this._dialog].forEach((function(t){return Z.off(t,We)})),Z.off(document,Ve.FOCUSIN),A.removeData(this._element,xe),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._isTransitioning=null,this._scrollbarWidth=null},e.handleUpdate=function(){this._adjustDialog()},e._getConfig=function(t){return t=r({},Ue,{},t),v("modal",t,Ke),t},e._showElement=function(t){var e=this,n=this._element.classList.contains(Ge),i=$.findOne(ze.MODAL_BODY,this._dialog);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._dialog.classList.contains(Be)&&i?i.scrollTop=0:this._element.scrollTop=0,n&&D(this._element),this._element.classList.add(Xe),this._config.focus&&this._enforceFocus();var o=function(){e._config.focus&&e._element.focus(),e._isTransitioning=!1,Z.trigger(e._element,Ve.SHOWN,{relatedTarget:t})};if(n){var r=g(this._dialog);Z.one(this._dialog,c,o),m(this._dialog,r)}else o()},e._enforceFocus=function(){var t=this;Z.off(document,Ve.FOCUSIN),Z.on(document,Ve.FOCUSIN,(function(e){document===e.target||t._element===e.target||t._element.contains(e.target)||t._element.focus()}))},e._setEscapeEvent=function(){var t=this;this._isShown&&this._config.keyboard?Z.on(this._element,Ve.KEYDOWN_DISMISS,(function(e){27===e.which&&t._triggerBackdropTransition()})):Z.off(this._element,Ve.KEYDOWN_DISMISS)},e._setResizeEvent=function(){var t=this;this._isShown?Z.on(window,Ve.RESIZE,(function(){return t._adjustDialog()})):Z.off(window,Ve.RESIZE)},e._hideModal=function(){var t=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._isTransitioning=!1,this._showBackdrop((function(){document.body.classList.remove(Ye),t._resetAdjustments(),t._resetScrollbar(),Z.trigger(t._element,Ve.HIDDEN)}))},e._removeBackdrop=function(){this._backdrop.parentNode.removeChild(this._backdrop),this._backdrop=null},e._showBackdrop=function(t){var e=this,n=this._element.classList.contains(Ge)?Ge:"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className=Qe,n&&this._backdrop.classList.add(n),document.body.appendChild(this._backdrop),Z.on(this._element,Ve.CLICK_DISMISS,(function(t){e._ignoreBackdropClick?e._ignoreBackdropClick=!1:t.target===t.currentTarget&&e._triggerBackdropTransition()})),n&&D(this._backdrop),this._backdrop.classList.add(Xe),!n)return void t();var i=g(this._backdrop);Z.one(this._backdrop,c,t),m(this._backdrop,i)}else if(!this._isShown&&this._backdrop){this._backdrop.classList.remove(Xe);var o=function(){e._removeBackdrop(),t()};if(this._element.classList.contains(Ge)){var r=g(this._backdrop);Z.one(this._backdrop,c,o),m(this._backdrop,r)}else o()}else t()},e._triggerBackdropTransition=function(){var t=this;if("static"===this._config.backdrop){if(Z.trigger(this._element,Ve.HIDE_PREVENTED).defaultPrevented)return;this._element.classList.add(qe);var e=g(this._element);Z.one(this._element,c,(function(){t._element.classList.remove(qe)})),m(this._element,e),this._element.focus()}else this.hide()},e._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},e._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},e._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},e._setScrollbar=function(){var t=this;if(this._isBodyOverflowing){E($.find(ze.FIXED_CONTENT)).forEach((function(e){var n=e.style.paddingRight,i=window.getComputedStyle(e)["padding-right"];It.setDataAttribute(e,"padding-right",n),e.style.paddingRight=parseFloat(i)+t._scrollbarWidth+"px"})),E($.find(ze.STICKY_CONTENT)).forEach((function(e){var n=e.style.marginRight,i=window.getComputedStyle(e)["margin-right"];It.setDataAttribute(e,"margin-right",n),e.style.marginRight=parseFloat(i)-t._scrollbarWidth+"px"}));var e=document.body.style.paddingRight,n=window.getComputedStyle(document.body)["padding-right"];It.setDataAttribute(document.body,"padding-right",e),document.body.style.paddingRight=parseFloat(n)+this._scrollbarWidth+"px"}document.body.classList.add(Ye)},e._resetScrollbar=function(){E($.find(ze.FIXED_CONTENT)).forEach((function(t){var e=It.getDataAttribute(t,"padding-right");"undefined"!=typeof e&&(It.removeDataAttribute(t,"padding-right"),t.style.paddingRight=e)})),E($.find(""+ze.STICKY_CONTENT)).forEach((function(t){var e=It.getDataAttribute(t,"margin-right");"undefined"!=typeof e&&(It.removeDataAttribute(t,"margin-right"),t.style.marginRight=e)}));var t=It.getDataAttribute(document.body,"padding-right");"undefined"==typeof t?document.body.style.paddingRight="":(It.removeDataAttribute(document.body,"padding-right"),document.body.style.paddingRight=t)},e._getScrollbarWidth=function(){var t=document.createElement("div");t.className=Fe,document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},t.jQueryInterface=function(e,n){return this.each((function(){var i=A.getData(this,xe),o=r({},Ue,{},It.getDataAttributes(this),{},"object"==typeof e&&e?e:{});if(i||(i=new t(this,o)),"string"==typeof e){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e](n)}else o.show&&i.show(n)}))},t.getInstance=function(t){return A.getData(t,xe)},n(t,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Ue}}]),t}();Z.on(document,Ve.CLICK_DATA_API,ze.DATA_TOGGLE,(function(t){var e=this,n=d(this);"A"!==this.tagName&&"AREA"!==this.tagName||t.preventDefault(),Z.one(n,Ve.SHOW,(function(t){t.defaultPrevented||Z.one(n,Ve.HIDDEN,(function(){y(e)&&e.focus()}))}));var i=A.getData(n,xe);if(!i){var o=r({},It.getDataAttributes(n),{},It.getDataAttributes(this));i=new Ze(n,o)}i.show(this)}));var $e=T();if($e){var Je=$e.fn.modal;$e.fn.modal=Ze.jQueryInterface,$e.fn.modal.Constructor=Ze,$e.fn.modal.noConflict=function(){return $e.fn.modal=Je,Ze.jQueryInterface}}var tn=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],en=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi,nn=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i,on=function(t,e){var n=t.nodeName.toLowerCase();if(-1!==e.indexOf(n))return-1===tn.indexOf(n)||Boolean(t.nodeValue.match(en)||t.nodeValue.match(nn));for(var i=e.filter((function(t){return t instanceof RegExp})),o=0,r=i.length;o<r;o++)if(n.match(i[o]))return!0;return!1},rn={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]};function sn(t,e,n){if(!t.length)return t;if(n&&"function"==typeof n)return n(t);for(var i=(new window.DOMParser).parseFromString(t,"text/html"),o=Object.keys(e),r=E(i.body.querySelectorAll("*")),s=function(t,n){var i=r[t],s=i.nodeName.toLowerCase();if(-1===o.indexOf(s))return i.parentNode.removeChild(i),"continue";var a=E(i.attributes),l=[].concat(e["*"]||[],e[s]||[]);a.forEach((function(t){on(t,l)||i.removeAttribute(t.nodeName)}))},a=0,l=r.length;a<l;a++)s(a);return i.body.innerHTML}var an="tooltip",ln=new RegExp("(^|\\s)bs-tooltip\\S+","g"),cn=["sanitize","whiteList","sanitizeFn"],un={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string|function)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)",sanitize:"boolean",sanitizeFn:"(null|function)",whiteList:"object",popperConfig:"(null|object)"},fn={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},hn={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:rn,popperConfig:null},dn="show",gn="out",pn={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"},_n="fade",mn="show",vn=".tooltip-inner",En="hover",yn="focus",bn="click",Dn="manual",Tn=function(){function e(e,n){if("undefined"==typeof t)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=e,this.config=this._getConfig(n),this.tip=null,this._setListeners(),A.setData(e,this.constructor.DATA_KEY,this)}var i=e.prototype;return i.enable=function(){this._isEnabled=!0},i.disable=function(){this._isEnabled=!1},i.toggleEnabled=function(){this._isEnabled=!this._isEnabled},i.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=A.getData(t.delegateTarget,e);n||(n=new this.constructor(t.delegateTarget,this._getDelegateConfig()),A.setData(t.delegateTarget,e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(this.getTipElement().classList.contains(mn))return void this._leave(null,this);this._enter(null,this)}},i.dispose=function(){clearTimeout(this._timeout),A.removeData(this.element,this.constructor.DATA_KEY),Z.off(this.element,this.constructor.EVENT_KEY),Z.off($.closest(this.element,".modal"),"hide.bs.modal",this._hideModalHandler),this.tip&&this.tip.parentNode.removeChild(this.tip),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},i.show=function(){var e=this;if("none"===this.element.style.display)throw new Error("Please use show on visible elements");if(this.isWithContent()&&this._isEnabled){var n=Z.trigger(this.element,this.constructor.Event.SHOW),i=function t(e){if(!document.documentElement.attachShadow)return null;if("function"==typeof e.getRootNode){var n=e.getRootNode();return n instanceof ShadowRoot?n:null}return e instanceof ShadowRoot?e:e.parentNode?t(e.parentNode):null}(this.element),o=null===i?this.element.ownerDocument.documentElement.contains(this.element):i.contains(this.element);if(n.defaultPrevented||!o)return;var r=this.getTipElement(),s=u(this.constructor.NAME);r.setAttribute("id",s),this.element.setAttribute("aria-describedby",s),this.setContent(),this.config.animation&&r.classList.add(_n);var a="function"==typeof this.config.placement?this.config.placement.call(this,r,this.element):this.config.placement,l=this._getAttachment(a);this._addAttachmentClass(l);var f=this._getContainer();A.setData(r,this.constructor.DATA_KEY,this),this.element.ownerDocument.documentElement.contains(this.tip)||f.appendChild(r),Z.trigger(this.element,this.constructor.Event.INSERTED),this._popper=new t(this.element,r,this._getPopperConfig(l)),r.classList.add(mn),"ontouchstart"in document.documentElement&&E(document.body.children).forEach((function(t){Z.on(t,"mouseover",(function(){}))}));var h=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,Z.trigger(e.element,e.constructor.Event.SHOWN),t===gn&&e._leave(null,e)};if(this.tip.classList.contains(_n)){var d=g(this.tip);Z.one(this.tip,c,h),m(this.tip,d)}else h()}},i.hide=function(){var t=this,e=this.getTipElement(),n=function(){t._hoverState!==dn&&e.parentNode&&e.parentNode.removeChild(e),t._cleanTipClass(),t.element.removeAttribute("aria-describedby"),Z.trigger(t.element,t.constructor.Event.HIDDEN),t._popper.destroy()};if(!Z.trigger(this.element,this.constructor.Event.HIDE).defaultPrevented){if(e.classList.remove(mn),"ontouchstart"in document.documentElement&&E(document.body.children).forEach((function(t){return Z.off(t,"mouseover",b)})),this._activeTrigger[bn]=!1,this._activeTrigger[yn]=!1,this._activeTrigger[En]=!1,this.tip.classList.contains(_n)){var i=g(e);Z.one(e,c,n),m(e,i)}else n();this._hoverState=""}},i.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},i.isWithContent=function(){return Boolean(this.getTitle())},i.getTipElement=function(){if(this.tip)return this.tip;var t=document.createElement("div");return t.innerHTML=this.config.template,this.tip=t.children[0],this.tip},i.setContent=function(){var t=this.getTipElement();this.setElementContent($.findOne(vn,t),this.getTitle()),t.classList.remove(_n),t.classList.remove(mn)},i.setElementContent=function(t,e){if(null!==t)return"object"==typeof e&&_(e)?(e.jquery&&(e=e[0]),void(this.config.html?e.parentNode!==t&&(t.innerHTML="",t.appendChild(e)):t.innerText=e.textContent)):void(this.config.html?(this.config.sanitize&&(e=sn(e,this.config.whiteList,this.config.sanitizeFn)),t.innerHTML=e):t.innerText=e)},i.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},i._getPopperConfig=function(t){var e=this;return r({},{placement:t,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:"."+this.constructor.NAME+"-arrow"},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}},{},this.config.popperConfig)},i._addAttachmentClass=function(t){this.getTipElement().classList.add("bs-tooltip-"+t)},i._getOffset=function(){var t=this,e={};return"function"==typeof this.config.offset?e.fn=function(e){return e.offsets=r({},e.offsets,{},t.config.offset(e.offsets,t.element)||{}),e}:e.offset=this.config.offset,e},i._getContainer=function(){return!1===this.config.container?document.body:_(this.config.container)?this.config.container:$.findOne(this.config.container)},i._getAttachment=function(t){return fn[t.toUpperCase()]},i._setListeners=function(){var t=this;this.config.trigger.split(" ").forEach((function(e){if("click"===e)Z.on(t.element,t.constructor.Event.CLICK,t.config.selector,(function(e){return t.toggle(e)}));else if(e!==Dn){var n=e===En?t.constructor.Event.MOUSEENTER:t.constructor.Event.FOCUSIN,i=e===En?t.constructor.Event.MOUSELEAVE:t.constructor.Event.FOCUSOUT;Z.on(t.element,n,t.config.selector,(function(e){return t._enter(e)})),Z.on(t.element,i,t.config.selector,(function(e){return t._leave(e)}))}})),this._hideModalHandler=function(){t.element&&t.hide()},Z.on($.closest(this.element,".modal"),"hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=r({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},i._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},i._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||A.getData(t.delegateTarget,n))||(e=new this.constructor(t.delegateTarget,this._getDelegateConfig()),A.setData(t.delegateTarget,n,e)),t&&(e._activeTrigger["focusin"===t.type?yn:En]=!0),e.getTipElement().classList.contains(mn)||e._hoverState===dn?e._hoverState=dn:(clearTimeout(e._timeout),e._hoverState=dn,e.config.delay&&e.config.delay.show?e._timeout=setTimeout((function(){e._hoverState===dn&&e.show()}),e.config.delay.show):e.show())},i._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||A.getData(t.delegateTarget,n))||(e=new this.constructor(t.delegateTarget,this._getDelegateConfig()),A.setData(t.delegateTarget,n,e)),t&&(e._activeTrigger["focusout"===t.type?yn:En]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=gn,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout((function(){e._hoverState===gn&&e.hide()}),e.config.delay.hide):e.hide())},i._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},i._getConfig=function(t){var e=It.getDataAttributes(this.element);return Object.keys(e).forEach((function(t){-1!==cn.indexOf(t)&&delete e[t]})),t&&"object"==typeof t.container&&t.container.jquery&&(t.container=t.container[0]),"number"==typeof(t=r({},this.constructor.Default,{},e,{},"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),v(an,t,this.constructor.DefaultType),t.sanitize&&(t.template=sn(t.template,t.whiteList,t.sanitizeFn)),t},i._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},i._cleanTipClass=function(){var t=this.getTipElement(),e=t.getAttribute("class").match(ln);null!==e&&e.length&&e.map((function(t){return t.trim()})).forEach((function(e){return t.classList.remove(e)}))},i._handlePopperPlacementChange=function(t){var e=t.instance;this.tip=e.popper,this._cleanTipClass(),this._addAttachmentClass(this._getAttachment(t.placement))},i._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(t.classList.remove(_n),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},e.jQueryInterface=function(t){return this.each((function(){var n=A.getData(this,"bs.tooltip"),i="object"==typeof t&&t;if((n||!/dispose|hide/.test(t))&&(n||(n=new e(this,i)),"string"==typeof t)){if("undefined"==typeof n[t])throw new TypeError('No method named "'+t+'"');n[t]()}}))},e.getInstance=function(t){return A.getData(t,"bs.tooltip")},n(e,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return hn}},{key:"NAME",get:function(){return an}},{key:"DATA_KEY",get:function(){return"bs.tooltip"}},{key:"Event",get:function(){return pn}},{key:"EVENT_KEY",get:function(){return".bs.tooltip"}},{key:"DefaultType",get:function(){return un}}]),e}(),In=T();if(In){var An=In.fn.tooltip;In.fn.tooltip=Tn.jQueryInterface,In.fn.tooltip.Constructor=Tn,In.fn.tooltip.noConflict=function(){return In.fn.tooltip=An,Tn.jQueryInterface}}var Sn="popover",wn=new RegExp("(^|\\s)bs-popover\\S+","g"),Cn=r({},Tn.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),Ln=r({},Tn.DefaultType,{content:"(string|element|function)"}),On="fade",Nn="show",kn=".popover-header",Pn=".popover-body",Hn={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"},jn=function(t){var e,i;function o(){return t.apply(this,arguments)||this}i=t,(e=o).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i;var r=o.prototype;return r.isWithContent=function(){return this.getTitle()||this._getContent()},r.setContent=function(){var t=this.getTipElement();this.setElementContent($.findOne(kn,t),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent($.findOne(Pn,t),e),t.classList.remove(On),t.classList.remove(Nn)},r._addAttachmentClass=function(t){this.getTipElement().classList.add("bs-popover-"+t)},r._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},r._cleanTipClass=function(){var t=this.getTipElement(),e=t.getAttribute("class").match(wn);null!==e&&e.length>0&&e.map((function(t){return t.trim()})).forEach((function(e){return t.classList.remove(e)}))},o.jQueryInterface=function(t){return this.each((function(){var e=A.getData(this,"bs.popover"),n="object"==typeof t?t:null;if((e||!/dispose|hide/.test(t))&&(e||(e=new o(this,n),A.setData(this,"bs.popover",e)),"string"==typeof t)){if("undefined"==typeof e[t])throw new TypeError('No method named "'+t+'"');e[t]()}}))},o.getInstance=function(t){return A.getData(t,"bs.popover")},n(o,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Cn}},{key:"NAME",get:function(){return Sn}},{key:"DATA_KEY",get:function(){return"bs.popover"}},{key:"Event",get:function(){return Hn}},{key:"EVENT_KEY",get:function(){return".bs.popover"}},{key:"DefaultType",get:function(){return Ln}}]),o}(Tn),Mn=T();if(Mn){var Rn=Mn.fn.popover;Mn.fn.popover=jn.jQueryInterface,Mn.fn.popover.Constructor=jn,Mn.fn.popover.noConflict=function(){return Mn.fn.popover=Rn,jn.jQueryInterface}}var xn="scrollspy",Wn="bs.scrollspy",Un="."+Wn,Kn={offset:10,method:"auto",target:""},Vn={offset:"number",method:"string",target:"(string|element)"},Bn={ACTIVATE:"activate"+Un,SCROLL:"scroll"+Un,LOAD_DATA_API:"load"+Un+".data-api"},Fn={DROPDOWN_ITEM:"dropdown-item",ACTIVE:"active"},Qn={DATA_SPY:'[data-spy="scroll"]',NAV_LIST_GROUP:".nav, .list-group",NAV_LINKS:".nav-link",NAV_ITEMS:".nav-item",LIST_ITEMS:".list-group-item",DROPDOWN:".dropdown",DROPDOWN_TOGGLE:".dropdown-toggle"},Yn="offset",Gn="position",Xn=function(){function t(t,e){var n=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(e),this._selector=this._config.target+" "+Qn.NAV_LINKS+","+this._config.target+" "+Qn.LIST_ITEMS+","+this._config.target+" ."+Fn.DROPDOWN_ITEM,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,Z.on(this._scrollElement,Bn.SCROLL,(function(t){return n._process(t)})),this.refresh(),this._process(),A.setData(t,Wn,this)}var e=t.prototype;return e.refresh=function(){var t=this,e=this._scrollElement===this._scrollElement.window?Yn:Gn,n="auto"===this._config.method?e:this._config.method,i=n===Gn?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),E($.find(this._selector)).map((function(t){var e,o=h(t);if(o&&(e=$.findOne(o)),e){var r=e.getBoundingClientRect();if(r.width||r.height)return[It[n](e).top+i,o]}return null})).filter((function(t){return t})).sort((function(t,e){return t[0]-e[0]})).forEach((function(e){t._offsets.push(e[0]),t._targets.push(e[1])}))},e.dispose=function(){A.removeData(this._element,Wn),Z.off(this._scrollElement,Un),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},e._getConfig=function(t){if("string"!=typeof(t=r({},Kn,{},"object"==typeof t&&t?t:{})).target){var e=t.target.id;e||(e=u(xn),t.target.id=e),t.target="#"+e}return v(xn,t,Vn),t},e._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},e._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},e._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},e._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&("undefined"==typeof this._offsets[o+1]||t<this._offsets[o+1])&&this._activate(this._targets[o])}}},e._activate=function(t){this._activeTarget=t,this._clear();var e=this._selector.split(",").map((function(e){return e+'[data-target="'+t+'"],'+e+'[href="'+t+'"]'})),n=$.findOne(e.join(","));n.classList.contains(Fn.DROPDOWN_ITEM)?($.findOne(Qn.DROPDOWN_TOGGLE,$.closest(n,Qn.DROPDOWN)).classList.add(Fn.ACTIVE),n.classList.add(Fn.ACTIVE)):(n.classList.add(Fn.ACTIVE),$.parents(n,Qn.NAV_LIST_GROUP).forEach((function(t){$.prev(t,Qn.NAV_LINKS+", "+Qn.LIST_ITEMS).forEach((function(t){return t.classList.add(Fn.ACTIVE)})),$.prev(t,Qn.NAV_ITEMS).forEach((function(t){$.children(t,Qn.NAV_LINKS).forEach((function(t){return t.classList.add(Fn.ACTIVE)}))}))}))),Z.trigger(this._scrollElement,Bn.ACTIVATE,{relatedTarget:t})},e._clear=function(){E($.find(this._selector)).filter((function(t){return t.classList.contains(Fn.ACTIVE)})).forEach((function(t){return t.classList.remove(Fn.ACTIVE)}))},t.jQueryInterface=function(e){return this.each((function(){var n=A.getData(this,Wn);if(n||(n=new t(this,"object"==typeof e&&e)),"string"==typeof e){if("undefined"==typeof n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},t.getInstance=function(t){return A.getData(t,Wn)},n(t,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Kn}}]),t}();Z.on(window,Bn.LOAD_DATA_API,(function(){E($.find(Qn.DATA_SPY)).forEach((function(t){return new Xn(t,It.getDataAttributes(t))}))}));var qn=T();if(qn){var zn=qn.fn[xn];qn.fn[xn]=Xn.jQueryInterface,qn.fn[xn].Constructor=Xn,qn.fn[xn].noConflict=function(){return qn.fn[xn]=zn,Xn.jQueryInterface}}var Zn="bs.tab",$n="."+Zn,Jn={HIDE:"hide"+$n,HIDDEN:"hidden"+$n,SHOW:"show"+$n,SHOWN:"shown"+$n,CLICK_DATA_API:"click"+$n+".data-api"},ti="dropdown-menu",ei="active",ni="disabled",ii="fade",oi="show",ri=".dropdown",si=".nav, .list-group",ai=".active",li=":scope > li > .active",ci='[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',ui=".dropdown-toggle",fi=":scope > .dropdown-menu .active",hi=function(){function t(t){this._element=t,A.setData(this._element,Zn,this)}var e=t.prototype;return e.show=function(){var t=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&this._element.classList.contains(ei)||this._element.classList.contains(ni))){var e,n=d(this._element),i=$.closest(this._element,si);if(i){var o="UL"===i.nodeName||"OL"===i.nodeName?li:ai;e=(e=E($.find(o,i)))[e.length-1]}var r=null;if(e&&(r=Z.trigger(e,Jn.HIDE,{relatedTarget:this._element})),!(Z.trigger(this._element,Jn.SHOW,{relatedTarget:e}).defaultPrevented||null!==r&&r.defaultPrevented)){this._activate(this._element,i);var s=function(){Z.trigger(e,Jn.HIDDEN,{relatedTarget:t._element}),Z.trigger(t._element,Jn.SHOWN,{relatedTarget:e})};n?this._activate(n,n.parentNode,s):s()}}},e.dispose=function(){A.removeData(this._element,Zn),this._element=null},e._activate=function(t,e,n){var i=this,o=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?$.children(e,ai):$.find(li,e))[0],r=n&&o&&o.classList.contains(ii),s=function(){return i._transitionComplete(t,o,n)};if(o&&r){var a=g(o);o.classList.remove(oi),Z.one(o,c,s),m(o,a)}else s()},e._transitionComplete=function(t,e,n){if(e){e.classList.remove(ei);var i=$.findOne(fi,e.parentNode);i&&i.classList.remove(ei),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}(t.classList.add(ei),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),D(t),t.classList.contains(ii)&&t.classList.add(oi),t.parentNode&&t.parentNode.classList.contains(ti))&&($.closest(t,ri)&&E($.find(ui)).forEach((function(t){return t.classList.add(ei)})),t.setAttribute("aria-expanded",!0));n&&n()},t.jQueryInterface=function(e){return this.each((function(){var n=A.getData(this,Zn)||new t(this);if("string"==typeof e){if("undefined"==typeof n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},t.getInstance=function(t){return A.getData(t,Zn)},n(t,null,[{key:"VERSION",get:function(){return"4.3.1"}}]),t}();Z.on(document,Jn.CLICK_DATA_API,ci,(function(t){t.preventDefault(),(A.getData(this,Zn)||new hi(this)).show()}));var di=T();if(di){var gi=di.fn.tab;di.fn.tab=hi.jQueryInterface,di.fn.tab.Constructor=hi,di.fn.tab.noConflict=function(){return di.fn.tab=gi,hi.jQueryInterface}}var pi="bs.toast",_i="."+pi,mi={CLICK_DISMISS:"click.dismiss"+_i,HIDE:"hide"+_i,HIDDEN:"hidden"+_i,SHOW:"show"+_i,SHOWN:"shown"+_i},vi="fade",Ei="hide",yi="show",bi="showing",Di={animation:"boolean",autohide:"boolean",delay:"number"},Ti={animation:!0,autohide:!0,delay:500},Ii='[data-dismiss="toast"]',Ai=function(){function t(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners(),A.setData(t,pi,this)}var e=t.prototype;return e.show=function(){var t=this;if(!Z.trigger(this._element,mi.SHOW).defaultPrevented){this._config.animation&&this._element.classList.add(vi);var e=function(){t._element.classList.remove(bi),t._element.classList.add(yi),Z.trigger(t._element,mi.SHOWN),t._config.autohide&&(t._timeout=setTimeout((function(){t.hide()}),t._config.delay))};if(this._element.classList.remove(Ei),D(this._element),this._element.classList.add(bi),this._config.animation){var n=g(this._element);Z.one(this._element,c,e),m(this._element,n)}else e()}},e.hide=function(){var t=this;if(this._element.classList.contains(yi)&&!Z.trigger(this._element,mi.HIDE).defaultPrevented){var e=function(){t._element.classList.add(Ei),Z.trigger(t._element,mi.HIDDEN)};if(this._element.classList.remove(yi),this._config.animation){var n=g(this._element);Z.one(this._element,c,e),m(this._element,n)}else e()}},e.dispose=function(){clearTimeout(this._timeout),this._timeout=null,this._element.classList.contains(yi)&&this._element.classList.remove(yi),Z.off(this._element,mi.CLICK_DISMISS),A.removeData(this._element,pi),this._element=null,this._config=null},e._getConfig=function(t){return t=r({},Ti,{},It.getDataAttributes(this._element),{},"object"==typeof t&&t?t:{}),v("toast",t,this.constructor.DefaultType),t},e._setListeners=function(){var t=this;Z.on(this._element,mi.CLICK_DISMISS,Ii,(function(){return t.hide()}))},t.jQueryInterface=function(e){return this.each((function(){var n=A.getData(this,pi);if(n||(n=new t(this,"object"==typeof e&&e)),"string"==typeof e){if("undefined"==typeof n[e])throw new TypeError('No method named "'+e+'"');n[e](this)}}))},t.getInstance=function(t){return A.getData(t,pi)},n(t,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"DefaultType",get:function(){return Di}},{key:"Default",get:function(){return Ti}}]),t}(),Si=T();if(Si){var wi=Si.fn.toast;Si.fn.toast=Ai.jQueryInterface,Si.fn.toast.Constructor=Ai,Si.fn.toast.noConflict=function(){return Si.fn.toast=wi,Ai.jQueryInterface}}return{Alert:rt,Button:Et,Carousel:Qt,Collapse:ae,Dropdown:je,Modal:Ze,Popover:jn,ScrollSpy:Xn,Tab:hi,Toast:Ai,Tooltip:Tn}}));
+!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("popper.js")):"function"==typeof define&&define.amd?define(["popper.js"],e):(t=t||self).bootstrap=e(t.Popper)}(this,(function(t){"use strict";function e(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function n(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}function i(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function o(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function s(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?o(Object(n),!0).forEach((function(e){i(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}t=t&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t;var r,a,l,c,u=function(t){do{t+=~~(1e6*Math.random())}while(document.getElementById(t));return t},h=function(t){var e=t.getAttribute("data-target");if(!e||"#"===e){var n=t.getAttribute("href");e=n&&"#"!==n?n.trim():null}return e},f=function(t){var e=h(t);return e&&document.querySelector(e)?e:null},d=function(t){var e=h(t);return e?document.querySelector(e):null},g=function(t){if(!t)return 0;var e=window.getComputedStyle(t),n=e.transitionDuration,i=e.transitionDelay,o=parseFloat(n),s=parseFloat(i);return o||s?(n=n.split(",")[0],i=i.split(",")[0],1e3*(parseFloat(n)+parseFloat(i))):0},p=function(t){t.dispatchEvent(new Event("transitionend"))},m=function(t){return(t[0]||t).nodeType},_=function(t,e){var n=!1,i=e+5;t.addEventListener("transitionend",(function e(){n=!0,t.removeEventListener("transitionend",e)})),setTimeout((function(){n||p(t)}),i)},v=function(t,e,n){Object.keys(n).forEach((function(i){var o,s=n[i],r=e[i],a=r&&m(r)?"element":null==(o=r)?""+o:{}.toString.call(o).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(s).test(a))throw new Error(t.toUpperCase()+': Option "'+i+'" provided type "'+a+'" but expected type "'+s+'".')}))},b=function(t){if(!t)return!1;if(t.style&&t.parentNode&&t.parentNode.style){var e=getComputedStyle(t),n=getComputedStyle(t.parentNode);return"none"!==e.display&&"none"!==n.display&&"hidden"!==e.visibility}return!1},y=function(){return function(){}},w=function(t){return t.offsetHeight},E=function(){var t=window.jQuery;return t&&!document.body.hasAttribute("data-no-jquery")?t:null},T=(r={},a=1,{set:function(t,e,n){void 0===t.key&&(t.key={key:e,id:a},a++),r[t.key.id]=n},get:function(t,e){if(!t||void 0===t.key)return null;var n=t.key;return n.key===e?r[n.id]:null},delete:function(t,e){if(void 0!==t.key){var n=t.key;n.key===e&&(delete r[n.id],delete t.key)}}}),L=function(t,e,n){T.set(t,e,n)},k=function(t,e){return T.get(t,e)},C=function(t,e){T.delete(t,e)},A=Element.prototype.querySelectorAll,S=Element.prototype.querySelector,O=(l=new CustomEvent("Bootstrap",{cancelable:!0}),(c=document.createElement("div")).addEventListener("Bootstrap",(function(){return null})),l.preventDefault(),c.dispatchEvent(l),l.defaultPrevented),D=/:scope\b/;(function(){var t=document.createElement("div");try{t.querySelectorAll(":scope *")}catch(t){return!1}return!0})()||(A=function(t){if(!D.test(t))return this.querySelectorAll(t);var e=Boolean(this.id);e||(this.id=u("scope"));var n=null;try{t=t.replace(D,"#"+this.id),n=this.querySelectorAll(t)}finally{e||this.removeAttribute("id")}return n},S=function(t){if(!D.test(t))return this.querySelector(t);var e=A.call(this,t);return void 0!==e[0]?e[0]:null});var I=E(),N=/[^.]*(?=\..*)\.|.*/,j=/\..*/,P=/^key/,x=/::\d+$/,R={},H=1,B={mouseenter:"mouseover",mouseleave:"mouseout"},M=["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"];function Q(t,e){return e&&e+"::"+H++||t.uidEvent||H++}function U(t){var e=Q(t);return t.uidEvent=e,R[e]=R[e]||{},R[e]}function F(t,e){null===t.which&&P.test(t.type)&&(t.which=null===t.charCode?t.keyCode:t.charCode),t.delegateTarget=e}function W(t,e,n){void 0===n&&(n=null);for(var i=Object.keys(t),o=0,s=i.length;o<s;o++){var r=t[i[o]];if(r.originalHandler===e&&r.delegationSelector===n)return r}return null}function V(t,e,n){var i="string"==typeof e,o=i?n:e,s=t.replace(j,""),r=B[s];return r&&(s=r),M.indexOf(s)>-1||(s=t),[i,o,s]}function q(t,e,n,i,o){if("string"==typeof e&&t){n||(n=i,i=null);var s=V(e,n,i),r=s[0],a=s[1],l=s[2],c=U(t),u=c[l]||(c[l]={}),h=W(u,a,r?n:null);if(h)h.oneOff=h.oneOff&&o;else{var f=Q(a,e.replace(N,"")),d=r?function(t,e,n){return function i(o){for(var s=t.querySelectorAll(e),r=o.target;r&&r!==this;r=r.parentNode)for(var a=s.length;a--;)if(s[a]===r)return F(o,r),i.oneOff&&K.off(t,o.type,n),n.apply(r,[o]);return null}}(t,n,i):function(t,e){return function n(i){return F(i,t),n.oneOff&&K.off(t,i.type,e),e.apply(t,[i])}}(t,n);d.delegationSelector=r?n:null,d.originalHandler=a,d.oneOff=o,d.uidEvent=f,u[f]=d,t.addEventListener(l,d,r)}}}function z(t,e,n,i,o){var s=W(e[n],i,o);s&&(t.removeEventListener(n,s,Boolean(o)),delete e[n][s.uidEvent])}var K={on:function(t,e,n,i){q(t,e,n,i,!1)},one:function(t,e,n,i){q(t,e,n,i,!0)},off:function(t,e,n,i){if("string"==typeof e&&t){var o=V(e,n,i),s=o[0],r=o[1],a=o[2],l=a!==e,c=U(t),u="."===e.charAt(0);if(void 0===r){u&&Object.keys(c).forEach((function(n){!function(t,e,n,i){var o=e[n]||{};Object.keys(o).forEach((function(s){if(s.indexOf(i)>-1){var r=o[s];z(t,e,n,r.originalHandler,r.delegationSelector)}}))}(t,c,n,e.slice(1))}));var h=c[a]||{};Object.keys(h).forEach((function(n){var i=n.replace(x,"");if(!l||e.indexOf(i)>-1){var o=h[n];z(t,c,a,o.originalHandler,o.delegationSelector)}}))}else{if(!c||!c[a])return;z(t,c,a,r,s?n:null)}}},trigger:function(t,e,n){if("string"!=typeof e||!t)return null;var i,o=e.replace(j,""),s=e!==o,r=M.indexOf(o)>-1,a=!0,l=!0,c=!1,u=null;return s&&I&&(i=I.Event(e,n),I(t).trigger(i),a=!i.isPropagationStopped(),l=!i.isImmediatePropagationStopped(),c=i.isDefaultPrevented()),r?(u=document.createEvent("HTMLEvents")).initEvent(o,a,!0):u=new CustomEvent(e,{bubbles:a,cancelable:!0}),void 0!==n&&Object.keys(n).forEach((function(t){Object.defineProperty(u,t,{get:function(){return n[t]}})})),c&&(u.preventDefault(),O||Object.defineProperty(u,"defaultPrevented",{get:function(){return!0}})),l&&t.dispatchEvent(u),u.defaultPrevented&&void 0!==i&&i.preventDefault(),u}},X={matches:function(t,e){return t.matches(e)},find:function(t,e){var n;return void 0===e&&(e=document.documentElement),(n=[]).concat.apply(n,A.call(e,t))},findOne:function(t,e){return void 0===e&&(e=document.documentElement),S.call(e,t)},children:function(t,e){var n,i=(n=[]).concat.apply(n,t.children);return i.filter((function(t){return t.matches(e)}))},parents:function(t,e){for(var n=[],i=t.parentNode;i&&i.nodeType===Node.ELEMENT_NODE&&3!==i.nodeType;)this.matches(i,e)&&n.push(i),i=i.parentNode;return n},closest:function(t,e){return t.closest(e)},prev:function(t,e){for(var n=t.previousElementSibling;n;){if(n.matches(e))return[n];n=n.previousElementSibling}return[]},next:function(t,e){for(var n=t.nextElementSibling;n;){if(this.matches(n,e))return[n];n=n.nextElementSibling}return[]}},Y="alert",$=function(){function t(t){this._element=t,this._element&&L(t,"bs.alert",this)}var e=t.prototype;return e.close=function(t){var e=this._element;t&&(e=this._getRootElement(t));var n=this._triggerCloseEvent(e);null===n||n.defaultPrevented||this._removeElement(e)},e.dispose=function(){C(this._element,"bs.alert"),this._element=null},e._getRootElement=function(t){var e=d(t);return e||(e=X.closest(t,".alert")),e},e._triggerCloseEvent=function(t){return K.trigger(t,"close.bs.alert")},e._removeElement=function(t){var e=this;if(t.classList.remove("show"),t.classList.contains("fade")){var n=g(t);K.one(t,"transitionend",(function(){return e._destroyElement(t)})),_(t,n)}else this._destroyElement(t)},e._destroyElement=function(t){t.parentNode&&t.parentNode.removeChild(t),K.trigger(t,"closed.bs.alert")},t.jQueryInterface=function(e){return this.each((function(){var n=k(this,"bs.alert");n||(n=new t(this)),"close"===e&&n[e](this)}))},t.handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},t.getInstance=function(t){return k(t,"bs.alert")},n(t,null,[{key:"VERSION",get:function(){return"4.3.1"}}]),t}();K.on(document,"click.bs.alert.data-api",'[data-dismiss="alert"]',$.handleDismiss(new $));var G=E();if(G){var Z=G.fn[Y];G.fn[Y]=$.jQueryInterface,G.fn[Y].Constructor=$,G.fn[Y].noConflict=function(){return G.fn[Y]=Z,$.jQueryInterface}}var J=function(){function t(t){this._element=t,L(t,"bs.button",this)}var e=t.prototype;return e.toggle=function(){var t=!0,e=!0,n=X.closest(this._element,'[data-toggle="buttons"]');if(n){var i=X.findOne('input:not([type="hidden"])',this._element);if(i&&"radio"===i.type){if(i.checked&&this._element.classList.contains("active"))t=!1;else{var o=X.findOne(".active",n);o&&o.classList.remove("active")}if(t){if(i.hasAttribute("disabled")||n.hasAttribute("disabled")||i.classList.contains("disabled")||n.classList.contains("disabled"))return;i.checked=!this._element.classList.contains("active"),K.trigger(i,"change")}i.focus(),e=!1}}e&&this._element.setAttribute("aria-pressed",!this._element.classList.contains("active")),t&&this._element.classList.toggle("active")},e.dispose=function(){C(this._element,"bs.button"),this._element=null},t.jQueryInterface=function(e){return this.each((function(){var n=k(this,"bs.button");n||(n=new t(this)),"toggle"===e&&n[e]()}))},t.getInstance=function(t){return k(t,"bs.button")},n(t,null,[{key:"VERSION",get:function(){return"4.3.1"}}]),t}();K.on(document,"click.bs.button.data-api",'[data-toggle^="button"]',(function(t){t.preventDefault();var e=t.target;e.classList.contains("btn")||(e=X.closest(e,".btn"));var n=k(e,"bs.button");n||(n=new J(e)),n.toggle()})),K.on(document,"focus.bs.button.data-api",'[data-toggle^="button"]',(function(t){var e=X.closest(t.target,".btn");e&&e.classList.add("focus")})),K.on(document,"blur.bs.button.data-api",'[data-toggle^="button"]',(function(t){var e=X.closest(t.target,".btn");e&&e.classList.remove("focus")}));var tt=E();if(tt){var et=tt.fn.button;tt.fn.button=J.jQueryInterface,tt.fn.button.Constructor=J,tt.fn.button.noConflict=function(){return tt.fn.button=et,J.jQueryInterface}}function nt(t){return"true"===t||"false"!==t&&(t===Number(t).toString()?Number(t):""===t||"null"===t?null:t)}function it(t){return t.replace(/[A-Z]/g,(function(t){return"-"+t.toLowerCase()}))}var ot={setDataAttribute:function(t,e,n){t.setAttribute("data-"+it(e),n)},removeDataAttribute:function(t,e){t.removeAttribute("data-"+it(e))},getDataAttributes:function(t){if(!t)return{};var e=s({},t.dataset);return Object.keys(e).forEach((function(t){e[t]=nt(e[t])})),e},getDataAttribute:function(t,e){return nt(t.getAttribute("data-"+it(e)))},offset:function(t){var e=t.getBoundingClientRect();return{top:e.top+document.body.scrollTop,left:e.left+document.body.scrollLeft}},position:function(t){return{top:t.offsetTop,left:t.offsetLeft}},toggleClass:function(t,e){t&&(t.classList.contains(e)?t.classList.remove(e):t.classList.add(e))}},st="carousel",rt=".bs.carousel",at={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},lt={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},ct={TOUCH:"touch",PEN:"pen"},ut=function(){function t(t,e){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(e),this._element=t,this._indicatorsElement=X.findOne(".carousel-indicators",this._element),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent||window.MSPointerEvent),this._addEventListeners(),L(t,"bs.carousel",this)}var e=t.prototype;return e.next=function(){this._isSliding||this._slide("next")},e.nextWhenVisible=function(){!document.hidden&&b(this._element)&&this.next()},e.prev=function(){this._isSliding||this._slide("prev")},e.pause=function(t){t||(this._isPaused=!0),X.findOne(".carousel-item-next, .carousel-item-prev",this._element)&&(p(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},e.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config&&this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},e.to=function(t){var e=this;this._activeElement=X.findOne(".active.carousel-item",this._element);var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)K.one(this._element,"slid.bs.carousel",(function(){return e.to(t)}));else{if(n===t)return this.pause(),void this.cycle();var i=t>n?"next":"prev";this._slide(i,this._items[t])}},e.dispose=function(){K.off(this._element,rt),C(this._element,"bs.carousel"),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},e._getConfig=function(t){return t=s({},at,{},t),v(st,t,lt),t},e._handleSwipe=function(){var t=Math.abs(this.touchDeltaX);if(!(t<=40)){var e=t/this.touchDeltaX;this.touchDeltaX=0,e>0&&this.prev(),e<0&&this.next()}},e._addEventListeners=function(){var t=this;this._config.keyboard&&K.on(this._element,"keydown.bs.carousel",(function(e){return t._keydown(e)})),"hover"===this._config.pause&&(K.on(this._element,"mouseenter.bs.carousel",(function(e){return t.pause(e)})),K.on(this._element,"mouseleave.bs.carousel",(function(e){return t.cycle(e)}))),this._config.touch&&this._touchSupported&&this._addTouchEventListeners()},e._addTouchEventListeners=function(){var t=this,e=function(e){t._pointerEvent&&ct[e.pointerType.toUpperCase()]?t.touchStartX=e.clientX:t._pointerEvent||(t.touchStartX=e.touches[0].clientX)},n=function(e){t._pointerEvent&&ct[e.pointerType.toUpperCase()]&&(t.touchDeltaX=e.clientX-t.touchStartX),t._handleSwipe(),"hover"===t._config.pause&&(t.pause(),t.touchTimeout&&clearTimeout(t.touchTimeout),t.touchTimeout=setTimeout((function(e){return t.cycle(e)}),500+t._config.interval))};X.find(".carousel-item img",this._element).forEach((function(t){K.on(t,"dragstart.bs.carousel",(function(t){return t.preventDefault()}))})),this._pointerEvent?(K.on(this._element,"pointerdown.bs.carousel",(function(t){return e(t)})),K.on(this._element,"pointerup.bs.carousel",(function(t){return n(t)})),this._element.classList.add("pointer-event")):(K.on(this._element,"touchstart.bs.carousel",(function(t){return e(t)})),K.on(this._element,"touchmove.bs.carousel",(function(e){return function(e){e.touches&&e.touches.length>1?t.touchDeltaX=0:t.touchDeltaX=e.touches[0].clientX-t.touchStartX}(e)})),K.on(this._element,"touchend.bs.carousel",(function(t){return n(t)})))},e._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next()}},e._getItemIndex=function(t){return this._items=t&&t.parentNode?X.find(".carousel-item",t.parentNode):[],this._items.indexOf(t)},e._getItemByDirection=function(t,e){var n="next"===t,i="prev"===t,o=this._getItemIndex(e),s=this._items.length-1;if((i&&0===o||n&&o===s)&&!this._config.wrap)return e;var r=(o+("prev"===t?-1:1))%this._items.length;return-1===r?this._items[this._items.length-1]:this._items[r]},e._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),i=this._getItemIndex(X.findOne(".active.carousel-item",this._element));return K.trigger(this._element,"slide.bs.carousel",{relatedTarget:t,direction:e,from:i,to:n})},e._setActiveIndicatorElement=function(t){if(this._indicatorsElement){for(var e=X.find(".active",this._indicatorsElement),n=0;n<e.length;n++)e[n].classList.remove("active");var i=this._indicatorsElement.children[this._getItemIndex(t)];i&&i.classList.add("active")}},e._slide=function(t,e){var n,i,o,s=this,r=X.findOne(".active.carousel-item",this._element),a=this._getItemIndex(r),l=e||r&&this._getItemByDirection(t,r),c=this._getItemIndex(l),u=Boolean(this._interval);if("next"===t?(n="carousel-item-left",i="carousel-item-next",o="left"):(n="carousel-item-right",i="carousel-item-prev",o="right"),l&&l.classList.contains("active"))this._isSliding=!1;else if(!this._triggerSlideEvent(l,o).defaultPrevented&&r&&l){if(this._isSliding=!0,u&&this.pause(),this._setActiveIndicatorElement(l),this._element.classList.contains("slide")){l.classList.add(i),w(l),r.classList.add(n),l.classList.add(n);var h=parseInt(l.getAttribute("data-interval"),10);h?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=h):this._config.interval=this._config.defaultInterval||this._config.interval;var f=g(r);K.one(r,"transitionend",(function(){l.classList.remove(n),l.classList.remove(i),l.classList.add("active"),r.classList.remove("active"),r.classList.remove(i),r.classList.remove(n),s._isSliding=!1,setTimeout((function(){K.trigger(s._element,"slid.bs.carousel",{relatedTarget:l,direction:o,from:a,to:c})}),0)})),_(r,f)}else r.classList.remove("active"),l.classList.add("active"),this._isSliding=!1,K.trigger(this._element,"slid.bs.carousel",{relatedTarget:l,direction:o,from:a,to:c});u&&this.cycle()}},t.carouselInterface=function(e,n){var i=k(e,"bs.carousel"),o=s({},at,{},ot.getDataAttributes(e));"object"==typeof n&&(o=s({},o,{},n));var r="string"==typeof n?n:o.slide;if(i||(i=new t(e,o)),"number"==typeof n)i.to(n);else if("string"==typeof r){if(void 0===i[r])throw new TypeError('No method named "'+r+'"');i[r]()}else o.interval&&o.ride&&(i.pause(),i.cycle())},t.jQueryInterface=function(e){return this.each((function(){t.carouselInterface(this,e)}))},t.dataApiClickHandler=function(e){var n=d(this);if(n&&n.classList.contains("carousel")){var i=s({},ot.getDataAttributes(n),{},ot.getDataAttributes(this)),o=this.getAttribute("data-slide-to");o&&(i.interval=!1),t.carouselInterface(n,i),o&&k(n,"bs.carousel").to(o),e.preventDefault()}},t.getInstance=function(t){return k(t,"bs.carousel")},n(t,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return at}}]),t}();K.on(document,"click.bs.carousel.data-api","[data-slide], [data-slide-to]",ut.dataApiClickHandler),K.on(window,"load.bs.carousel.data-api",(function(){for(var t=X.find('[data-ride="carousel"]'),e=0,n=t.length;e<n;e++)ut.carouselInterface(t[e],k(t[e],"bs.carousel"))}));var ht=E();if(ht){var ft=ht.fn[st];ht.fn[st]=ut.jQueryInterface,ht.fn[st].Constructor=ut,ht.fn[st].noConflict=function(){return ht.fn[st]=ft,ut.jQueryInterface}}var dt="collapse",gt={toggle:!0,parent:""},pt={toggle:"boolean",parent:"(string|element)"},mt=function(){function t(t,e){this._isTransitioning=!1,this._element=t,this._config=this._getConfig(e),this._triggerArray=X.find('[data-toggle="collapse"][href="#'+t.id+'"],[data-toggle="collapse"][data-target="#'+t.id+'"]');for(var n=X.find('[data-toggle="collapse"]'),i=0,o=n.length;i<o;i++){var s=n[i],r=f(s),a=X.find(r).filter((function(e){return e===t}));null!==r&&a.length&&(this._selector=r,this._triggerArray.push(s))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle(),L(t,"bs.collapse",this)}var e=t.prototype;return e.toggle=function(){this._element.classList.contains("show")?this.hide():this.show()},e.show=function(){var e=this;if(!this._isTransitioning&&!this._element.classList.contains("show")){var n,i;this._parent&&0===(n=X.find(".show, .collapsing",this._parent).filter((function(t){return"string"==typeof e._config.parent?t.getAttribute("data-parent")===e._config.parent:t.classList.contains("collapse")}))).length&&(n=null);var o=X.findOne(this._selector);if(n){var s=n.filter((function(t){return o!==t}));if((i=s[0]?k(s[0],"bs.collapse"):null)&&i._isTransitioning)return}if(!K.trigger(this._element,"show.bs.collapse").defaultPrevented){n&&n.forEach((function(e){o!==e&&t.collapseInterface(e,"hide"),i||L(e,"bs.collapse",null)}));var r=this._getDimension();this._element.classList.remove("collapse"),this._element.classList.add("collapsing"),this._element.style[r]=0,this._triggerArray.length&&this._triggerArray.forEach((function(t){t.classList.remove("collapsed"),t.setAttribute("aria-expanded",!0)})),this.setTransitioning(!0);var a="scroll"+(r[0].toUpperCase()+r.slice(1)),l=g(this._element);K.one(this._element,"transitionend",(function(){e._element.classList.remove("collapsing"),e._element.classList.add("collapse"),e._element.classList.add("show"),e._element.style[r]="",e.setTransitioning(!1),K.trigger(e._element,"shown.bs.collapse")})),_(this._element,l),this._element.style[r]=this._element[a]+"px"}}},e.hide=function(){var t=this;if(!this._isTransitioning&&this._element.classList.contains("show")&&!K.trigger(this._element,"hide.bs.collapse").defaultPrevented){var e=this._getDimension();this._element.style[e]=this._element.getBoundingClientRect()[e]+"px",w(this._element),this._element.classList.add("collapsing"),this._element.classList.remove("collapse"),this._element.classList.remove("show");var n=this._triggerArray.length;if(n>0)for(var i=0;i<n;i++){var o=this._triggerArray[i],s=d(o);s&&!s.classList.contains("show")&&(o.classList.add("collapsed"),o.setAttribute("aria-expanded",!1))}this.setTransitioning(!0);this._element.style[e]="";var r=g(this._element);K.one(this._element,"transitionend",(function(){t.setTransitioning(!1),t._element.classList.remove("collapsing"),t._element.classList.add("collapse"),K.trigger(t._element,"hidden.bs.collapse")})),_(this._element,r)}},e.setTransitioning=function(t){this._isTransitioning=t},e.dispose=function(){C(this._element,"bs.collapse"),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},e._getConfig=function(t){return(t=s({},gt,{},t)).toggle=Boolean(t.toggle),v(dt,t,pt),t},e._getDimension=function(){return this._element.classList.contains("width")?"width":"height"},e._getParent=function(){var t=this,e=this._config.parent;m(e)?void 0===e.jquery&&void 0===e[0]||(e=e[0]):e=X.findOne(e);var n='[data-toggle="collapse"][data-parent="'+e+'"]';return X.find(n,e).forEach((function(e){var n=d(e);t._addAriaAndCollapsedClass(n,[e])})),e},e._addAriaAndCollapsedClass=function(t,e){if(t){var n=t.classList.contains("show");e.length&&e.forEach((function(t){n?t.classList.remove("collapsed"):t.classList.add("collapsed"),t.setAttribute("aria-expanded",n)}))}},t.collapseInterface=function(e,n){var i=k(e,"bs.collapse"),o=s({},gt,{},ot.getDataAttributes(e),{},"object"==typeof n&&n?n:{});if(!i&&o.toggle&&/show|hide/.test(n)&&(o.toggle=!1),i||(i=new t(e,o)),"string"==typeof n){if(void 0===i[n])throw new TypeError('No method named "'+n+'"');i[n]()}},t.jQueryInterface=function(e){return this.each((function(){t.collapseInterface(this,e)}))},t.getInstance=function(t){return k(t,"bs.collapse")},n(t,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return gt}}]),t}();K.on(document,"click.bs.collapse.data-api",'[data-toggle="collapse"]',(function(t){"A"===t.target.tagName&&t.preventDefault();var e=ot.getDataAttributes(this),n=f(this);X.find(n).forEach((function(t){var n,i=k(t,"bs.collapse");i?(null===i._parent&&"string"==typeof e.parent&&(i._config.parent=e.parent,i._parent=i._getParent()),n="toggle"):n=e,mt.collapseInterface(t,n)}))}));var _t=E();if(_t){var vt=_t.fn[dt];_t.fn[dt]=mt.jQueryInterface,_t.fn[dt].Constructor=mt,_t.fn[dt].noConflict=function(){return _t.fn[dt]=vt,mt.jQueryInterface}}var bt="dropdown",yt=new RegExp("38|40|27"),wt={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic",popperConfig:null},Et={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string",popperConfig:"(null|object)"},Tt=function(){function e(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners(),L(t,"bs.dropdown",this)}var i=e.prototype;return i.toggle=function(){if(!this._element.disabled&&!this._element.classList.contains("disabled")){var t=this._element.classList.contains("show");e.clearMenus(),t||this.show()}},i.show=function(){if(!(this._element.disabled||this._element.classList.contains("disabled")||this._menu.classList.contains("show"))){var n=e.getParentFromElement(this._element),i={relatedTarget:this._element};if(!K.trigger(this._element,"show.bs.dropdown",i).defaultPrevented){if(!this._inNavbar){if(void 0===t)throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org)");var o=this._element;"parent"===this._config.reference?o=n:m(this._config.reference)&&(o=this._config.reference,void 0!==this._config.reference.jquery&&(o=this._config.reference[0])),"scrollParent"!==this._config.boundary&&n.classList.add("position-static"),this._popper=new t(o,this._menu,this._getPopperConfig())}var s;if("ontouchstart"in document.documentElement&&!X.closest(n,".navbar-nav"))(s=[]).concat.apply(s,document.body.children).forEach((function(t){return K.on(t,"mouseover",null,(function(){}))}));this._element.focus(),this._element.setAttribute("aria-expanded",!0),ot.toggleClass(this._menu,"show"),ot.toggleClass(this._element,"show"),K.trigger(n,"shown.bs.dropdown",i)}}},i.hide=function(){if(!this._element.disabled&&!this._element.classList.contains("disabled")&&this._menu.classList.contains("show")){var t=e.getParentFromElement(this._element),n={relatedTarget:this._element};K.trigger(t,"hide.bs.dropdown",n).defaultPrevented||(this._popper&&this._popper.destroy(),ot.toggleClass(this._menu,"show"),ot.toggleClass(this._element,"show"),K.trigger(t,"hidden.bs.dropdown",n))}},i.dispose=function(){C(this._element,"bs.dropdown"),K.off(this._element,".bs.dropdown"),this._element=null,this._menu=null,this._popper&&(this._popper.destroy(),this._popper=null)},i.update=function(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.scheduleUpdate()},i._addEventListeners=function(){var t=this;K.on(this._element,"click.bs.dropdown",(function(e){e.preventDefault(),e.stopPropagation(),t.toggle()}))},i._getConfig=function(t){return t=s({},this.constructor.Default,{},ot.getDataAttributes(this._element),{},t),v(bt,t,this.constructor.DefaultType),t},i._getMenuElement=function(){return X.next(this._element,".dropdown-menu")[0]},i._getPlacement=function(){var t=this._element.parentNode,e="bottom-start";return t.classList.contains("dropup")?(e="top-start",this._menu.classList.contains("dropdown-menu-right")&&(e="top-end")):t.classList.contains("dropright")?e="right-start":t.classList.contains("dropleft")?e="left-start":this._menu.classList.contains("dropdown-menu-right")&&(e="bottom-end"),e},i._detectNavbar=function(){return Boolean(X.closest(this._element,".navbar"))},i._getOffset=function(){var t=this,e={};return"function"==typeof this._config.offset?e.fn=function(e){return e.offsets=s({},e.offsets,{},t._config.offset(e.offsets,t._element)||{}),e}:e.offset=this._config.offset,e},i._getPopperConfig=function(){var t={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(t.modifiers.applyStyle={enabled:!1}),s({},t,{},this._config.popperConfig)},e.dropdownInterface=function(t,n){var i=k(t,"bs.dropdown");if(i||(i=new e(t,"object"==typeof n?n:null)),"string"==typeof n){if(void 0===i[n])throw new TypeError('No method named "'+n+'"');i[n]()}},e.jQueryInterface=function(t){return this.each((function(){e.dropdownInterface(this,t)}))},e.clearMenus=function(t){if(!t||3!==t.which&&("keyup"!==t.type||9===t.which))for(var n=X.find('[data-toggle="dropdown"]'),i=0,o=n.length;i<o;i++){var s=e.getParentFromElement(n[i]),r=k(n[i],"bs.dropdown"),a={relatedTarget:n[i]};if(t&&"click"===t.type&&(a.clickEvent=t),r){var l=r._menu;if(n[i].classList.contains("show"))if(!(t&&("click"===t.type&&/input|textarea/i.test(t.target.tagName)||"keyup"===t.type&&9===t.which)&&l.contains(t.target)))if(!K.trigger(s,"hide.bs.dropdown",a).defaultPrevented){var c;if("ontouchstart"in document.documentElement)(c=[]).concat.apply(c,document.body.children).forEach((function(t){return K.off(t,"mouseover",null,(function(){}))}));n[i].setAttribute("aria-expanded","false"),r._popper&&r._popper.destroy(),l.classList.remove("show"),n[i].classList.remove("show"),K.trigger(s,"hidden.bs.dropdown",a)}}}},e.getParentFromElement=function(t){return d(t)||t.parentNode},e.dataApiKeydownHandler=function(t){if(!(/input|textarea/i.test(t.target.tagName)?32===t.which||27!==t.which&&(40!==t.which&&38!==t.which||X.closest(t.target,".dropdown-menu")):!yt.test(t.which))&&(t.preventDefault(),t.stopPropagation(),!this.disabled&&!this.classList.contains("disabled"))){var n=e.getParentFromElement(this),i=this.classList.contains("show");if(27===t.which)return(this.matches('[data-toggle="dropdown"]')?this:X.prev(this,'[data-toggle="dropdown"]')[0]).focus(),void e.clearMenus();if(i&&32!==t.which){var o=X.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",n).filter(b);if(o.length){var s=o.indexOf(t.target)||0;38===t.which&&s>0&&s--,40===t.which&&s<o.length-1&&s++,o[s].focus()}}else e.clearMenus()}},e.getInstance=function(t){return k(t,"bs.dropdown")},n(e,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return wt}},{key:"DefaultType",get:function(){return Et}}]),e}();K.on(document,"keydown.bs.dropdown.data-api",'[data-toggle="dropdown"]',Tt.dataApiKeydownHandler),K.on(document,"keydown.bs.dropdown.data-api",".dropdown-menu",Tt.dataApiKeydownHandler),K.on(document,"click.bs.dropdown.data-api",Tt.clearMenus),K.on(document,"keyup.bs.dropdown.data-api",Tt.clearMenus),K.on(document,"click.bs.dropdown.data-api",'[data-toggle="dropdown"]',(function(t){t.preventDefault(),t.stopPropagation(),Tt.dropdownInterface(this,"toggle")})),K.on(document,"click.bs.dropdown.data-api",".dropdown form",(function(t){return t.stopPropagation()}));var Lt=E();if(Lt){var kt=Lt.fn[bt];Lt.fn[bt]=Tt.jQueryInterface,Lt.fn[bt].Constructor=Tt,Lt.fn[bt].noConflict=function(){return Lt.fn[bt]=kt,Tt.jQueryInterface}}var Ct={backdrop:!0,keyboard:!0,focus:!0,show:!0},At={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},St=function(){function t(t,e){this._config=this._getConfig(e),this._element=t,this._dialog=X.findOne(".modal-dialog",t),this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollbarWidth=0,L(t,"bs.modal",this)}var e=t.prototype;return e.toggle=function(t){return this._isShown?this.hide():this.show(t)},e.show=function(t){var e=this;if(!this._isShown&&!this._isTransitioning){this._element.classList.contains("fade")&&(this._isTransitioning=!0);var n=K.trigger(this._element,"show.bs.modal",{relatedTarget:t});this._isShown||n.defaultPrevented||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),K.on(this._element,"click.dismiss.bs.modal",'[data-dismiss="modal"]',(function(t){return e.hide(t)})),K.on(this._dialog,"mousedown.dismiss.bs.modal",(function(){K.one(e._element,"mouseup.dismiss.bs.modal",(function(t){t.target===e._element&&(e._ignoreBackdropClick=!0)}))})),this._showBackdrop((function(){return e._showElement(t)})))}},e.hide=function(t){var e=this;if((t&&t.preventDefault(),this._isShown&&!this._isTransitioning)&&!K.trigger(this._element,"hide.bs.modal").defaultPrevented){this._isShown=!1;var n=this._element.classList.contains("fade");if(n&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),K.off(document,"focusin.bs.modal"),this._element.classList.remove("show"),K.off(this._element,"click.dismiss.bs.modal"),K.off(this._dialog,"mousedown.dismiss.bs.modal"),n){var i=g(this._element);K.one(this._element,"transitionend",(function(t){return e._hideModal(t)})),_(this._element,i)}else this._hideModal()}},e.dispose=function(){[window,this._element,this._dialog].forEach((function(t){return K.off(t,".bs.modal")})),K.off(document,"focusin.bs.modal"),C(this._element,"bs.modal"),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._isTransitioning=null,this._scrollbarWidth=null},e.handleUpdate=function(){this._adjustDialog()},e._getConfig=function(t){return t=s({},Ct,{},t),v("modal",t,At),t},e._showElement=function(t){var e=this,n=this._element.classList.contains("fade"),i=X.findOne(".modal-body",this._dialog);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._dialog.classList.contains("modal-dialog-scrollable")&&i?i.scrollTop=0:this._element.scrollTop=0,n&&w(this._element),this._element.classList.add("show"),this._config.focus&&this._enforceFocus();var o=function(){e._config.focus&&e._element.focus(),e._isTransitioning=!1,K.trigger(e._element,"shown.bs.modal",{relatedTarget:t})};if(n){var s=g(this._dialog);K.one(this._dialog,"transitionend",o),_(this._dialog,s)}else o()},e._enforceFocus=function(){var t=this;K.off(document,"focusin.bs.modal"),K.on(document,"focusin.bs.modal",(function(e){document===e.target||t._element===e.target||t._element.contains(e.target)||t._element.focus()}))},e._setEscapeEvent=function(){var t=this;this._isShown?K.on(this._element,"keydown.dismiss.bs.modal",(function(e){t._config.keyboard&&27===e.which?(e.preventDefault(),t.hide()):t._config.keyboard||27!==e.which||t._triggerBackdropTransition()})):K.off(this._element,"keydown.dismiss.bs.modal")},e._setResizeEvent=function(){var t=this;this._isShown?K.on(window,"resize.bs.modal",(function(){return t._adjustDialog()})):K.off(window,"resize.bs.modal")},e._hideModal=function(){var t=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._isTransitioning=!1,this._showBackdrop((function(){document.body.classList.remove("modal-open"),t._resetAdjustments(),t._resetScrollbar(),K.trigger(t._element,"hidden.bs.modal")}))},e._removeBackdrop=function(){this._backdrop.parentNode.removeChild(this._backdrop),this._backdrop=null},e._showBackdrop=function(t){var e=this,n=this._element.classList.contains("fade")?"fade":"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className="modal-backdrop",n&&this._backdrop.classList.add(n),document.body.appendChild(this._backdrop),K.on(this._element,"click.dismiss.bs.modal",(function(t){e._ignoreBackdropClick?e._ignoreBackdropClick=!1:t.target===t.currentTarget&&e._triggerBackdropTransition()})),n&&w(this._backdrop),this._backdrop.classList.add("show"),!n)return void t();var i=g(this._backdrop);K.one(this._backdrop,"transitionend",t),_(this._backdrop,i)}else if(!this._isShown&&this._backdrop){this._backdrop.classList.remove("show");var o=function(){e._removeBackdrop(),t()};if(this._element.classList.contains("fade")){var s=g(this._backdrop);K.one(this._backdrop,"transitionend",o),_(this._backdrop,s)}else o()}else t()},e._triggerBackdropTransition=function(){var t=this;if("static"===this._config.backdrop){if(K.trigger(this._element,"hidePrevented.bs.modal").defaultPrevented)return;this._element.classList.add("modal-static");var e=g(this._element);K.one(this._element,"transitionend",(function(){t._element.classList.remove("modal-static")})),_(this._element,e),this._element.focus()}else this.hide()},e._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},e._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},e._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},e._setScrollbar=function(){var t=this;if(this._isBodyOverflowing){X.find(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top").forEach((function(e){var n=e.style.paddingRight,i=window.getComputedStyle(e)["padding-right"];ot.setDataAttribute(e,"padding-right",n),e.style.paddingRight=parseFloat(i)+t._scrollbarWidth+"px"})),X.find(".sticky-top").forEach((function(e){var n=e.style.marginRight,i=window.getComputedStyle(e)["margin-right"];ot.setDataAttribute(e,"margin-right",n),e.style.marginRight=parseFloat(i)-t._scrollbarWidth+"px"}));var e=document.body.style.paddingRight,n=window.getComputedStyle(document.body)["padding-right"];ot.setDataAttribute(document.body,"padding-right",e),document.body.style.paddingRight=parseFloat(n)+this._scrollbarWidth+"px"}document.body.classList.add("modal-open")},e._resetScrollbar=function(){X.find(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top").forEach((function(t){var e=ot.getDataAttribute(t,"padding-right");void 0!==e&&(ot.removeDataAttribute(t,"padding-right"),t.style.paddingRight=e)})),X.find(".sticky-top").forEach((function(t){var e=ot.getDataAttribute(t,"margin-right");void 0!==e&&(ot.removeDataAttribute(t,"margin-right"),t.style.marginRight=e)}));var t=ot.getDataAttribute(document.body,"padding-right");void 0===t?document.body.style.paddingRight="":(ot.removeDataAttribute(document.body,"padding-right"),document.body.style.paddingRight=t)},e._getScrollbarWidth=function(){var t=document.createElement("div");t.className="modal-scrollbar-measure",document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},t.jQueryInterface=function(e,n){return this.each((function(){var i=k(this,"bs.modal"),o=s({},Ct,{},ot.getDataAttributes(this),{},"object"==typeof e&&e?e:{});if(i||(i=new t(this,o)),"string"==typeof e){if(void 0===i[e])throw new TypeError('No method named "'+e+'"');i[e](n)}else o.show&&i.show(n)}))},t.getInstance=function(t){return k(t,"bs.modal")},n(t,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Ct}}]),t}();K.on(document,"click.bs.modal.data-api",'[data-toggle="modal"]',(function(t){var e=this,n=d(this);"A"!==this.tagName&&"AREA"!==this.tagName||t.preventDefault(),K.one(n,"show.bs.modal",(function(t){t.defaultPrevented||K.one(n,"hidden.bs.modal",(function(){b(e)&&e.focus()}))}));var i=k(n,"bs.modal");if(!i){var o=s({},ot.getDataAttributes(n),{},ot.getDataAttributes(this));i=new St(n,o)}i.show(this)}));var Ot=E();if(Ot){var Dt=Ot.fn.modal;Ot.fn.modal=St.jQueryInterface,Ot.fn.modal.Constructor=St,Ot.fn.modal.noConflict=function(){return Ot.fn.modal=Dt,St.jQueryInterface}}var It=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],Nt=/^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi,jt=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,Pt={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]};function xt(t,e,n){var i;if(!t.length)return t;if(n&&"function"==typeof n)return n(t);for(var o=(new window.DOMParser).parseFromString(t,"text/html"),s=Object.keys(e),r=(i=[]).concat.apply(i,o.body.querySelectorAll("*")),a=function(t,n){var i,o=r[t],a=o.nodeName.toLowerCase();if(-1===s.indexOf(a))return o.parentNode.removeChild(o),"continue";var l=(i=[]).concat.apply(i,o.attributes),c=[].concat(e["*"]||[],e[a]||[]);l.forEach((function(t){(function(t,e){var n=t.nodeName.toLowerCase();if(-1!==e.indexOf(n))return-1===It.indexOf(n)||(Nt.test(t.nodeValue)||jt.test(t.nodeValue));for(var i=e.filter((function(t){return t instanceof RegExp})),o=0,s=i.length;o<s;o++)if(i[o].test(n))return!0;return!1})(t,c)||o.removeAttribute(t.nodeName)}))},l=0,c=r.length;l<c;l++)a(l);return o.body.innerHTML}var Rt="tooltip",Ht=new RegExp("(^|\\s)bs-tooltip\\S+","g"),Bt=["sanitize","whiteList","sanitizeFn"],Mt={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string|function)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)",sanitize:"boolean",sanitizeFn:"(null|function)",whiteList:"object",popperConfig:"(null|object)"},Qt={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},Ut={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:Pt,popperConfig:null},Ft={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"},Wt=function(){function e(e,n){if(void 0===t)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=e,this.config=this._getConfig(n),this.tip=null,this._setListeners(),L(e,this.constructor.DATA_KEY,this)}var i=e.prototype;return i.enable=function(){this._isEnabled=!0},i.disable=function(){this._isEnabled=!1},i.toggleEnabled=function(){this._isEnabled=!this._isEnabled},i.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=k(t.delegateTarget,e);n||(n=new this.constructor(t.delegateTarget,this._getDelegateConfig()),L(t.delegateTarget,e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(this.getTipElement().classList.contains("show"))return void this._leave(null,this);this._enter(null,this)}},i.dispose=function(){clearTimeout(this._timeout),C(this.element,this.constructor.DATA_KEY),K.off(this.element,this.constructor.EVENT_KEY),K.off(X.closest(this.element,".modal"),"hide.bs.modal",this._hideModalHandler),this.tip&&this.tip.parentNode.removeChild(this.tip),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},i.show=function(){var e=this;if("none"===this.element.style.display)throw new Error("Please use show on visible elements");if(this.isWithContent()&&this._isEnabled){var n=K.trigger(this.element,this.constructor.Event.SHOW),i=function t(e){if(!document.documentElement.attachShadow)return null;if("function"==typeof e.getRootNode){var n=e.getRootNode();return n instanceof ShadowRoot?n:null}return e instanceof ShadowRoot?e:e.parentNode?t(e.parentNode):null}(this.element),o=null===i?this.element.ownerDocument.documentElement.contains(this.element):i.contains(this.element);if(n.defaultPrevented||!o)return;var s=this.getTipElement(),r=u(this.constructor.NAME);s.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&s.classList.add("fade");var a="function"==typeof this.config.placement?this.config.placement.call(this,s,this.element):this.config.placement,l=this._getAttachment(a);this._addAttachmentClass(l);var c,h=this._getContainer();if(L(s,this.constructor.DATA_KEY,this),this.element.ownerDocument.documentElement.contains(this.tip)||h.appendChild(s),K.trigger(this.element,this.constructor.Event.INSERTED),this._popper=new t(this.element,s,this._getPopperConfig(l)),s.classList.add("show"),"ontouchstart"in document.documentElement)(c=[]).concat.apply(c,document.body.children).forEach((function(t){K.on(t,"mouseover",(function(){}))}));var f=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,K.trigger(e.element,e.constructor.Event.SHOWN),"out"===t&&e._leave(null,e)};if(this.tip.classList.contains("fade")){var d=g(this.tip);K.one(this.tip,"transitionend",f),_(this.tip,d)}else f()}},i.hide=function(){var t=this,e=this.getTipElement(),n=function(){"show"!==t._hoverState&&e.parentNode&&e.parentNode.removeChild(e),t._cleanTipClass(),t.element.removeAttribute("aria-describedby"),K.trigger(t.element,t.constructor.Event.HIDDEN),t._popper.destroy()};if(!K.trigger(this.element,this.constructor.Event.HIDE).defaultPrevented){var i;if(e.classList.remove("show"),"ontouchstart"in document.documentElement)(i=[]).concat.apply(i,document.body.children).forEach((function(t){return K.off(t,"mouseover",y)}));if(this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,this.tip.classList.contains("fade")){var o=g(e);K.one(e,"transitionend",n),_(e,o)}else n();this._hoverState=""}},i.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},i.isWithContent=function(){return Boolean(this.getTitle())},i.getTipElement=function(){if(this.tip)return this.tip;var t=document.createElement("div");return t.innerHTML=this.config.template,this.tip=t.children[0],this.tip},i.setContent=function(){var t=this.getTipElement();this.setElementContent(X.findOne(".tooltip-inner",t),this.getTitle()),t.classList.remove("fade"),t.classList.remove("show")},i.setElementContent=function(t,e){if(null!==t)return"object"==typeof e&&m(e)?(e.jquery&&(e=e[0]),void(this.config.html?e.parentNode!==t&&(t.innerHTML="",t.appendChild(e)):t.innerText=e.textContent)):void(this.config.html?(this.config.sanitize&&(e=xt(e,this.config.whiteList,this.config.sanitizeFn)),t.innerHTML=e):t.innerText=e)},i.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},i._getPopperConfig=function(t){var e=this;return s({},{placement:t,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:"."+this.constructor.NAME+"-arrow"},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}},{},this.config.popperConfig)},i._addAttachmentClass=function(t){this.getTipElement().classList.add("bs-tooltip-"+t)},i._getOffset=function(){var t=this,e={};return"function"==typeof this.config.offset?e.fn=function(e){return e.offsets=s({},e.offsets,{},t.config.offset(e.offsets,t.element)||{}),e}:e.offset=this.config.offset,e},i._getContainer=function(){return!1===this.config.container?document.body:m(this.config.container)?this.config.container:X.findOne(this.config.container)},i._getAttachment=function(t){return Qt[t.toUpperCase()]},i._setListeners=function(){var t=this;this.config.trigger.split(" ").forEach((function(e){if("click"===e)K.on(t.element,t.constructor.Event.CLICK,t.config.selector,(function(e){return t.toggle(e)}));else if("manual"!==e){var n="hover"===e?t.constructor.Event.MOUSEENTER:t.constructor.Event.FOCUSIN,i="hover"===e?t.constructor.Event.MOUSELEAVE:t.constructor.Event.FOCUSOUT;K.on(t.element,n,t.config.selector,(function(e){return t._enter(e)})),K.on(t.element,i,t.config.selector,(function(e){return t._leave(e)}))}})),this._hideModalHandler=function(){t.element&&t.hide()},K.on(X.closest(this.element,".modal"),"hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=s({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},i._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},i._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||k(t.delegateTarget,n))||(e=new this.constructor(t.delegateTarget,this._getDelegateConfig()),L(t.delegateTarget,n,e)),t&&(e._activeTrigger["focusin"===t.type?"focus":"hover"]=!0),e.getTipElement().classList.contains("show")||"show"===e._hoverState?e._hoverState="show":(clearTimeout(e._timeout),e._hoverState="show",e.config.delay&&e.config.delay.show?e._timeout=setTimeout((function(){"show"===e._hoverState&&e.show()}),e.config.delay.show):e.show())},i._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||k(t.delegateTarget,n))||(e=new this.constructor(t.delegateTarget,this._getDelegateConfig()),L(t.delegateTarget,n,e)),t&&(e._activeTrigger["focusout"===t.type?"focus":"hover"]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState="out",e.config.delay&&e.config.delay.hide?e._timeout=setTimeout((function(){"out"===e._hoverState&&e.hide()}),e.config.delay.hide):e.hide())},i._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},i._getConfig=function(t){var e=ot.getDataAttributes(this.element);return Object.keys(e).forEach((function(t){-1!==Bt.indexOf(t)&&delete e[t]})),t&&"object"==typeof t.container&&t.container.jquery&&(t.container=t.container[0]),"number"==typeof(t=s({},this.constructor.Default,{},e,{},"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),v(Rt,t,this.constructor.DefaultType),t.sanitize&&(t.template=xt(t.template,t.whiteList,t.sanitizeFn)),t},i._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},i._cleanTipClass=function(){var t=this.getTipElement(),e=t.getAttribute("class").match(Ht);null!==e&&e.length>0&&e.map((function(t){return t.trim()})).forEach((function(e){return t.classList.remove(e)}))},i._handlePopperPlacementChange=function(t){var e=t.instance;this.tip=e.popper,this._cleanTipClass(),this._addAttachmentClass(this._getAttachment(t.placement))},i._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(t.classList.remove("fade"),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},e.jQueryInterface=function(t){return this.each((function(){var n=k(this,"bs.tooltip"),i="object"==typeof t&&t;if((n||!/dispose|hide/.test(t))&&(n||(n=new e(this,i)),"string"==typeof t)){if(void 0===n[t])throw new TypeError('No method named "'+t+'"');n[t]()}}))},e.getInstance=function(t){return k(t,"bs.tooltip")},n(e,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Ut}},{key:"NAME",get:function(){return Rt}},{key:"DATA_KEY",get:function(){return"bs.tooltip"}},{key:"Event",get:function(){return Ft}},{key:"EVENT_KEY",get:function(){return".bs.tooltip"}},{key:"DefaultType",get:function(){return Mt}}]),e}(),Vt=E();if(Vt){var qt=Vt.fn[Rt];Vt.fn[Rt]=Wt.jQueryInterface,Vt.fn[Rt].Constructor=Wt,Vt.fn[Rt].noConflict=function(){return Vt.fn[Rt]=qt,Wt.jQueryInterface}}var zt="popover",Kt=new RegExp("(^|\\s)bs-popover\\S+","g"),Xt=s({},Wt.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),Yt=s({},Wt.DefaultType,{content:"(string|element|function)"}),$t={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"},Gt=function(t){var e,i;function o(){return t.apply(this,arguments)||this}i=t,(e=o).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i;var s=o.prototype;return s.isWithContent=function(){return this.getTitle()||this._getContent()},s.setContent=function(){var t=this.getTipElement();this.setElementContent(X.findOne(".popover-header",t),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(X.findOne(".popover-body",t),e),t.classList.remove("fade"),t.classList.remove("show")},s._addAttachmentClass=function(t){this.getTipElement().classList.add("bs-popover-"+t)},s._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},s._cleanTipClass=function(){var t=this.getTipElement(),e=t.getAttribute("class").match(Kt);null!==e&&e.length>0&&e.map((function(t){return t.trim()})).forEach((function(e){return t.classList.remove(e)}))},o.jQueryInterface=function(t){return this.each((function(){var e=k(this,"bs.popover"),n="object"==typeof t?t:null;if((e||!/dispose|hide/.test(t))&&(e||(e=new o(this,n),L(this,"bs.popover",e)),"string"==typeof t)){if(void 0===e[t])throw new TypeError('No method named "'+t+'"');e[t]()}}))},o.getInstance=function(t){return k(t,"bs.popover")},n(o,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Xt}},{key:"NAME",get:function(){return zt}},{key:"DATA_KEY",get:function(){return"bs.popover"}},{key:"Event",get:function(){return $t}},{key:"EVENT_KEY",get:function(){return".bs.popover"}},{key:"DefaultType",get:function(){return Yt}}]),o}(Wt),Zt=E();if(Zt){var Jt=Zt.fn[zt];Zt.fn[zt]=Gt.jQueryInterface,Zt.fn[zt].Constructor=Gt,Zt.fn[zt].noConflict=function(){return Zt.fn[zt]=Jt,Gt.jQueryInterface}}var te="scrollspy",ee={offset:10,method:"auto",target:""},ne={offset:"number",method:"string",target:"(string|element)"},ie=function(){function t(t,e){var n=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(e),this._selector=this._config.target+" .nav-link,"+this._config.target+" .list-group-item,"+this._config.target+" .dropdown-item",this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,K.on(this._scrollElement,"scroll.bs.scrollspy",(function(t){return n._process(t)})),this.refresh(),this._process(),L(t,"bs.scrollspy",this)}var e=t.prototype;return e.refresh=function(){var t=this,e=this._scrollElement===this._scrollElement.window?"offset":"position",n="auto"===this._config.method?e:this._config.method,i="position"===n?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),X.find(this._selector).map((function(t){var e,o=f(t);if(o&&(e=X.findOne(o)),e){var s=e.getBoundingClientRect();if(s.width||s.height)return[ot[n](e).top+i,o]}return null})).filter((function(t){return t})).sort((function(t,e){return t[0]-e[0]})).forEach((function(e){t._offsets.push(e[0]),t._targets.push(e[1])}))},e.dispose=function(){C(this._element,"bs.scrollspy"),K.off(this._scrollElement,".bs.scrollspy"),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},e._getConfig=function(t){if("string"!=typeof(t=s({},ee,{},"object"==typeof t&&t?t:{})).target){var e=t.target.id;e||(e=u(te),t.target.id=e),t.target="#"+e}return v(te,t,ne),t},e._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},e._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},e._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},e._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&(void 0===this._offsets[o+1]||t<this._offsets[o+1])&&this._activate(this._targets[o])}}},e._activate=function(t){this._activeTarget=t,this._clear();var e=this._selector.split(",").map((function(e){return e+'[data-target="'+t+'"],'+e+'[href="'+t+'"]'})),n=X.findOne(e.join(","));n.classList.contains("dropdown-item")?(X.findOne(".dropdown-toggle",X.closest(n,".dropdown")).classList.add("active"),n.classList.add("active")):(n.classList.add("active"),X.parents(n,".nav, .list-group").forEach((function(t){X.prev(t,".nav-link, .list-group-item").forEach((function(t){return t.classList.add("active")})),X.prev(t,".nav-item").forEach((function(t){X.children(t,".nav-link").forEach((function(t){return t.classList.add("active")}))}))}))),K.trigger(this._scrollElement,"activate.bs.scrollspy",{relatedTarget:t})},e._clear=function(){X.find(this._selector).filter((function(t){return t.classList.contains("active")})).forEach((function(t){return t.classList.remove("active")}))},t.jQueryInterface=function(e){return this.each((function(){var n=k(this,"bs.scrollspy");if(n||(n=new t(this,"object"==typeof e&&e)),"string"==typeof e){if(void 0===n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},t.getInstance=function(t){return k(t,"bs.scrollspy")},n(t,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return ee}}]),t}();K.on(window,"load.bs.scrollspy.data-api",(function(){X.find('[data-spy="scroll"]').forEach((function(t){return new ie(t,ot.getDataAttributes(t))}))}));var oe=E();if(oe){var se=oe.fn[te];oe.fn[te]=ie.jQueryInterface,oe.fn[te].Constructor=ie,oe.fn[te].noConflict=function(){return oe.fn[te]=se,ie.jQueryInterface}}var re=function(){function t(t){this._element=t,L(this._element,"bs.tab",this)}var e=t.prototype;return e.show=function(){var t=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&this._element.classList.contains("active")||this._element.classList.contains("disabled"))){var e,n=d(this._element),i=X.closest(this._element,".nav, .list-group");if(i){var o="UL"===i.nodeName||"OL"===i.nodeName?":scope > li > .active":".active";e=(e=X.find(o,i))[e.length-1]}var s=null;if(e&&(s=K.trigger(e,"hide.bs.tab",{relatedTarget:this._element})),!(K.trigger(this._element,"show.bs.tab",{relatedTarget:e}).defaultPrevented||null!==s&&s.defaultPrevented)){this._activate(this._element,i);var r=function(){K.trigger(e,"hidden.bs.tab",{relatedTarget:t._element}),K.trigger(t._element,"shown.bs.tab",{relatedTarget:e})};n?this._activate(n,n.parentNode,r):r()}}},e.dispose=function(){C(this._element,"bs.tab"),this._element=null},e._activate=function(t,e,n){var i=this,o=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?X.children(e,".active"):X.find(":scope > li > .active",e))[0],s=n&&o&&o.classList.contains("fade"),r=function(){return i._transitionComplete(t,o,n)};if(o&&s){var a=g(o);o.classList.remove("show"),K.one(o,"transitionend",r),_(o,a)}else r()},e._transitionComplete=function(t,e,n){if(e){e.classList.remove("active");var i=X.findOne(":scope > .dropdown-menu .active",e.parentNode);i&&i.classList.remove("active"),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}(t.classList.add("active"),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),w(t),t.classList.contains("fade")&&t.classList.add("show"),t.parentNode&&t.parentNode.classList.contains("dropdown-menu"))&&(X.closest(t,".dropdown")&&X.find(".dropdown-toggle").forEach((function(t){return t.classList.add("active")})),t.setAttribute("aria-expanded",!0));n&&n()},t.jQueryInterface=function(e){return this.each((function(){var n=k(this,"bs.tab")||new t(this);if("string"==typeof e){if(void 0===n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},t.getInstance=function(t){return k(t,"bs.tab")},n(t,null,[{key:"VERSION",get:function(){return"4.3.1"}}]),t}();K.on(document,"click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',(function(t){t.preventDefault(),(k(this,"bs.tab")||new re(this)).show()}));var ae=E();if(ae){var le=ae.fn.tab;ae.fn.tab=re.jQueryInterface,ae.fn.tab.Constructor=re,ae.fn.tab.noConflict=function(){return ae.fn.tab=le,re.jQueryInterface}}var ce={animation:"boolean",autohide:"boolean",delay:"number"},ue={animation:!0,autohide:!0,delay:500},he=function(){function t(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners(),L(t,"bs.toast",this)}var e=t.prototype;return e.show=function(){var t=this;if(!K.trigger(this._element,"show.bs.toast").defaultPrevented){this._config.animation&&this._element.classList.add("fade");var e=function(){t._element.classList.remove("showing"),t._element.classList.add("show"),K.trigger(t._element,"shown.bs.toast"),t._config.autohide&&(t._timeout=setTimeout((function(){t.hide()}),t._config.delay))};if(this._element.classList.remove("hide"),w(this._element),this._element.classList.add("showing"),this._config.animation){var n=g(this._element);K.one(this._element,"transitionend",e),_(this._element,n)}else e()}},e.hide=function(){var t=this;if(this._element.classList.contains("show")&&!K.trigger(this._element,"hide.bs.toast").defaultPrevented){var e=function(){t._element.classList.add("hide"),K.trigger(t._element,"hidden.bs.toast")};if(this._element.classList.remove("show"),this._config.animation){var n=g(this._element);K.one(this._element,"transitionend",e),_(this._element,n)}else e()}},e.dispose=function(){clearTimeout(this._timeout),this._timeout=null,this._element.classList.contains("show")&&this._element.classList.remove("show"),K.off(this._element,"click.dismiss.bs.toast"),C(this._element,"bs.toast"),this._element=null,this._config=null},e._getConfig=function(t){return t=s({},ue,{},ot.getDataAttributes(this._element),{},"object"==typeof t&&t?t:{}),v("toast",t,this.constructor.DefaultType),t},e._setListeners=function(){var t=this;K.on(this._element,"click.dismiss.bs.toast",'[data-dismiss="toast"]',(function(){return t.hide()}))},t.jQueryInterface=function(e){return this.each((function(){var n=k(this,"bs.toast");if(n||(n=new t(this,"object"==typeof e&&e)),"string"==typeof e){if(void 0===n[e])throw new TypeError('No method named "'+e+'"');n[e](this)}}))},t.getInstance=function(t){return k(t,"bs.toast")},n(t,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"DefaultType",get:function(){return ce}},{key:"Default",get:function(){return ue}}]),t}(),fe=E();if(fe){var de=fe.fn.toast;fe.fn.toast=he.jQueryInterface,fe.fn.toast.Constructor=he,fe.fn.toast.noConflict=function(){return fe.fn.toast=de,he.jQueryInterface}}return{Alert:$,Button:J,Carousel:ut,Collapse:mt,Dropdown:Tt,Modal:St,Popover:Gt,ScrollSpy:ie,Tab:re,Toast:he,Tooltip:Wt}}));
//# sourceMappingURL=bootstrap.min.js.map \ No newline at end of file
diff --git a/dist/js/bootstrap.min.js.map b/dist/js/bootstrap.min.js.map
index 057fc56795..6264e387d0 100644
--- a/dist/js/bootstrap.min.js.map
+++ b/dist/js/bootstrap.min.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../../js/src/util/index.js","../../js/src/dom/data.js","../../js/src/dom/polyfill.js","../../js/src/dom/event-handler.js","../../js/src/dom/selector-engine.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/dom/manipulator.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/util/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/index.umd.js"],"names":["storeData","id","e","TRANSITION_END","getUID","prefix","Math","random","document","getElementById","getSelector","element","selector","getAttribute","hrefAttr","trim","getSelectorFromElement","querySelector","getElementFromSelector","getTransitionDurationFromElement","_window$getComputedSt","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","evt","createEvent","initEvent","dispatchEvent","isElement","obj","nodeType","emulateTransitionEnd","duration","called","emulatedDuration","addEventListener","listener","removeEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","toString","call","match","toLowerCase","RegExp","test","Error","toUpperCase","makeArray","nodeList","slice","isVisible","style","parentNode","elementStyle","parentNodeStyle","display","visibility","noop","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","mapData","set","key","data","get","keyProperties","delete","Data","setData","instance","getData","removeData","Element","prototype","matches","closest","find","querySelectorAll","findOne","createCustomEvent","eventName","params","CustomEvent","bubbles","cancelable","detail","initCustomEvent","preventDefault","defaultPrevented","origPreventDefault","Event","this","defineProperty","configurable","defaultPreventedPreservedOnDispatch","createElement","msMatchesSelector","webkitMatchesSelector","parentElement","scopeSelectorRegex","_","hasId","Boolean","replace","removeAttribute","$","namespaceRegex","stripNameRegex","keyEventRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","getUidEvent","uid","getEvent","fixEvent","event","which","type","charCode","keyCode","delegateTarget","findHandler","events","handler","delegationSelector","uidEventList","i","len","length","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","custom","indexOf","addHandler","oneOff","_normalizeParams","handlers","previousFn","fn","domElements","target","EventHandler","off","apply","bootstrapDelegationHandler","bootstrapHandler","removeHandler","on","one","_normalizeParams2","inNamespace","isNamespace","charAt","elementEvent","namespace","storeElementEvent","handlerKey","removeNamespacedHandlers","keyHandlers","trigger","args","jQueryEvent","isNative","nativeDispatch","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","SelectorEngine","documentElement","findFn","children","_this","filter","child","parents","ancestor","Node","ELEMENT_NODE","push","prev","siblings","previous","previousSibling","DATA_KEY","EVENT_KEY","CLOSE","CLOSED","CLICK_DATA_API","ClassName","Alert","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","_removeElement","dispose","parent","classList","remove","contains","_destroyElement","removeChild","jQueryInterface","each","handleDismiss","alertInstance","getInstance","JQUERY_NO_CONFLICT","Constructor","noConflict","Selector","FOCUS_DATA_API","BLUR_DATA_API","Button","toggle","triggerChangeEvent","addAriaPressed","input","checked","activeElement","focus","setAttribute","button","add","normalizeData","val","Number","normalizeDataKey","chr","Manipulator","setDataAttribute","removeDataAttribute","getDataAttributes","attributes","_objectSpread2","dataset","getDataAttribute","offset","rect","getBoundingClientRect","top","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft","toggleClass","className","NAME","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","Direction","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","TOUCHSTART","TOUCHMOVE","TOUCHEND","POINTERDOWN","POINTERUP","DRAG_START","LOAD_DATA_API","ACTIVE","ACTIVE_ITEM","ITEM","ITEM_IMG","NEXT_PREV","INDICATORS","DATA_SLIDE","DATA_RIDE","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","MSPointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","_handleSwipe","absDeltax","abs","_this2","_keydown","_addTouchEventListeners","_this3","start","pointerType","clientX","touches","end","clearTimeout","itemImg","move","tagName","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","from","_setActiveIndicatorElement","indicators","nextIndicator","directionalClassName","orderClassName","_this4","activeElementIndex","nextElement","nextElementIndex","isCycling","nextElementInterval","parseInt","defaultInterval","carouselInterface","action","TypeError","ride","dataApiClickHandler","slideIndex","carousels","SHOW","SHOWN","HIDE","HIDDEN","Dimension","ACTIVES","DATA_TOGGLE","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","container","tempActiveData","elemActive","collapseInterface","dimension","_getDimension","setTransitioning","scrollSize","triggerArrayLength","isTransitioning","jquery","selected","triggerArray","isOpen","triggerData","REGEXP_KEYDOWN","ARROW_UP_KEYCODE","CLICK","KEYDOWN_DATA_API","KEYUP_DATA_API","AttachmentMap","flip","boundary","reference","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","clearMenus","getParentFromElement","Popper","referenceElement","_getPopperConfig","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","parentDropdown","placement","_getOffset","offsets","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","dropdownInterface","toggles","context","clickEvent","dropdownMenu","dataApiKeydownHandler","items","backdrop","HIDE_PREVENTED","FOCUSIN","RESIZE","CLICK_DISMISS","KEYDOWN_DISMISS","MOUSEUP_DISMISS","MOUSEDOWN_DISMISS","DIALOG","MODAL_BODY","DATA_DISMISS","FIXED_CONTENT","STICKY_CONTENT","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","showEvent","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","handleUpdate","modalBody","appendChild","_enforceFocus","transitionComplete","_this5","_triggerBackdropTransition","_this6","_this7","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","_this8","animate","currentTarget","backdropTransitionDuration","callbackRemove","_this9","modalTransitionDuration","isModalOverflowing","scrollHeight","clientHeight","paddingLeft","paddingRight","right","innerWidth","_getScrollbarWidth","_this10","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","margin","scrollDiv","scrollbarWidth","width","clientWidth","_this11","uriAttrs","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attr","allowedAttributeList","attrName","nodeName","nodeValue","regExp","attrRegex","l","DefaultWhitelist","*","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","sanitizeHtml","unsafeHtml","whiteList","sanitizeFn","createdDocument","DOMParser","parseFromString","whitelistKeys","elements","_loop","el","elName","attributeList","whitelistedAttributes","concat","innerHTML","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","fallbackPlacement","sanitize","AUTO","TOP","RIGHT","BOTTOM","LEFT","HoverState","INSERTED","FOCUSOUT","Trigger","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","findShadowRoot","attachShadow","getRootNode","root","ShadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","_addAttachmentClass","_getContainer","complete","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","innerText","textContent","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","CLASS_PREFIX","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","tabClass","map","token","tClass","popperData","popperInstance","popper","initConfigAnimation","Popover","_getContent","method","ACTIVATE","SCROLL","DROPDOWN_ITEM","DATA_SPY","NAV_LIST_GROUP","NAV_LINKS","NAV_ITEMS","LIST_ITEMS","DROPDOWN","DROPDOWN_TOGGLE","OffsetMethod","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targetSelector","targetBCR","height","item","sort","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","queries","link","join","listGroup","navItem","node","spy","Tab","listElement","itemSelector","hideEvent","active","_transitionComplete","dropdownChild","dropdown","autohide","Toast"],"mappings":";;;;;8pCAOA,ICOQA,EACFC,ECiBEC,EFvBFC,EAAiB,gBAWjBC,EAAS,SAAAC,GACb,GACEA,MAfY,IAeCC,KAAKC,gBACXC,SAASC,eAAeJ,IAEjC,OAAOA,GAGHK,EAAc,SAAAC,GAClB,IAAIC,EAAWD,EAAQE,aAAa,eAEpC,IAAKD,GAAyB,MAAbA,EAAkB,CACjC,IAAME,EAAWH,EAAQE,aAAa,QAEtCD,EAAWE,GAAyB,MAAbA,EAAmBA,EAASC,OAAS,KAG9D,OAAOH,GAGHI,EAAyB,SAAAL,GAC7B,IAAMC,EAAWF,EAAYC,GAE7B,OAAIC,GACKJ,SAASS,cAAcL,GAAYA,EAGrC,MAGHM,EAAyB,SAAAP,GAC7B,IAAMC,EAAWF,EAAYC,GAE7B,OAAOC,EAAWJ,SAASS,cAAcL,GAAY,MAGjDO,EAAmC,SAAAR,GACvC,IAAKA,EACH,OAAO,EAFyC,IAAAS,EAS9CC,OAAOC,iBAAiBX,GAF1BY,EAPgDH,EAOhDG,mBACAC,EARgDJ,EAQhDI,gBAGIC,EAA0BC,WAAWH,GACrCI,EAAuBD,WAAWF,GAGxC,OAAKC,GAA4BE,GAKjCJ,EAAqBA,EAAmBK,MAAM,KAAK,GACnDJ,EAAkBA,EAAgBI,MAAM,KAAK,GArEf,KAuEtBF,WAAWH,GAAsBG,WAAWF,KAP3C,GAULK,EAAuB,SAAAlB,GAC3B,IAAMmB,EAAMtB,SAASuB,YAAY,cAEjCD,EAAIE,UAAU7B,GAAgB,GAAM,GACpCQ,EAAQsB,cAAcH,IAGlBI,EAAY,SAAAC,GAAG,OAAKA,EAAI,IAAMA,GAAKC,UAEnCC,EAAuB,SAAC1B,EAAS2B,GACrC,IAAIC,GAAS,EAEPC,EAAmBF,EADD,EAOxB3B,EAAQ8B,iBAAiBtC,GALzB,SAASuC,IACPH,GAAS,EACT5B,EAAQgC,oBAAoBxC,EAAgBuC,MAI9CE,YAAW,WACJL,GACHV,EAAqBlB,KAEtB6B,IAGCK,EAAkB,SAACC,EAAeC,EAAQC,GAC9CC,OAAOC,KAAKF,GACTG,SAAQ,SAAAC,GACP,IAnGSjB,EAmGHkB,EAAgBL,EAAYI,GAC5BE,EAAQP,EAAOK,GACfG,EAAYD,GAASpB,EAAUoB,GACnC,WAtGOnB,EAuGAmB,EAvGQ,GAAGE,SAASC,KAAKtB,GAAKuB,MAAM,eAAe,GAAGC,eAyG/D,IAAK,IAAIC,OAAOP,GAAeQ,KAAKN,GAClC,MAAM,IAAIO,MACLhB,EAAciB,cAAjB,aACWX,EADX,oBACuCG,EADvC,wBAEsBF,EAFtB,UAOJW,EAAY,SAAAC,GAChB,OAAKA,EAIE,GAAGC,MAAMT,KAAKQ,GAHZ,IAMLE,EAAY,SAAAxD,GAChB,IAAKA,EACH,OAAO,EAGT,GAAIA,EAAQyD,OAASzD,EAAQ0D,YAAc1D,EAAQ0D,WAAWD,MAAO,CACnE,IAAME,EAAehD,iBAAiBX,GAChC4D,EAAkBjD,iBAAiBX,EAAQ0D,YAEjD,MAAgC,SAAzBC,EAAaE,SACU,SAA5BD,EAAgBC,SACY,WAA5BF,EAAaG,WAGjB,OAAO,GA0BHC,EAAO,WAAA,OAAM,cAEbC,EAAS,SAAAhE,GAAO,OAAIA,EAAQiE,cAE5BC,EAAY,WAAM,IACdC,EAAWzD,OAAXyD,OAER,OAAIA,IAAWtE,SAASuE,KAAKC,aAAa,kBACjCF,EAGF,MC5KHG,GACEjF,EAAY,GACdC,EAAK,EACF,CACLiF,IADK,SACDvE,EAASwE,EAAKC,GACW,oBAAhBzE,EAAQwE,MACjBxE,EAAQwE,IAAM,CACZA,IAAAA,EACAlF,GAAAA,GAEFA,KAGFD,EAAUW,EAAQwE,IAAIlF,IAAMmF,GAE9BC,IAZK,SAYD1E,EAASwE,GACX,IAAKxE,GAAkC,oBAAhBA,EAAQwE,IAC7B,OAAO,KAGT,IAAMG,EAAgB3E,EAAQwE,IAC9B,OAAIG,EAAcH,MAAQA,EACjBnF,EAAUsF,EAAcrF,IAG1B,MAETsF,OAxBK,SAwBE5E,EAASwE,GACd,GAA2B,oBAAhBxE,EAAQwE,IAAnB,CAIA,IAAMG,EAAgB3E,EAAQwE,IAC1BG,EAAcH,MAAQA,WACjBnF,EAAUsF,EAAcrF,WACxBU,EAAQwE,SAMjBK,EAAO,CACXC,QADW,SACHC,EAAUP,EAAKC,GACrBH,EAAQC,IAAIQ,EAAUP,EAAKC,IAE7BO,QAJW,SAIHD,EAAUP,GAChB,OAAOF,EAAQI,IAAIK,EAAUP,IAE/BS,WAPW,SAOAF,EAAUP,GACnBF,EAAQM,OAAOG,EAAUP,OCnDFU,QAAQC,UAA7BC,EAAAA,EAAAA,QAASC,EAAAA,EAAAA,QACXC,EAAOJ,QAAQC,UAAUI,iBACzBC,EAAUN,QAAQC,UAAU7E,cAC5BmF,EAAoB,SAACC,EAAWC,GAGlC,OAFe,IAAIC,YAAYF,EAAWC,IAwB5C,GAnBkC,mBAAvBjF,OAAOkF,cAChBH,EAAoB,SAACC,EAAWC,GAC9BA,EAASA,GAAU,CAAEE,SAAS,EAAOC,YAAY,EAAOC,OAAQ,MAEhE,IAAM5E,EAAMtB,SAASuB,YAAY,eAGjC,OADAD,EAAI6E,gBAAgBN,EAAWC,EAAOE,QAASF,EAAOG,WAAYH,EAAOI,QAClE5E,OAKH5B,EAAIM,SAASuB,YAAY,gBAE7BC,UAAU,aAAa,GAAM,GAC/B9B,EAAE0G,iBACK1G,EAAE2G,kBAGmB,CAC5B,IAAMC,EAAqBC,MAAMjB,UAAUc,eAE3CG,MAAMjB,UAAUc,eAAiB,WAC1BI,KAAKP,aAIVK,EAAmBrD,KAAKuD,MACxB/D,OAAOgE,eAAeD,KAAM,mBAAoB,CAC9C3B,IAD8C,WAE5C,OAAO,GAET6B,cAAc,MAMpB,IAAMC,EAAuC,WAC3C,IAAMjH,EAAIkG,EAAkB,YAAa,CACvCK,YAAY,IAGR9F,EAAUH,SAAS4G,cAAc,OAKvC,OAJAzG,EAAQ8B,iBAAiB,aAAa,WAAA,OAAM,QAE5CvC,EAAE0G,iBACFjG,EAAQsB,cAAc/B,GACfA,EAAE2G,iBAVkC,GAaxCd,IACHA,EAAUF,QAAQC,UAAUuB,mBAAqBxB,QAAQC,UAAUwB,uBAGhEtB,IACHA,EAAU,SAAUpF,GAClB,IAAID,EAAUqG,KAEd,EAAG,CACD,GAAIjB,EAAQtC,KAAK9C,EAASC,GACxB,OAAOD,EAGTA,EAAUA,EAAQ4G,eAAiB5G,EAAQ0D,iBACxB,OAAZ1D,GAAyC,IAArBA,EAAQyB,UAErC,OAAO,OAIX,IAAMoF,EAAqB,YACA,WACzB,IAAM7G,EAAUH,SAAS4G,cAAc,OAEvC,IACEzG,EAAQuF,iBAAiB,YACzB,MAAOuB,GACP,OAAO,EAGT,OAAO,GATkB,KAazBxB,EAAO,SAAUrF,GACf,IAAK4G,EAAmB3D,KAAKjD,GAC3B,OAAOoG,KAAKd,iBAAiBtF,GAG/B,IAAM8G,EAAQC,QAAQX,KAAK/G,IAEtByH,IACHV,KAAK/G,GAAKG,EAAO,UAGnB,IAAI6D,EAAW,KACf,IACErD,EAAWA,EAASgH,QAAQJ,EAAjB,IAAyCR,KAAK/G,IACzDgE,EAAW+C,KAAKd,iBAAiBtF,GAFnC,QAIO8G,GACHV,KAAKa,gBAAgB,MAIzB,OAAO5D,GAGTkC,EAAU,SAAUvF,GAClB,IAAK4G,EAAmB3D,KAAKjD,GAC3B,OAAOoG,KAAK/F,cAAcL,GAG5B,IAAMmF,EAAUE,EAAKxC,KAAKuD,KAAMpG,GAEhC,MAA0B,oBAAfmF,EAAQ,GACVA,EAAQ,GAGV,OC5HX,IAAM+B,EAAIjD,IACJkD,EAAiB,qBACjBC,EAAiB,OACjBC,EAAgB,OAChBC,EAAgB,SAChBC,EAAgB,GAClBC,EAAW,EACTC,EAAe,CACnBC,WAAY,YACZC,WAAY,YAERC,EAAe,CACnB,QACA,WACA,UACA,YACA,cACA,aACA,iBACA,YACA,WACA,YACA,cACA,YACA,UACA,WACA,QACA,oBACA,aACA,YACA,WACA,cACA,cACA,cACA,YACA,eACA,gBACA,eACA,gBACA,aACA,QACA,OACA,SACA,QACA,SACA,SACA,UACA,WACA,OACA,SACA,eACA,SACA,OACA,mBACA,mBACA,QACA,QACA,UASF,SAASC,EAAY9H,EAAS+H,GAC5B,OAAQA,GAAUA,EAAP,KAAeN,KAAiBzH,EAAQyH,UAAYA,IAGjE,SAASO,EAAShI,GAChB,IAAM+H,EAAMD,EAAY9H,GAKxB,OAHAA,EAAQyH,SAAWM,EACnBP,EAAcO,GAAOP,EAAcO,IAAQ,GAEpCP,EAAcO,GAGvB,SAASE,EAASC,EAAOlI,GAEH,OAAhBkI,EAAMC,OAAkBb,EAAcpE,KAAKgF,EAAME,QACnDF,EAAMC,MAA2B,OAAnBD,EAAMG,SAAoBH,EAAMI,QAAUJ,EAAMG,UAGhEH,EAAMK,eAAiBvI,EAqCzB,SAASwI,EAAYC,EAAQC,EAASC,QAA2B,IAA3BA,IAAAA,EAAqB,MAGzD,IAFA,IAAMC,EAAetG,OAAOC,KAAKkG,GAExBI,EAAI,EAAGC,EAAMF,EAAaG,OAAQF,EAAIC,EAAKD,IAAK,CACvD,IAAMX,EAAQO,EAAOG,EAAaC,IAElC,GAAIX,EAAMc,kBAAoBN,GAAWR,EAAMS,qBAAuBA,EACpE,OAAOT,EAIX,OAAO,KAGT,SAASe,EAAgBC,EAAmBR,EAASS,GACnD,IAAMC,EAAgC,iBAAZV,EACpBM,EAAkBI,EAAaD,EAAeT,EAGhDW,EAAYH,EAAkBjC,QAAQI,EAAgB,IACpDiC,EAAS5B,EAAa2B,GAY5B,OAVIC,IACFD,EAAYC,GAGGzB,EAAa0B,QAAQF,IAAc,IAGlDA,EAAYH,GAGP,CAACE,EAAYJ,EAAiBK,GAGvC,SAASG,EAAWxJ,EAASkJ,EAAmBR,EAASS,EAAcM,GACrE,GAAiC,iBAAtBP,GAAmClJ,EAA9C,CAIK0I,IACHA,EAAUS,EACVA,EAAe,MAP4D,IAAAO,EAU5BT,EAAgBC,EAAmBR,EAASS,GAAtFC,EAVsEM,EAAA,GAU1DV,EAV0DU,EAAA,GAUzCL,EAVyCK,EAAA,GAWvEjB,EAAST,EAAShI,GAClB2J,EAAWlB,EAAOY,KAAeZ,EAAOY,GAAa,IACrDO,EAAapB,EAAYmB,EAAUX,EAAiBI,EAAaV,EAAU,MAEjF,GAAIkB,EACFA,EAAWH,OAASG,EAAWH,QAAUA,MAD3C,CAMA,IAAM1B,EAAMD,EAAYkB,EAAiBE,EAAkBjC,QAAQG,EAAgB,KAC7EyC,EAAKT,EAhFb,SAAoCpJ,EAASC,EAAU4J,GACrD,OAAO,SAASnB,EAAQR,GAGtB,IAFA,IAAM4B,EAAc9J,EAAQuF,iBAAiBtF,GAElC8J,EAAW7B,EAAX6B,OAAkBA,GAAUA,IAAW1D,KAAM0D,EAASA,EAAOrG,WACtE,IAAK,IAAImF,EAAIiB,EAAYf,OAAQF,KAC/B,GAAIiB,EAAYjB,KAAOkB,EAOrB,OANA9B,EAASC,EAAO6B,GAEZrB,EAAQe,QACVO,EAAaC,IAAIjK,EAASkI,EAAME,KAAMyB,GAGjCA,EAAGK,MAAMH,EAAQ,CAAC7B,IAM/B,OAAO,MA8DPiC,CAA2BnK,EAAS0I,EAASS,GA5FjD,SAA0BnJ,EAAS6J,GACjC,OAAO,SAASnB,EAAQR,GAMtB,OALAD,EAASC,EAAOlI,GACZ0I,EAAQe,QACVO,EAAaC,IAAIjK,EAASkI,EAAME,KAAMyB,GAGjCA,EAAGK,MAAMlK,EAAS,CAACkI,KAsF1BkC,CAAiBpK,EAAS0I,GAE5BmB,EAAGlB,mBAAqBS,EAAaV,EAAU,KAC/CmB,EAAGb,gBAAkBA,EACrBa,EAAGJ,OAASA,EACZI,EAAGpC,SAAWM,EACd4B,EAAS5B,GAAO8B,EAEhB7J,EAAQ8B,iBAAiBuH,EAAWQ,EAAIT,KAG1C,SAASiB,EAAcrK,EAASyI,EAAQY,EAAWX,EAASC,GAC1D,IAAMkB,EAAKrB,EAAYC,EAAOY,GAAYX,EAASC,GAE9CkB,IAIL7J,EAAQgC,oBAAoBqH,EAAWQ,EAAI7C,QAAQ2B,WAC5CF,EAAOY,GAAWQ,EAAGpC,WAgB9B,IAAMuC,EAAe,CACnBM,GADmB,SAChBtK,EAASkI,EAAOQ,EAASS,GAC1BK,EAAWxJ,EAASkI,EAAOQ,EAASS,GAAc,IAGpDoB,IALmB,SAKfvK,EAASkI,EAAOQ,EAASS,GAC3BK,EAAWxJ,EAASkI,EAAOQ,EAASS,GAAc,IAGpDc,IATmB,SASfjK,EAASkJ,EAAmBR,EAASS,GACvC,GAAiC,iBAAtBD,GAAmClJ,EAA9C,CADqD,IAAAwK,EAKJvB,EAAgBC,EAAmBR,EAASS,GAAtFC,EAL8CoB,EAAA,GAKlCxB,EALkCwB,EAAA,GAKjBnB,EALiBmB,EAAA,GAM/CC,EAAcpB,IAAcH,EAC5BT,EAAST,EAAShI,GAClB0K,EAA8C,MAAhCxB,EAAkByB,OAAO,GAE7C,GAA+B,oBAApB3B,EAAX,CAUI0B,GACFpI,OAAOC,KAAKkG,GACTjG,SAAQ,SAAAoI,IA5CjB,SAAkC5K,EAASyI,EAAQY,EAAWwB,GAC5D,IAAMC,EAAoBrC,EAAOY,IAAc,GAE/C/G,OAAOC,KAAKuI,GACTtI,SAAQ,SAAAuI,GACP,GAAIA,EAAWxB,QAAQsB,IAAc,EAAG,CACtC,IAAM3C,EAAQ4C,EAAkBC,GAEhCV,EAAcrK,EAASyI,EAAQY,EAAWnB,EAAMc,gBAAiBd,EAAMS,wBAqCrEqC,CAAyBhL,EAASyI,EAAQmC,EAAc1B,EAAkB3F,MAAM,OAItF,IAAMuH,EAAoBrC,EAAOY,IAAc,GAC/C/G,OAAOC,KAAKuI,GACTtI,SAAQ,SAAAyI,GACP,IAAMF,EAAaE,EAAYhE,QAAQM,EAAe,IAEtD,IAAKkD,GAAevB,EAAkBK,QAAQwB,IAAe,EAAG,CAC9D,IAAM7C,EAAQ4C,EAAkBG,GAEhCZ,EAAcrK,EAASyI,EAAQY,EAAWnB,EAAMc,gBAAiBd,EAAMS,4BAzB7E,CAEE,IAAKF,IAAWA,EAAOY,GACrB,OAGFgB,EAAcrK,EAASyI,EAAQY,EAAWL,EAAiBI,EAAaV,EAAU,SAwBtFwC,QAjDmB,SAiDXlL,EAASkI,EAAOiD,GACtB,GAAqB,iBAAVjD,IAAuBlI,EAChC,OAAO,KAGT,IAIIoL,EAJE/B,EAAYnB,EAAMjB,QAAQI,EAAgB,IAC1CoD,EAAcvC,IAAUmB,EACxBgC,EAAWxD,EAAa0B,QAAQF,IAAc,EAGhDxD,GAAU,EACVyF,GAAiB,EACjBpF,GAAmB,EACnB/E,EAAM,KAmDV,OAjDIsJ,GAAetD,IACjBiE,EAAcjE,EAAEf,MAAM8B,EAAOiD,GAE7BhE,EAAEnH,GAASkL,QAAQE,GACnBvF,GAAWuF,EAAYG,uBACvBD,GAAkBF,EAAYI,gCAC9BtF,EAAmBkF,EAAYK,sBAG7BJ,GACFlK,EAAMtB,SAASuB,YAAY,eACvBC,UAAUgI,EAAWxD,GAAS,GAElC1E,EAAMsE,EAAkByC,EAAO,CAC7BrC,QAAAA,EACAC,YAAY,IAKI,oBAATqF,GACT7I,OAAOC,KAAK4I,GACT3I,SAAQ,SAAAgC,GACPlC,OAAOgE,eAAenF,EAAKqD,EAAK,CAC9BE,IAD8B,WAE5B,OAAOyG,EAAK3G,SAMlB0B,IACF/E,EAAI8E,iBAECO,GACHlE,OAAOgE,eAAenF,EAAK,mBAAoB,CAC7CuD,IAAK,WAAA,OAAM,MAKb4G,GACFtL,EAAQsB,cAAcH,GAGpBA,EAAI+E,kBAA2C,oBAAhBkF,GACjCA,EAAYnF,iBAGP9E,ICvULuK,EAAiB,CACrBtG,QADqB,SACbpF,EAASC,GACf,OAAOmF,EAAQtC,KAAK9C,EAASC,IAG/BqF,KALqB,SAKhBrF,EAAUD,GACb,YADiD,IAApCA,IAAAA,EAAUH,SAAS8L,iBACzBC,EAAO9I,KAAK9C,EAASC,IAG9BuF,QATqB,SASbvF,EAAUD,GAChB,YADoD,IAApCA,IAAAA,EAAUH,SAAS8L,iBAC5BnG,EAAQ1C,KAAK9C,EAASC,IAG/B4L,SAbqB,SAaZ7L,EAASC,GAAU,IAAA6L,EAAAzF,KACpBwF,EAAWxI,EAAUrD,EAAQ6L,UAEnC,OAAOA,EAASE,QAAO,SAAAC,GAAK,OAAIF,EAAK1G,QAAQ4G,EAAO/L,OAGtDgM,QAnBqB,SAmBbjM,EAASC,GAKf,IAJA,IAAMgM,EAAU,GAEZC,EAAWlM,EAAQ0D,WAEhBwI,GAAYA,EAASzK,WAAa0K,KAAKC,cA1BhC,IA0BgDF,EAASzK,UACjE4E,KAAKjB,QAAQ8G,EAAUjM,IACzBgM,EAAQI,KAAKH,GAGfA,EAAWA,EAASxI,WAGtB,OAAOuI,GAGT5G,QAnCqB,SAmCbrF,EAASC,GACf,OAAOoF,EAAQvC,KAAK9C,EAASC,IAG/BqM,KAvCqB,SAuChBtM,EAASC,GAKZ,IAJA,IAAMsM,EAAW,GAEbC,EAAWxM,EAAQyM,gBAEhBD,GAAYA,EAAS/K,WAAa0K,KAAKC,cA9ChC,IA8CgDI,EAAS/K,UACjE4E,KAAKjB,QAAQoH,EAAUvM,IACzBsM,EAASF,KAAKG,GAGhBA,EAAWA,EAASC,gBAGtB,OAAOF,IC5CLG,EAAW,WACXC,GAAS,IAAOD,EAOhBtG,GAAQ,CACZwG,MAAK,QAAUD,GACfE,OAAM,SAAWF,GACjBG,eAAc,QAAUH,GATL,aAYfI,GACG,QADHA,GAEE,OAFFA,GAGE,OASFC,cACJ,SAAAA,EAAYhN,GACVqG,KAAK4G,SAAWjN,EAEZqG,KAAK4G,UACPpI,EAAKC,QAAQ9E,EAAS0M,EAAUrG,iCAYpC6G,MAAA,SAAMlN,GACJ,IAAImN,EAAc9G,KAAK4G,SACnBjN,IACFmN,EAAc9G,KAAK+G,gBAAgBpN,IAGrC,IAAMqN,EAAchH,KAAKiH,mBAAmBH,GAExB,OAAhBE,GAAwBA,EAAYnH,kBAIxCG,KAAKkH,eAAeJ,MAGtBK,QAAA,WACE3I,EAAKI,WAAWoB,KAAK4G,SAAUP,GAC/BrG,KAAK4G,SAAW,QAKlBG,gBAAA,SAAgBpN,GACd,IAAIyN,EAASlN,EAAuBP,GAMpC,OAJKyN,IACHA,EAAS/B,EAAerG,QAAQrF,EAAvB,IAAoC+M,KAGxCU,KAGTH,mBAAA,SAAmBtN,GACjB,OAAOgK,EAAakB,QAAQlL,EAASoG,GAAMwG,UAG7CW,eAAA,SAAevN,GAAS,IAAA8L,EAAAzF,KAGtB,GAFArG,EAAQ0N,UAAUC,OAAOZ,IAEpB/M,EAAQ0N,UAAUE,SAASb,IAAhC,CAKA,IAAMnM,EAAqBJ,EAAiCR,GAE5DgK,EACGO,IAAIvK,EAASR,GAAgB,WAAA,OAAMsM,EAAK+B,gBAAgB7N,MAC3D0B,EAAqB1B,EAASY,QAR5ByF,KAAKwH,gBAAgB7N,MAWzB6N,gBAAA,SAAgB7N,GACVA,EAAQ0D,YACV1D,EAAQ0D,WAAWoK,YAAY9N,GAGjCgK,EAAakB,QAAQlL,EAASoG,GAAMyG,WAK/BkB,gBAAP,SAAuB3L,GACrB,OAAOiE,KAAK2H,MAAK,WACf,IAAIvJ,EAAOI,EAAKG,QAAQqB,KAAMqG,GAEzBjI,IACHA,EAAO,IAAIuI,EAAM3G,OAGJ,UAAXjE,GACFqC,EAAKrC,GAAQiE,YAKZ4H,cAAP,SAAqBC,GACnB,OAAO,SAAUhG,GACXA,GACFA,EAAMjC,iBAGRiI,EAAchB,MAAM7G,UAIjB8H,YAAP,SAAmBnO,GACjB,OAAO6E,EAAKG,QAAQhF,EAAS0M,4CA3F7B,MAvCY,iBA2IhB1C,EACGM,GAAGzK,SAAUuG,GAAM0G,eAtIX,yBAsI6CE,GAAMiB,cAAc,IAAIjB,KAEhF,IAAM7F,GAAIjD,IAUV,GAAIiD,GAAG,CACL,IAAMiH,GAAqBjH,GAAE0C,GAAF,MAC3B1C,GAAE0C,GAAF,MAAamD,GAAMe,gBACnB5G,GAAE0C,GAAF,MAAWwE,YAAcrB,GACzB7F,GAAE0C,GAAF,MAAWyE,WAAa,WAEtB,OADAnH,GAAE0C,GAAF,MAAauE,GACNpB,GAAMe,iBCrKjB,IAEMrB,GAAW,YACXC,GAAS,IAAOD,GAGhBK,GACI,SADJA,GAEI,MAFJA,GAGG,QAGHwB,GACgB,0BADhBA,GAES,0BAFTA,GAGG,6BAHHA,GAII,UAJJA,GAKI,OAGJnI,GAAQ,CACZ0G,eAAc,QAAUH,GAjBL,YAkBnB6B,eAAc,QAAU7B,GAlBL,YAmBnB8B,cAAa,OAAS9B,GAnBH,aA4Bf+B,cACJ,SAAAA,EAAY1O,GACVqG,KAAK4G,SAAWjN,EAChB6E,EAAKC,QAAQ9E,EAAS0M,GAAUrG,iCAWlCsI,OAAA,WACE,IAAIC,GAAqB,EACrBC,GAAiB,EAEf1B,EAAczB,EAAerG,QACjCgB,KAAK4G,SACLsB,IAGF,GAAIpB,EAAa,CACf,IAAM2B,EAAQpD,EAAelG,QAAQ+I,GAAgBlI,KAAK4G,UAE1D,GAAI6B,GAAwB,UAAfA,EAAM1G,KAAkB,CACnC,GAAI0G,EAAMC,SACR1I,KAAK4G,SAASS,UAAUE,SAASb,IACjC6B,GAAqB,MAChB,CACL,IAAMI,EAAgBtD,EAAelG,QAAQ+I,GAAiBpB,GAE1D6B,GACFA,EAActB,UAAUC,OAAOZ,IAInC,GAAI6B,EAAoB,CACtB,GAAIE,EAAMzK,aAAa,aACrB8I,EAAY9I,aAAa,aACzByK,EAAMpB,UAAUE,SAAS,aACzBT,EAAYO,UAAUE,SAAS,YAC/B,OAGFkB,EAAMC,SAAW1I,KAAK4G,SAASS,UAAUE,SAASb,IAClD/C,EAAakB,QAAQ4D,EAAO,UAG9BA,EAAMG,QACNJ,GAAiB,GAIjBA,GACFxI,KAAK4G,SAASiC,aAAa,gBACxB7I,KAAK4G,SAASS,UAAUE,SAASb,KAGlC6B,GACFvI,KAAK4G,SAASS,UAAUiB,OAAO5B,OAInCS,QAAA,WACE3I,EAAKI,WAAWoB,KAAK4G,SAAUP,IAC/BrG,KAAK4G,SAAW,QAKXc,gBAAP,SAAuB3L,GACrB,OAAOiE,KAAK2H,MAAK,WACf,IAAIvJ,EAAOI,EAAKG,QAAQqB,KAAMqG,IAEzBjI,IACHA,EAAO,IAAIiK,EAAOrI,OAGL,WAAXjE,GACFqC,EAAKrC,WAKJ+L,YAAP,SAAmBnO,GACjB,OAAO6E,EAAKG,QAAQhF,EAAS0M,6CA9E7B,MAxCY,iBAgIhB1C,EAAaM,GAAGzK,SAAUuG,GAAM0G,eAAgByB,IAA6B,SAAArG,GAC3EA,EAAMjC,iBAEN,IAAIkJ,EAASjH,EAAM6B,OACdoF,EAAOzB,UAAUE,SAASb,MAC7BoC,EAASzD,EAAerG,QAAQ8J,EAAQZ,KAG1C,IAAI9J,EAAOI,EAAKG,QAAQmK,EAAQzC,IAC3BjI,IACHA,EAAO,IAAIiK,GAAOS,IAGpB1K,EAAKkK,YAGP3E,EAAaM,GAAGzK,SAAUuG,GAAMoI,eAAgBD,IAA6B,SAAArG,GAC3E,IAAMiH,EAASzD,EAAerG,QAAQ6C,EAAM6B,OAAQwE,IAEhDY,GACFA,EAAOzB,UAAU0B,IAAIrC,OAIzB/C,EAAaM,GAAGzK,SAAUuG,GAAMqI,cAAeF,IAA6B,SAAArG,GAC1E,IAAMiH,EAASzD,EAAerG,QAAQ6C,EAAM6B,OAAQwE,IAEhDY,GACFA,EAAOzB,UAAUC,OAAOZ,OAI5B,IAAM5F,GAAIjD,IASV,GAAIiD,GAAG,CACL,IAAMiH,GAAqBjH,GAAE0C,GAAF,OAC3B1C,GAAE0C,GAAF,OAAa6E,GAAOX,gBACpB5G,GAAE0C,GAAF,OAAWwE,YAAcK,GAEzBvH,GAAE0C,GAAF,OAAWyE,WAAa,WAEtB,OADAnH,GAAE0C,GAAF,OAAauE,GACNM,GAAOX,iBC5LlB,SAASsB,GAAcC,GACrB,MAAY,SAARA,GAIQ,UAARA,IAIAA,IAAQC,OAAOD,GAAKzM,WACf0M,OAAOD,GAGJ,KAARA,GAAsB,SAARA,EACT,KAGFA,GAGT,SAASE,GAAiBhL,GACxB,OAAOA,EAAIyC,QAAQ,UAAU,SAAAwI,GAAG,MAAA,IAAQA,EAAIzM,iBAG9C,IAAM0M,GAAc,CAClBC,iBADkB,SACD3P,EAASwE,EAAK7B,GAC7B3C,EAAQkP,aAAR,QAA6BM,GAAiBhL,GAAQ7B,IAGxDiN,oBALkB,SAKE5P,EAASwE,GAC3BxE,EAAQkH,gBAAR,QAAgCsI,GAAiBhL,KAGnDqL,kBATkB,SASA7P,GAChB,IAAKA,EACH,MAAO,GAGT,IAAM8P,EAAUC,EAAA,GACX/P,EAAQgQ,SAOb,OAJA1N,OAAOC,KAAKuN,GAAYtN,SAAQ,SAAAgC,GAC9BsL,EAAWtL,GAAO6K,GAAcS,EAAWtL,OAGtCsL,GAGTG,iBAzBkB,SAyBDjQ,EAASwE,GACxB,OAAO6K,GAAcrP,EAAQE,aAAR,QAA6BsP,GAAiBhL,MAGrE0L,OA7BkB,SA6BXlQ,GACL,IAAMmQ,EAAOnQ,EAAQoQ,wBAErB,MAAO,CACLC,IAAKF,EAAKE,IAAMxQ,SAASuE,KAAKkM,UAC9BC,KAAMJ,EAAKI,KAAO1Q,SAASuE,KAAKoM,aAIpCC,SAtCkB,SAsCTzQ,GACP,MAAO,CACLqQ,IAAKrQ,EAAQ0Q,UACbH,KAAMvQ,EAAQ2Q,aAIlBC,YA7CkB,SA6CN5Q,EAAS6Q,GACd7Q,IAIDA,EAAQ0N,UAAUE,SAASiD,GAC7B7Q,EAAQ0N,UAAUC,OAAOkD,GAEzB7Q,EAAQ0N,UAAU0B,IAAIyB,MCtDtBC,GAAO,WAEPpE,GAAW,cACXC,GAAS,IAAOD,GAOhBqE,GAAU,CACdC,SAAU,IACVC,UAAU,EACVC,OAAO,EACPC,MAAO,QACPC,MAAM,EACNC,OAAO,GAGHC,GAAc,CAClBN,SAAU,mBACVC,SAAU,UACVC,MAAO,mBACPC,MAAO,mBACPC,KAAM,UACNC,MAAO,WAGHE,GACE,OADFA,GAEE,OAFFA,GAGE,OAHFA,GAIG,QAGHnL,GAAQ,CACZoL,MAAK,QAAU7E,GACf8E,KAAI,OAAS9E,GACb+E,QAAO,UAAY/E,GACnBgF,WAAU,aAAehF,GACzBiF,WAAU,aAAejF,GACzBkF,WAAU,aAAelF,GACzBmF,UAAS,YAAcnF,GACvBoF,SAAQ,WAAapF,GACrBqF,YAAW,cAAgBrF,GAC3BsF,UAAS,YAActF,GACvBuF,WAAU,YAAcvF,GACxBwF,cAAa,OAASxF,GA3CH,YA4CnBG,eAAc,QAAUH,GA5CL,aA+CfI,GACM,WADNA,GAEI,SAFJA,GAGG,QAHHA,GAIG,sBAJHA,GAKE,qBALFA,GAME,qBANFA,GAOE,qBAPFA,GASW,gBAGXwB,GAAW,CACf6D,OAAQ,UACRC,YAAa,wBACbC,KAAM,iBACNC,SAAU,qBACVC,UAAW,2CACXC,WAAY,uBACZC,WAAY,gCACZC,UAAW,0BAGPC,GAAc,CAClBC,MAAO,QACPC,IAAK,OAQDC,cACJ,SAAAA,EAAY/S,EAASoC,GACnBiE,KAAK2M,OAAS,KACd3M,KAAK4M,UAAY,KACjB5M,KAAK6M,eAAiB,KACtB7M,KAAK8M,WAAY,EACjB9M,KAAK+M,YAAa,EAClB/M,KAAKgN,aAAe,KACpBhN,KAAKiN,YAAc,EACnBjN,KAAKkN,YAAc,EAEnBlN,KAAKmN,QAAUnN,KAAKoN,WAAWrR,GAC/BiE,KAAK4G,SAAWjN,EAChBqG,KAAKqN,mBAAqBhI,EAAelG,QAAQ+I,GAASkE,WAAYpM,KAAK4G,UAC3E5G,KAAKsN,gBAAkB,iBAAkB9T,SAAS8L,iBAAmBiI,UAAUC,eAAiB,EAChGxN,KAAKyN,cAAgB9M,QAAQtG,OAAOqT,cAAgBrT,OAAOsT,gBAE3D3N,KAAK4N,qBACLpP,EAAKC,QAAQ9E,EAAS0M,GAAUrG,iCAelC6N,KAAA,WACO7N,KAAK+M,YACR/M,KAAK8N,OAAO5C,OAIhB6C,gBAAA,YAGOvU,SAASwU,QAAU7Q,EAAU6C,KAAK4G,WACrC5G,KAAK6N,UAIT5H,KAAA,WACOjG,KAAK+M,YACR/M,KAAK8N,OAAO5C,OAIhBJ,MAAA,SAAMjJ,GACCA,IACH7B,KAAK8M,WAAY,GAGfzH,EAAelG,QAAQ+I,GAASiE,UAAWnM,KAAK4G,YAClD/L,EAAqBmF,KAAK4G,UAC1B5G,KAAKiO,OAAM,IAGbC,cAAclO,KAAK4M,WACnB5M,KAAK4M,UAAY,QAGnBqB,MAAA,SAAMpM,GACCA,IACH7B,KAAK8M,WAAY,GAGf9M,KAAK4M,YACPsB,cAAclO,KAAK4M,WACnB5M,KAAK4M,UAAY,MAGf5M,KAAKmN,SAAWnN,KAAKmN,QAAQxC,WAAa3K,KAAK8M,YACjD9M,KAAK4M,UAAYuB,aACd3U,SAAS4U,gBAAkBpO,KAAK+N,gBAAkB/N,KAAK6N,MAAMQ,KAAKrO,MACnEA,KAAKmN,QAAQxC,cAKnB2D,GAAA,SAAGC,GAAO,IAAA9I,EAAAzF,KACRA,KAAK6M,eAAiBxH,EAAelG,QAAQ+I,GAAS8D,YAAahM,KAAK4G,UACxE,IAAM4H,EAAcxO,KAAKyO,cAAczO,KAAK6M,gBAE5C,KAAI0B,EAAQvO,KAAK2M,OAAOjK,OAAS,GAAK6L,EAAQ,GAI9C,GAAIvO,KAAK+M,WACPpJ,EAAaO,IAAIlE,KAAK4G,SAAU7G,GAAMqL,MAAM,WAAA,OAAM3F,EAAK6I,GAAGC,UAD5D,CAKA,GAAIC,IAAgBD,EAGlB,OAFAvO,KAAK8K,aACL9K,KAAKiO,QAIP,IAAMS,EAAYH,EAAQC,EACxBtD,GACAA,GAEFlL,KAAK8N,OAAOY,EAAW1O,KAAK2M,OAAO4B,QAGrCpH,QAAA,WACExD,EAAaC,IAAI5D,KAAK4G,SAAUN,IAChC9H,EAAKI,WAAWoB,KAAK4G,SAAUP,IAE/BrG,KAAK2M,OAAS,KACd3M,KAAKmN,QAAU,KACfnN,KAAK4G,SAAW,KAChB5G,KAAK4M,UAAY,KACjB5M,KAAK8M,UAAY,KACjB9M,KAAK+M,WAAa,KAClB/M,KAAK6M,eAAiB,KACtB7M,KAAKqN,mBAAqB,QAK5BD,WAAA,SAAWrR,GAMT,OALAA,EAAM2N,EAAA,GACDgB,GADC,GAED3O,GAELF,EAAgB4O,GAAM1O,EAAQkP,IACvBlP,KAGT4S,aAAA,WACE,IAAMC,EAAYtV,KAAKuV,IAAI7O,KAAKkN,aAEhC,KAAI0B,GAvNgB,IAuNpB,CAIA,IAAMF,EAAYE,EAAY5O,KAAKkN,YAEnClN,KAAKkN,YAAc,EAGfwB,EAAY,GACd1O,KAAKiG,OAIHyI,EAAY,GACd1O,KAAK6N,WAITD,mBAAA,WAAqB,IAAAkB,EAAA9O,KACfA,KAAKmN,QAAQvC,UACfjH,EACGM,GAAGjE,KAAK4G,SAAU7G,GAAMsL,SAAS,SAAAxJ,GAAK,OAAIiN,EAAKC,SAASlN,MAGlC,UAAvB7B,KAAKmN,QAAQrC,QACfnH,EACGM,GAAGjE,KAAK4G,SAAU7G,GAAMuL,YAAY,SAAAzJ,GAAK,OAAIiN,EAAKhE,MAAMjJ,MAC3D8B,EACGM,GAAGjE,KAAK4G,SAAU7G,GAAMwL,YAAY,SAAA1J,GAAK,OAAIiN,EAAKb,MAAMpM,OAGzD7B,KAAKmN,QAAQnC,OAAShL,KAAKsN,iBAC7BtN,KAAKgP,6BAITA,wBAAA,WAA0B,IAAAC,EAAAjP,KAClBkP,EAAQ,SAAArN,GACRoN,EAAKxB,eAAiBlB,GAAY1K,EAAMsN,YAAYpS,eACtDkS,EAAKhC,YAAcpL,EAAMuN,QACfH,EAAKxB,gBACfwB,EAAKhC,YAAcpL,EAAMwN,QAAQ,GAAGD,UAalCE,EAAM,SAAAzN,GACNoN,EAAKxB,eAAiBlB,GAAY1K,EAAMsN,YAAYpS,iBACtDkS,EAAK/B,YAAcrL,EAAMuN,QAAUH,EAAKhC,aAG1CgC,EAAKN,eACsB,UAAvBM,EAAK9B,QAAQrC,QASfmE,EAAKnE,QACDmE,EAAKjC,cACPuC,aAAaN,EAAKjC,cAGpBiC,EAAKjC,aAAepR,YAAW,SAAAiG,GAAK,OAAIoN,EAAKhB,MAAMpM,KAnS5B,IAmS6DoN,EAAK9B,QAAQxC,YAIrG3N,EAAUqI,EAAepG,KAAKiJ,GAASgE,SAAUlM,KAAK4G,WAAWzK,SAAQ,SAAAqT,GACvE7L,EAAaM,GAAGuL,EAASzP,GAAM8L,YAAY,SAAA3S,GAAC,OAAIA,EAAE0G,uBAGhDI,KAAKyN,eACP9J,EAAaM,GAAGjE,KAAK4G,SAAU7G,GAAM4L,aAAa,SAAA9J,GAAK,OAAIqN,EAAMrN,MACjE8B,EAAaM,GAAGjE,KAAK4G,SAAU7G,GAAM6L,WAAW,SAAA/J,GAAK,OAAIyN,EAAIzN,MAE7D7B,KAAK4G,SAASS,UAAU0B,IAAIrC,MAE5B/C,EAAaM,GAAGjE,KAAK4G,SAAU7G,GAAMyL,YAAY,SAAA3J,GAAK,OAAIqN,EAAMrN,MAChE8B,EAAaM,GAAGjE,KAAK4G,SAAU7G,GAAM0L,WAAW,SAAA5J,GAAK,OA5C1C,SAAAA,GAEPA,EAAMwN,SAAWxN,EAAMwN,QAAQ3M,OAAS,EAC1CuM,EAAK/B,YAAc,EAEnB+B,EAAK/B,YAAcrL,EAAMwN,QAAQ,GAAGD,QAAUH,EAAKhC,YAuCIwC,CAAK5N,MAC9D8B,EAAaM,GAAGjE,KAAK4G,SAAU7G,GAAM2L,UAAU,SAAA7J,GAAK,OAAIyN,EAAIzN,UAIhEkN,SAAA,SAASlN,GACP,IAAI,kBAAkBhF,KAAKgF,EAAM6B,OAAOgM,SAIxC,OAAQ7N,EAAMC,OACZ,KA/TqB,GAgUnBD,EAAMjC,iBACNI,KAAKiG,OACL,MACF,KAlUsB,GAmUpBpE,EAAMjC,iBACNI,KAAK6N,WAMXY,cAAA,SAAc9U,GAKZ,OAJAqG,KAAK2M,OAAShT,GAAWA,EAAQ0D,WAC/BL,EAAUqI,EAAepG,KAAKiJ,GAAS+D,KAAMtS,EAAQ0D,aACrD,GAEK2C,KAAK2M,OAAOzJ,QAAQvJ,MAG7BgW,oBAAA,SAAoBjB,EAAW/F,GAC7B,IAAMiH,EAAkBlB,IAAcxD,GAChC2E,EAAkBnB,IAAcxD,GAChCsD,EAAcxO,KAAKyO,cAAc9F,GACjCmH,EAAgB9P,KAAK2M,OAAOjK,OAAS,EAI3C,IAHuBmN,GAAmC,IAAhBrB,GACjBoB,GAAmBpB,IAAgBsB,KAEtC9P,KAAKmN,QAAQpC,KACjC,OAAOpC,EAGT,IACMoH,GAAavB,GADLE,IAAcxD,IAAkB,EAAI,IACRlL,KAAK2M,OAAOjK,OAEtD,OAAsB,IAAfqN,EACL/P,KAAK2M,OAAO3M,KAAK2M,OAAOjK,OAAS,GACjC1C,KAAK2M,OAAOoD,MAGhBC,mBAAA,SAAmBC,EAAeC,GAChC,IAAMC,EAAcnQ,KAAKyO,cAAcwB,GACjCG,EAAYpQ,KAAKyO,cAAcpJ,EAAelG,QAAQ+I,GAAS8D,YAAahM,KAAK4G,WAEvF,OAAOjD,EAAakB,QAAQ7E,KAAK4G,SAAU7G,GAAMoL,MAAO,CACtD8E,cAAAA,EACAvB,UAAWwB,EACXG,KAAMD,EACN9B,GAAI6B,OAIRG,2BAAA,SAA2B3W,GACzB,GAAIqG,KAAKqN,mBAAoB,CAE3B,IADA,IAAMkD,EAAalL,EAAepG,KAAKiJ,GAAS6D,OAAQ/L,KAAKqN,oBACpD7K,EAAI,EAAGA,EAAI+N,EAAW7N,OAAQF,IACrC+N,EAAW/N,GAAG6E,UAAUC,OAAOZ,IAGjC,IAAM8J,EAAgBxQ,KAAKqN,mBAAmB7H,SAC5CxF,KAAKyO,cAAc9U,IAGjB6W,GACFA,EAAcnJ,UAAU0B,IAAIrC,QAKlCoH,OAAA,SAAOY,EAAW/U,GAAS,IASrB8W,EACAC,EACAR,EAXqBS,EAAA3Q,KACnB2I,EAAgBtD,EAAelG,QAAQ+I,GAAS8D,YAAahM,KAAK4G,UAClEgK,EAAqB5Q,KAAKyO,cAAc9F,GACxCkI,EAAclX,GAAYgP,GAC9B3I,KAAK2P,oBAAoBjB,EAAW/F,GAEhCmI,EAAmB9Q,KAAKyO,cAAcoC,GACtCE,EAAYpQ,QAAQX,KAAK4M,WAgB/B,GAVI8B,IAAcxD,IAChBuF,EAAuB/J,GACvBgK,EAAiBhK,GACjBwJ,EAAqBhF,KAErBuF,EAAuB/J,GACvBgK,EAAiBhK,GACjBwJ,EAAqBhF,IAGnB2F,GAAeA,EAAYxJ,UAAUE,SAASb,IAChD1G,KAAK+M,YAAa,OAKpB,IADmB/M,KAAKgQ,mBAAmBa,EAAaX,GACzCrQ,kBAIV8I,GAAkBkI,EAAvB,CAaA,GARA7Q,KAAK+M,YAAa,EAEdgE,GACF/Q,KAAK8K,QAGP9K,KAAKsQ,2BAA2BO,GAE5B7Q,KAAK4G,SAASS,UAAUE,SAASb,IAAkB,CACrDmK,EAAYxJ,UAAU0B,IAAI2H,GAE1B/S,EAAOkT,GAEPlI,EAActB,UAAU0B,IAAI0H,GAC5BI,EAAYxJ,UAAU0B,IAAI0H,GAE1B,IAAMO,EAAsBC,SAASJ,EAAYhX,aAAa,iBAAkB,IAC5EmX,GACFhR,KAAKmN,QAAQ+D,gBAAkBlR,KAAKmN,QAAQ+D,iBAAmBlR,KAAKmN,QAAQxC,SAC5E3K,KAAKmN,QAAQxC,SAAWqG,GAExBhR,KAAKmN,QAAQxC,SAAW3K,KAAKmN,QAAQ+D,iBAAmBlR,KAAKmN,QAAQxC,SAGvE,IAAMpQ,EAAqBJ,EAAiCwO,GAE5DhF,EACGO,IAAIyE,EAAexP,GAAgB,WAClC0X,EAAYxJ,UAAUC,OAAOmJ,GAC7BI,EAAYxJ,UAAUC,OAAOoJ,GAC7BG,EAAYxJ,UAAU0B,IAAIrC,IAE1BiC,EAActB,UAAUC,OAAOZ,IAC/BiC,EAActB,UAAUC,OAAOoJ,GAC/B/H,EAActB,UAAUC,OAAOmJ,GAE/BE,EAAK5D,YAAa,EAElBnR,YAAW,WACT+H,EAAakB,QAAQ8L,EAAK/J,SAAU7G,GAAMqL,KAAM,CAC9C6E,cAAeY,EACfnC,UAAWwB,EACXG,KAAMO,EACNtC,GAAIwC,MAEL,MAGPzV,EAAqBsN,EAAepO,QAEpCoO,EAActB,UAAUC,OAAOZ,IAC/BmK,EAAYxJ,UAAU0B,IAAIrC,IAE1B1G,KAAK+M,YAAa,EAClBpJ,EAAakB,QAAQ7E,KAAK4G,SAAU7G,GAAMqL,KAAM,CAC9C6E,cAAeY,EACfnC,UAAWwB,EACXG,KAAMO,EACNtC,GAAIwC,IAIJC,GACF/Q,KAAKiO,YAMFkD,kBAAP,SAAyBxX,EAASoC,GAChC,IAAIqC,EAAOI,EAAKG,QAAQhF,EAAS0M,IAC7B8G,EAAOzD,EAAA,GACNgB,GADM,GAENrB,GAAYG,kBAAkB7P,IAGb,iBAAXoC,IACToR,EAAOzD,EAAA,GACFyD,EADE,GAEFpR,IAIP,IAAMqV,EAA2B,iBAAXrV,EAAsBA,EAASoR,EAAQtC,MAM7D,GAJKzM,IACHA,EAAO,IAAIsO,EAAS/S,EAASwT,IAGT,iBAAXpR,EACTqC,EAAKkQ,GAAGvS,QACH,GAAsB,iBAAXqV,EAAqB,CACrC,GAA4B,oBAAjBhT,EAAKgT,GACd,MAAM,IAAIC,UAAJ,oBAAkCD,EAAlC,KAGRhT,EAAKgT,UACIjE,EAAQxC,UAAYwC,EAAQmE,OACrClT,EAAK0M,QACL1M,EAAK6P,YAIFvG,gBAAP,SAAuB3L,GACrB,OAAOiE,KAAK2H,MAAK,WACf+E,EAASyE,kBAAkBnR,KAAMjE,SAI9BwV,oBAAP,SAA2B1P,GACzB,IAAM6B,EAASxJ,EAAuB8F,MAEtC,GAAK0D,GAAWA,EAAO2D,UAAUE,SAASb,IAA1C,CAIA,IAAM3K,EAAM2N,EAAA,GACPL,GAAYG,kBAAkB9F,GADvB,GAEP2F,GAAYG,kBAAkBxJ,OAE7BwR,EAAaxR,KAAKnG,aAAa,iBAEjC2X,IACFzV,EAAO4O,UAAW,GAGpB+B,EAASyE,kBAAkBzN,EAAQ3H,GAE/ByV,GACFhT,EAAKG,QAAQ+E,EAAQ2C,IAAUiI,GAAGkD,GAGpC3P,EAAMjC,qBAGDkI,YAAP,SAAmBnO,GACjB,OAAO6E,EAAKG,QAAQhF,EAAS0M,6CA3c7B,MA3GY,wCA+GZ,OAAOqE,YAidX/G,EACGM,GAAGzK,SAAUuG,GAAM0G,eAAgByB,GAASmE,WAAYK,GAAS6E,qBAEpE5N,EAAaM,GAAG5J,OAAQ0F,GAAM+L,eAAe,WAE3C,IADA,IAAM2F,EAAYzU,EAAUqI,EAAepG,KAAKiJ,GAASoE,YAChD9J,EAAI,EAAGC,EAAMgP,EAAU/O,OAAQF,EAAIC,EAAKD,IAC/CkK,GAASyE,kBAAkBM,EAAUjP,GAAIhE,EAAKG,QAAQ8S,EAAUjP,GAAI6D,QAIxE,IAAMvF,GAAIjD,IASV,GAAIiD,GAAG,CACL,IAAMiH,GAAqBjH,GAAE0C,GAAGiH,IAChC3J,GAAE0C,GAAGiH,IAAQiC,GAAShF,gBACtB5G,GAAE0C,GAAGiH,IAAMzC,YAAc0E,GACzB5L,GAAE0C,GAAGiH,IAAMxC,WAAa,WAEtB,OADAnH,GAAE0C,GAAGiH,IAAQ1C,GACN2E,GAAShF,iBC1lBpB,IAAM+C,GAAO,WAEPpE,GAAW,cACXC,GAAS,IAAOD,GAGhBqE,GAAU,CACdpC,QAAQ,EACRlB,OAAQ,IAGJ6D,GAAc,CAClB3C,OAAQ,UACRlB,OAAQ,oBAGJrH,GAAQ,CACZ2R,KAAI,OAASpL,GACbqL,MAAK,QAAUrL,GACfsL,KAAI,OAAStL,GACbuL,OAAM,SAAWvL,GACjBG,eAAc,QAAUH,GAjBL,aAoBfI,GACE,OADFA,GAEM,WAFNA,GAGQ,aAHRA,GAIO,YAGPoL,GACG,QADHA,GAEI,SAGJ5J,GAAW,CACf6J,QAAS,qBACTC,YAAa,4BASTC,cACJ,SAAAA,EAAYtY,EAASoC,GACnBiE,KAAKkS,kBAAmB,EACxBlS,KAAK4G,SAAWjN,EAChBqG,KAAKmN,QAAUnN,KAAKoN,WAAWrR,GAC/BiE,KAAKmS,cAAgBnV,EAAUqI,EAAepG,KAC5C,mCAAmCtF,EAAQV,GAA3C,6CAC0CU,EAAQV,GADlD,OAKF,IADA,IAAMmZ,EAAapV,EAAUqI,EAAepG,KAAKiJ,GAAS8J,cACjDxP,EAAI,EAAGC,EAAM2P,EAAW1P,OAAQF,EAAIC,EAAKD,IAAK,CACrD,IAAM6P,EAAOD,EAAW5P,GAClB5I,EAAWI,EAAuBqY,GAClCC,EAAgBtV,EAAUqI,EAAepG,KAAKrF,IACjD8L,QAAO,SAAA6M,GAAS,OAAIA,IAAc5Y,KAEpB,OAAbC,GAAqB0Y,EAAc5P,SACrC1C,KAAKwS,UAAY5Y,EACjBoG,KAAKmS,cAAcnM,KAAKqM,IAI5BrS,KAAKyS,QAAUzS,KAAKmN,QAAQ/F,OAASpH,KAAK0S,aAAe,KAEpD1S,KAAKmN,QAAQ/F,QAChBpH,KAAK2S,0BAA0B3S,KAAK4G,SAAU5G,KAAKmS,eAGjDnS,KAAKmN,QAAQ7E,QACftI,KAAKsI,SAGP9J,EAAKC,QAAQ9E,EAAS0M,GAAUrG,iCAelCsI,OAAA,WACMtI,KAAK4G,SAASS,UAAUE,SAASb,IACnC1G,KAAK4S,OAEL5S,KAAK6S,UAITA,KAAA,WAAO,IAAApN,EAAAzF,KACL,IAAIA,KAAKkS,mBACPlS,KAAK4G,SAASS,UAAUE,SAASb,IADnC,CAKA,IAAIoM,EACAC,EAEA/S,KAAKyS,SAUgB,KATvBK,EAAU9V,EAAUqI,EAAepG,KAAKiJ,GAAS6J,QAAS/R,KAAKyS,UAC5D/M,QAAO,SAAA2M,GACN,MAAmC,iBAAxB5M,EAAK0H,QAAQ/F,OACfiL,EAAKxY,aAAa,iBAAmB4L,EAAK0H,QAAQ/F,OAGpDiL,EAAKhL,UAAUE,SAASb,QAGvBhE,SACVoQ,EAAU,MAId,IAAME,EAAY3N,EAAelG,QAAQa,KAAKwS,WAC9C,GAAIM,EAAS,CACX,IAAMG,EAAiBH,EAAQpN,QAAO,SAAA2M,GAAI,OAAIW,IAAcX,KAG5D,IAFAU,EAAcE,EAAe,GAAKzU,EAAKG,QAAQsU,EAAe,GAAI5M,IAAY,OAE3D0M,EAAYb,iBAC7B,OAKJ,IADmBvO,EAAakB,QAAQ7E,KAAK4G,SAAU7G,GAAM2R,MAC9C7R,iBAAf,CAIIiT,GACFA,EAAQ3W,SAAQ,SAAA+W,GACVF,IAAcE,GAChBjB,EAASkB,kBAAkBD,EAAY,QAGpCH,GACHvU,EAAKC,QAAQyU,EAAY7M,GAAU,SAKzC,IAAM+M,EAAYpT,KAAKqT,gBAEvBrT,KAAK4G,SAASS,UAAUC,OAAOZ,IAC/B1G,KAAK4G,SAASS,UAAU0B,IAAIrC,IAE5B1G,KAAK4G,SAASxJ,MAAMgW,GAAa,EAE7BpT,KAAKmS,cAAczP,QACrB1C,KAAKmS,cAAchW,SAAQ,SAAAxC,GACzBA,EAAQ0N,UAAUC,OAAOZ,IACzB/M,EAAQkP,aAAa,iBAAiB,MAI1C7I,KAAKsT,kBAAiB,GAEtB,IAaMC,EAAU,UADaH,EAAU,GAAGrW,cAAgBqW,EAAUlW,MAAM,IAEpE3C,EAAqBJ,EAAiC6F,KAAK4G,UAEjEjD,EAAaO,IAAIlE,KAAK4G,SAAUzN,GAhBf,WACfsM,EAAKmB,SAASS,UAAUC,OAAOZ,IAC/BjB,EAAKmB,SAASS,UAAU0B,IAAIrC,IAC5BjB,EAAKmB,SAASS,UAAU0B,IAAIrC,IAE5BjB,EAAKmB,SAASxJ,MAAMgW,GAAa,GAEjC3N,EAAK6N,kBAAiB,GAEtB3P,EAAakB,QAAQY,EAAKmB,SAAU7G,GAAM4R,UAS5CtW,EAAqB2E,KAAK4G,SAAUrM,GACpCyF,KAAK4G,SAASxJ,MAAMgW,GAAgBpT,KAAK4G,SAAS2M,GAAlD,UAGFX,KAAA,WAAO,IAAA9D,EAAA9O,KACL,IAAIA,KAAKkS,kBACNlS,KAAK4G,SAASS,UAAUE,SAASb,MAIjB/C,EAAakB,QAAQ7E,KAAK4G,SAAU7G,GAAM6R,MAC9C/R,iBAAf,CAIA,IAAMuT,EAAYpT,KAAKqT,gBAEvBrT,KAAK4G,SAASxJ,MAAMgW,GAAgBpT,KAAK4G,SAASmD,wBAAwBqJ,GAA1E,KAEAzV,EAAOqC,KAAK4G,UAEZ5G,KAAK4G,SAASS,UAAU0B,IAAIrC,IAC5B1G,KAAK4G,SAASS,UAAUC,OAAOZ,IAC/B1G,KAAK4G,SAASS,UAAUC,OAAOZ,IAE/B,IAAM8M,EAAqBxT,KAAKmS,cAAczP,OAC9C,GAAI8Q,EAAqB,EACvB,IAAK,IAAIhR,EAAI,EAAGA,EAAIgR,EAAoBhR,IAAK,CAC3C,IAAMqC,EAAU7E,KAAKmS,cAAc3P,GAC7B6P,EAAOnY,EAAuB2K,GAEhCwN,IAASA,EAAKhL,UAAUE,SAASb,MACnC7B,EAAQwC,UAAU0B,IAAIrC,IACtB7B,EAAQgE,aAAa,iBAAiB,IAK5C7I,KAAKsT,kBAAiB,GAStBtT,KAAK4G,SAASxJ,MAAMgW,GAAa,GACjC,IAAM7Y,EAAqBJ,EAAiC6F,KAAK4G,UAEjEjD,EAAaO,IAAIlE,KAAK4G,SAAUzN,GAVf,WACf2V,EAAKwE,kBAAiB,GACtBxE,EAAKlI,SAASS,UAAUC,OAAOZ,IAC/BoI,EAAKlI,SAASS,UAAU0B,IAAIrC,IAC5B/C,EAAakB,QAAQiK,EAAKlI,SAAU7G,GAAM8R,WAO5CxW,EAAqB2E,KAAK4G,SAAUrM,OAGtC+Y,iBAAA,SAAiBG,GACfzT,KAAKkS,iBAAmBuB,KAG1BtM,QAAA,WACE3I,EAAKI,WAAWoB,KAAK4G,SAAUP,IAE/BrG,KAAKmN,QAAU,KACfnN,KAAKyS,QAAU,KACfzS,KAAK4G,SAAW,KAChB5G,KAAKmS,cAAgB,KACrBnS,KAAKkS,iBAAmB,QAK1B9E,WAAA,SAAWrR,GAOT,OANAA,EAAM2N,EAAA,GACDgB,GADC,GAED3O,IAEEuM,OAAS3H,QAAQ5E,EAAOuM,QAC/BzM,EAAgB4O,GAAM1O,EAAQkP,IACvBlP,KAGTsX,cAAA,WAEE,OADiBrT,KAAK4G,SAASS,UAAUE,SAASuK,IAChCA,GAAkBA,MAGtCY,WAAA,WAAa,IAAAzD,EAAAjP,KACLoH,EAAWpH,KAAKmN,QAAhB/F,OAEFlM,EAAUkM,GAEiB,oBAAlBA,EAAOsM,QAA+C,oBAAdtM,EAAO,KACxDA,EAASA,EAAO,IAGlBA,EAAS/B,EAAelG,QAAQiI,GAGlC,IAAMxN,EAAQ,yCAA4CwN,EAA5C,KAYd,OAVApK,EAAUqI,EAAepG,KAAKrF,EAAUwN,IACrCjL,SAAQ,SAAAxC,GACP,IAAMga,EAAWzZ,EAAuBP,GAExCsV,EAAK0D,0BACHgB,EACA,CAACha,OAIAyN,KAGTuL,0BAAA,SAA0BhZ,EAASia,GACjC,GAAIja,EAAS,CACX,IAAMka,EAASla,EAAQ0N,UAAUE,SAASb,IAEtCkN,EAAalR,QACfkR,EAAazX,SAAQ,SAAAkW,GACfwB,EACFxB,EAAKhL,UAAUC,OAAOZ,IAEtB2L,EAAKhL,UAAU0B,IAAIrC,IAGrB2L,EAAKxJ,aAAa,gBAAiBgL,UAQpCV,kBAAP,SAAyBxZ,EAASoC,GAChC,IAAIqC,EAAOI,EAAKG,QAAQhF,EAAS0M,IAC3B8G,EAAOzD,EAAA,GACRgB,GADQ,GAERrB,GAAYG,kBAAkB7P,GAFtB,GAGU,iBAAXoC,GAAuBA,EAASA,EAAS,IAWrD,IARKqC,GAAQ+O,EAAQ7E,QAAU,YAAYzL,KAAKd,KAC9CoR,EAAQ7E,QAAS,GAGdlK,IACHA,EAAO,IAAI6T,EAAStY,EAASwT,IAGT,iBAAXpR,EAAqB,CAC9B,GAA4B,oBAAjBqC,EAAKrC,GACd,MAAM,IAAIsV,UAAJ,oBAAkCtV,EAAlC,KAGRqC,EAAKrC,SAIF2L,gBAAP,SAAuB3L,GACrB,OAAOiE,KAAK2H,MAAK,WACfsK,EAASkB,kBAAkBnT,KAAMjE,SAI9B+L,YAAP,SAAmBnO,GACjB,OAAO6E,EAAKG,QAAQhF,EAAS0M,6CA1Q7B,MArFY,wCAyFZ,OAAOqE,YAgRX/G,EAAaM,GAAGzK,SAAUuG,GAAM0G,eAAgByB,GAAS8J,aAAa,SAAUnQ,GAEjD,MAAzBA,EAAM6B,OAAOgM,SACf7N,EAAMjC,iBAGR,IAAMkU,EAAczK,GAAYG,kBAAkBxJ,MAC5CpG,EAAWI,EAAuBgG,MACfhD,EAAUqI,EAAepG,KAAKrF,IAEtCuC,SAAQ,SAAAxC,GACvB,IACIoC,EADEqC,EAAOI,EAAKG,QAAQhF,EAAS0M,IAE/BjI,GAEmB,OAAjBA,EAAKqU,SAAkD,iBAAvBqB,EAAY1M,SAC9ChJ,EAAK+O,QAAQ/F,OAAS0M,EAAY1M,OAClChJ,EAAKqU,QAAUrU,EAAKsU,cAGtB3W,EAAS,UAETA,EAAS+X,EAGX7B,GAASkB,kBAAkBxZ,EAASoC,SAIxC,IAAM+E,GAAIjD,IASV,GAAIiD,GAAG,CACL,IAAMiH,GAAqBjH,GAAE0C,GAAGiH,IAChC3J,GAAE0C,GAAGiH,IAAQwH,GAASvK,gBACtB5G,GAAE0C,GAAGiH,IAAMzC,YAAciK,GACzBnR,GAAE0C,GAAGiH,IAAMxC,WAAa,WAEtB,OADAnH,GAAE0C,GAAGiH,IAAQ1C,GACNkK,GAASvK,iBCxZpB,IAAM+C,GAAO,WAEPpE,GAAW,cACXC,GAAS,IAAOD,GAQhB0N,GAAiB,IAAInX,OAAUoX,YAE/BjU,GAAQ,CACZ6R,KAAI,OAAStL,GACbuL,OAAM,SAAWvL,GACjBoL,KAAI,OAASpL,GACbqL,MAAK,QAAUrL,GACf2N,MAAK,QAAU3N,GACfG,eAAc,QAAUH,GAfL,YAgBnB4N,iBAAgB,UAAY5N,GAhBT,YAiBnB6N,eAAc,QAAU7N,GAjBL,aAoBfI,GACM,WADNA,GAEE,OAFFA,GAGI,SAHJA,GAIO,YAJPA,GAKM,WALNA,GAMO,sBANPA,GAOa,kBAGbwB,GACS,2BADTA,GAEQ,iBAFRA,GAGE,iBAHFA,GAIQ,cAJRA,GAKW,8DAGXkM,GACC,YADDA,GAEI,UAFJA,GAGI,eAHJA,GAIO,aAJPA,GAKG,cALHA,GAOE,aAIF1J,GAAU,CACdb,OAAQ,EACRwK,MAAM,EACNC,SAAU,eACVC,UAAW,SACX/W,QAAS,UACTgX,aAAc,MAGVvJ,GAAc,CAClBpB,OAAQ,2BACRwK,KAAM,UACNC,SAAU,mBACVC,UAAW,mBACX/W,QAAS,SACTgX,aAAc,iBASVC,cACJ,SAAAA,EAAY9a,EAASoC,GACnBiE,KAAK4G,SAAWjN,EAChBqG,KAAK0U,QAAU,KACf1U,KAAKmN,QAAUnN,KAAKoN,WAAWrR,GAC/BiE,KAAK2U,MAAQ3U,KAAK4U,kBAClB5U,KAAK6U,UAAY7U,KAAK8U,gBAEtB9U,KAAK4N,qBACLpP,EAAKC,QAAQ9E,EAAS0M,GAAUrG,iCAmBlCsI,OAAA,WACE,IAAItI,KAAK4G,SAASmO,WAAY/U,KAAK4G,SAASS,UAAUE,SAASb,IAA/D,CAIA,IAAMsO,EAAWhV,KAAK2U,MAAMtN,UAAUE,SAASb,IAE/C+N,EAASQ,aAELD,GAIJhV,KAAK6S,WAGPA,KAAA,WACE,KAAI7S,KAAK4G,SAASmO,UAAY/U,KAAK4G,SAASS,UAAUE,SAASb,KAAuB1G,KAAK2U,MAAMtN,UAAUE,SAASb,KAApH,CAIA,IAAMU,EAASqN,EAASS,qBAAqBlV,KAAK4G,UAC5CqJ,EAAgB,CACpBA,cAAejQ,KAAK4G,UAKtB,IAFkBjD,EAAakB,QAAQuC,EAAQrH,GAAM2R,KAAMzB,GAE7CpQ,iBAAd,CAKA,IAAKG,KAAK6U,UAAW,CACnB,GAAsB,oBAAXM,EACT,MAAM,IAAI9D,UAAU,mEAGtB,IAAI+D,EAAmBpV,KAAK4G,SAEG,WAA3B5G,KAAKmN,QAAQoH,UACfa,EAAmBhO,EACVlM,EAAU8E,KAAKmN,QAAQoH,aAChCa,EAAmBpV,KAAKmN,QAAQoH,UAGa,oBAAlCvU,KAAKmN,QAAQoH,UAAUb,SAChC0B,EAAmBpV,KAAKmN,QAAQoH,UAAU,KAOhB,iBAA1BvU,KAAKmN,QAAQmH,UACflN,EAAOC,UAAU0B,IAAIrC,IAGvB1G,KAAK0U,QAAU,IAAIS,EAAOC,EAAkBpV,KAAK2U,MAAO3U,KAAKqV,oBAO3D,iBAAkB7b,SAAS8L,kBAC5BtI,EAAUqI,EAAerG,QAAQoI,EAAQc,KAAsBxF,QAChE1F,EAAUxD,SAASuE,KAAKyH,UACrBrJ,SAAQ,SAAAkW,GAAI,OAAI1O,EAAaM,GAAGoO,EAAM,YAAa,MV3BzC,kBU8BfrS,KAAK4G,SAASgC,QACd5I,KAAK4G,SAASiC,aAAa,iBAAiB,GAE5CQ,GAAYkB,YAAYvK,KAAK2U,MAAOjO,IACpC2C,GAAYkB,YAAYnD,EAAQV,IAChC/C,EAAakB,QAAQuC,EAAQrH,GAAM4R,MAAO1B,QAG5C2C,KAAA,WACE,IAAI5S,KAAK4G,SAASmO,WAAY/U,KAAK4G,SAASS,UAAUE,SAASb,KAAwB1G,KAAK2U,MAAMtN,UAAUE,SAASb,IAArH,CAIA,IAAMU,EAASqN,EAASS,qBAAqBlV,KAAK4G,UAC5CqJ,EAAgB,CACpBA,cAAejQ,KAAK4G,UAGJjD,EAAakB,QAAQuC,EAAQrH,GAAM6R,KAAM3B,GAE7CpQ,mBAIVG,KAAK0U,SACP1U,KAAK0U,QAAQY,UAGfjM,GAAYkB,YAAYvK,KAAK2U,MAAOjO,IACpC2C,GAAYkB,YAAYnD,EAAQV,IAChC/C,EAAakB,QAAQuC,EAAQrH,GAAM8R,OAAQ5B,QAG7C9I,QAAA,WACE3I,EAAKI,WAAWoB,KAAK4G,SAAUP,IAC/B1C,EAAaC,IAAI5D,KAAK4G,SAAUN,IAChCtG,KAAK4G,SAAW,KAChB5G,KAAK2U,MAAQ,KACT3U,KAAK0U,UACP1U,KAAK0U,QAAQY,UACbtV,KAAK0U,QAAU,SAInBa,OAAA,WACEvV,KAAK6U,UAAY7U,KAAK8U,gBAClB9U,KAAK0U,SACP1U,KAAK0U,QAAQc,oBAMjB5H,mBAAA,WAAqB,IAAAnI,EAAAzF,KACnB2D,EAAaM,GAAGjE,KAAK4G,SAAU7G,GAAMkU,OAAO,SAAApS,GAC1CA,EAAMjC,iBACNiC,EAAM4T,kBACNhQ,EAAK6C,eAIT8E,WAAA,SAAWrR,GAaT,OAZAA,EAAM2N,EAAA,GACD1J,KAAK0V,YAAYhL,QADhB,GAEDrB,GAAYG,kBAAkBxJ,KAAK4G,UAFlC,GAGD7K,GAGLF,EACE4O,GACA1O,EACAiE,KAAK0V,YAAYzK,aAGZlP,KAGT6Y,gBAAA,WACE,IAAMxN,EAASqN,EAASS,qBAAqBlV,KAAK4G,UAElD,OAAOvB,EAAelG,QAAQ+I,GAAed,MAG/CuO,cAAA,WACE,IAAMC,EAAiB5V,KAAK4G,SAASvJ,WACjCwY,EAAYzB,GAgBhB,OAbIwB,EAAevO,UAAUE,SAASb,KACpCmP,EAAYzB,GACRpU,KAAK2U,MAAMtN,UAAUE,SAASb,MAChCmP,EAAYzB,KAELwB,EAAevO,UAAUE,SAASb,IAC3CmP,EAAYzB,GACHwB,EAAevO,UAAUE,SAASb,IAC3CmP,EAAYzB,GACHpU,KAAK2U,MAAMtN,UAAUE,SAASb,MACvCmP,EAAYzB,IAGPyB,KAGTf,cAAA,WACE,OAAOnU,QAAQ0E,EAAerG,QAAQgB,KAAK4G,SAAU,eAGvDkP,WAAA,WAAa,IAAAhH,EAAA9O,KACL6J,EAAS,GAef,MAbmC,mBAAxB7J,KAAKmN,QAAQtD,OACtBA,EAAOrG,GAAK,SAAApF,GAMV,OALAA,EAAK2X,QAALrM,EAAA,GACKtL,EAAK2X,QADV,GAEKjH,EAAK3B,QAAQtD,OAAOzL,EAAK2X,QAASjH,EAAKlI,WAAa,IAGlDxI,GAGTyL,EAAOA,OAAS7J,KAAKmN,QAAQtD,OAGxBA,KAGTwL,iBAAA,WACE,IAAMb,EAAe,CACnBqB,UAAW7V,KAAK2V,gBAChBK,UAAW,CACTnM,OAAQ7J,KAAK8V,aACbzB,KAAM,CACJ4B,QAASjW,KAAKmN,QAAQkH,MAExB6B,gBAAiB,CACfC,kBAAmBnW,KAAKmN,QAAQmH,YAYtC,MAN6B,WAAzBtU,KAAKmN,QAAQ3P,UACfgX,EAAawB,UAAUI,WAAa,CAClCH,SAAS,IAIbvM,EAAA,GACK8K,EADL,GAEKxU,KAAKmN,QAAQqH,iBAMb6B,kBAAP,SAAyB1c,EAASoC,GAChC,IAAIqC,EAAOI,EAAKG,QAAQhF,EAAS0M,IAOjC,GAJKjI,IACHA,EAAO,IAAIqW,EAAS9a,EAHY,iBAAXoC,EAAsBA,EAAS,OAMhC,iBAAXA,EAAqB,CAC9B,GAA4B,oBAAjBqC,EAAKrC,GACd,MAAM,IAAIsV,UAAJ,oBAAkCtV,EAAlC,KAGRqC,EAAKrC,SAIF2L,gBAAP,SAAuB3L,GACrB,OAAOiE,KAAK2H,MAAK,WACf8M,EAAS4B,kBAAkBrW,KAAMjE,SAI9BkZ,WAAP,SAAkBpT,GAChB,IAAIA,GA1VyB,IA0VfA,EAAMC,QACF,UAAfD,EAAME,MA9VO,IA8VaF,EAAMC,OAKnC,IADA,IAAMwU,EAAUtZ,EAAUqI,EAAepG,KAAKiJ,KACrC1F,EAAI,EAAGC,EAAM6T,EAAQ5T,OAAQF,EAAIC,EAAKD,IAAK,CAClD,IAAM4E,EAASqN,EAASS,qBAAqBoB,EAAQ9T,IAC/C+T,EAAU/X,EAAKG,QAAQ2X,EAAQ9T,GAAI6D,IACnC4J,EAAgB,CACpBA,cAAeqG,EAAQ9T,IAOzB,GAJIX,GAAwB,UAAfA,EAAME,OACjBkO,EAAcuG,WAAa3U,GAGxB0U,EAAL,CAIA,IAAME,EAAeF,EAAQ5B,MAC7B,GAAKvN,EAAOC,UAAUE,SAASb,IAI/B,KAAI7E,IAA0B,UAAfA,EAAME,MACjB,kBAAkBlF,KAAKgF,EAAM6B,OAAOgM,UACpB,UAAf7N,EAAME,MAzXG,IAyXiBF,EAAMC,QACjCsF,EAAOG,SAAS1F,EAAM6B,SAIRC,EAAakB,QAAQuC,EAAQrH,GAAM6R,KAAM3B,GAC7CpQ,mBAMV,iBAAkBrG,SAAS8L,iBAC7BtI,EAAUxD,SAASuE,KAAKyH,UACrBrJ,SAAQ,SAAAkW,GAAI,OAAI1O,EAAaC,IAAIyO,EAAM,YAAa,MV5P5C,kBU+PbiE,EAAQ9T,GAAGqG,aAAa,gBAAiB,SAErC0N,EAAQ7B,SACV6B,EAAQ7B,QAAQY,UAGlBmB,EAAapP,UAAUC,OAAOZ,IAC9BU,EAAOC,UAAUC,OAAOZ,IACxB/C,EAAakB,QAAQuC,EAAQrH,GAAM8R,OAAQ5B,SAIxCiF,qBAAP,SAA4Bvb,GAC1B,OAAOO,EAAuBP,IAAYA,EAAQ0D,cAG7CqZ,sBAAP,SAA6B7U,GAQ3B,IAAI,kBAAkBhF,KAAKgF,EAAM6B,OAAOgM,WAnatB,KAoahB7N,EAAMC,OAraW,KAqaiBD,EAAMC,QAjanB,KAkanBD,EAAMC,OAnaW,KAmaqBD,EAAMC,OAC5CuD,EAAerG,QAAQ6C,EAAM6B,OAAQwE,MACtC6L,GAAelX,KAAKgF,EAAMC,UAI7BD,EAAMjC,iBACNiC,EAAM4T,mBAEFzV,KAAK+U,WAAY/U,KAAKqH,UAAUE,SAASb,KAA7C,CAIA,IAAMU,EAASqN,EAASS,qBAAqBlV,MACvCgV,EAAW5N,EAAOC,UAAUE,SAASb,IAE3C,IAAKsO,GAAaA,IAtbC,KAsbYnT,EAAMC,OArbnB,KAqb+CD,EAAMC,OAMrE,OA5biB,KAubbD,EAAMC,OACRuD,EAAelG,QAAQ+I,GAAsBd,GAAQwB,aAGvD6L,EAASQ,aAIX,IAAM0B,EAAQ3Z,EAAUqI,EAAepG,KAAKiJ,GAAwBd,IACjE1B,OAAOvI,GAEV,GAAKwZ,EAAMjU,OAAX,CAIA,IAAI6L,EAAQoI,EAAMzT,QAAQrB,EAAM6B,QAncX,KAqcjB7B,EAAMC,OAA8ByM,EAAQ,GAC9CA,IArcqB,KAwcnB1M,EAAMC,OAAgCyM,EAAQoI,EAAMjU,OAAS,GAC/D6L,IAGEA,EAAQ,IACVA,EAAQ,GAGVoI,EAAMpI,GAAO3F,aAGRd,YAAP,SAAmBnO,GACjB,OAAO6E,EAAKG,QAAQhF,EAAS0M,6CAjY7B,MA3FY,wCA+FZ,OAAOqE,uCAIP,OAAOO,YAmYXtH,EAAaM,GAAGzK,SAAUuG,GAAMmU,iBAAkBhM,GAAsBuM,GAASiC,uBACjF/S,EAAaM,GAAGzK,SAAUuG,GAAMmU,iBAAkBhM,GAAeuM,GAASiC,uBAC1E/S,EAAaM,GAAGzK,SAAUuG,GAAM0G,eAAgBgO,GAASQ,YACzDtR,EAAaM,GAAGzK,SAAUuG,GAAMoU,eAAgBM,GAASQ,YACzDtR,EAAaM,GAAGzK,SAAUuG,GAAM0G,eAAgByB,IAAsB,SAAUrG,GAC9EA,EAAMjC,iBACNiC,EAAM4T,kBACNhB,GAAS4B,kBAAkBrW,KAAM,aAEnC2D,EACGM,GAAGzK,SAAUuG,GAAM0G,eAAgByB,IAAqB,SAAAhP,GAAC,OAAIA,EAAEuc,qBAElE,IAAM3U,GAAIjD,IASV,GAAIiD,GAAG,CACL,IAAMiH,GAAqBjH,GAAE0C,GAAGiH,IAChC3J,GAAE0C,GAAGiH,IAAQgK,GAAS/M,gBACtB5G,GAAE0C,GAAGiH,IAAMzC,YAAcyM,GACzB3T,GAAE0C,GAAGiH,IAAMxC,WAAa,WAEtB,OADAnH,GAAE0C,GAAGiH,IAAQ1C,GACN0M,GAAS/M,iBCjgBpB,IAEMrB,GAAW,WACXC,GAAS,IAAOD,GAIhBqE,GAAU,CACdkM,UAAU,EACVhM,UAAU,EACVhC,OAAO,EACPiK,MAAM,GAGF5H,GAAc,CAClB2L,SAAU,mBACVhM,SAAU,UACVhC,MAAO,UACPiK,KAAM,WAGF9S,GAAQ,CACZ6R,KAAI,OAAStL,GACbuQ,eAAc,gBAAkBvQ,GAChCuL,OAAM,SAAWvL,GACjBoL,KAAI,OAASpL,GACbqL,MAAK,QAAUrL,GACfwQ,QAAO,UAAYxQ,GACnByQ,OAAM,SAAWzQ,GACjB0Q,cAAa,gBAAkB1Q,GAC/B2Q,gBAAe,kBAAoB3Q,GACnC4Q,gBAAe,kBAAoB5Q,GACnC6Q,kBAAiB,oBAAsB7Q,GACvCG,eAAc,QAAUH,GA7BL,aAgCfI,GACQ,0BADRA,GAEgB,0BAFhBA,GAGM,iBAHNA,GAIE,aAJFA,GAKE,OALFA,GAME,OANFA,GAOI,eAGJwB,GAAW,CACfkP,OAAQ,gBACRC,WAAY,cACZrF,YAAa,wBACbsF,aAAc,yBACdC,cAAe,oDACfC,eAAgB,eASZC,cACJ,SAAAA,EAAY9d,EAASoC,GACnBiE,KAAKmN,QAAUnN,KAAKoN,WAAWrR,GAC/BiE,KAAK4G,SAAWjN,EAChBqG,KAAK0X,QAAUrS,EAAelG,QAAQ+I,GAASkP,OAAQzd,GACvDqG,KAAK2X,UAAY,KACjB3X,KAAK4X,UAAW,EAChB5X,KAAK6X,oBAAqB,EAC1B7X,KAAK8X,sBAAuB,EAC5B9X,KAAKkS,kBAAmB,EACxBlS,KAAK+X,gBAAkB,EACvBvZ,EAAKC,QAAQ9E,EAAS0M,GAAUrG,iCAelCsI,OAAA,SAAO2H,GACL,OAAOjQ,KAAK4X,SAAW5X,KAAK4S,OAAS5S,KAAK6S,KAAK5C,MAGjD4C,KAAA,SAAK5C,GAAe,IAAAxK,EAAAzF,KAClB,IAAIA,KAAK4X,WAAY5X,KAAKkS,iBAA1B,CAIIlS,KAAK4G,SAASS,UAAUE,SAASb,MACnC1G,KAAKkS,kBAAmB,GAG1B,IAAM8F,EAAYrU,EAAakB,QAAQ7E,KAAK4G,SAAU7G,GAAM2R,KAAM,CAChEzB,cAAAA,IAGEjQ,KAAK4X,UAAYI,EAAUnY,mBAI/BG,KAAK4X,UAAW,EAEhB5X,KAAKiY,kBACLjY,KAAKkY,gBAELlY,KAAKmY,gBAELnY,KAAKoY,kBACLpY,KAAKqY,kBAEL1U,EAAaM,GAAGjE,KAAK4G,SACnB7G,GAAMiX,cACN9O,GAASoP,cACT,SAAAzV,GAAK,OAAI4D,EAAKmN,KAAK/Q,MAGrB8B,EAAaM,GAAGjE,KAAK0X,QAAS3X,GAAMoX,mBAAmB,WACrDxT,EAAaO,IAAIuB,EAAKmB,SAAU7G,GAAMmX,iBAAiB,SAAArV,GACjDA,EAAM6B,SAAW+B,EAAKmB,WACxBnB,EAAKqS,sBAAuB,SAKlC9X,KAAKsY,eAAc,WAAA,OAAM7S,EAAK8S,aAAatI,WAG7C2C,KAAA,SAAK/Q,GAAO,IAAAiN,EAAA9O,KAKV,IAJI6B,GACFA,EAAMjC,iBAGHI,KAAK4X,WAAY5X,KAAKkS,oBAITvO,EAAakB,QAAQ7E,KAAK4G,SAAU7G,GAAM6R,MAE9C/R,iBAAd,CAIAG,KAAK4X,UAAW,EAChB,IAAMY,EAAaxY,KAAK4G,SAASS,UAAUE,SAASb,IAgBpD,GAdI8R,IACFxY,KAAKkS,kBAAmB,GAG1BlS,KAAKoY,kBACLpY,KAAKqY,kBAEL1U,EAAaC,IAAIpK,SAAUuG,GAAM+W,SAEjC9W,KAAK4G,SAASS,UAAUC,OAAOZ,IAE/B/C,EAAaC,IAAI5D,KAAK4G,SAAU7G,GAAMiX,eACtCrT,EAAaC,IAAI5D,KAAK0X,QAAS3X,GAAMoX,mBAEjCqB,EAAY,CACd,IAAMje,EAAqBJ,EAAiC6F,KAAK4G,UAEjEjD,EAAaO,IAAIlE,KAAK4G,SAAUzN,GAAgB,SAAA0I,GAAK,OAAIiN,EAAK2J,WAAW5W,MACzExG,EAAqB2E,KAAK4G,SAAUrM,QAEpCyF,KAAKyY,iBAITtR,QAAA,WACE,CAAC9M,OAAQ2F,KAAK4G,SAAU5G,KAAK0X,SAC1Bvb,SAAQ,SAAAuc,GAAW,OAAI/U,EAAaC,IAAI8U,EAAapS,OAOxD3C,EAAaC,IAAIpK,SAAUuG,GAAM+W,SAEjCtY,EAAKI,WAAWoB,KAAK4G,SAAUP,IAE/BrG,KAAKmN,QAAU,KACfnN,KAAK4G,SAAW,KAChB5G,KAAK0X,QAAU,KACf1X,KAAK2X,UAAY,KACjB3X,KAAK4X,SAAW,KAChB5X,KAAK6X,mBAAqB,KAC1B7X,KAAK8X,qBAAuB,KAC5B9X,KAAKkS,iBAAmB,KACxBlS,KAAK+X,gBAAkB,QAGzBY,aAAA,WACE3Y,KAAKmY,mBAKP/K,WAAA,SAAWrR,GAMT,OALAA,EAAM2N,EAAA,GACDgB,GADC,GAED3O,GAELF,EApNS,QAoNaE,EAAQkP,IACvBlP,KAGTwc,aAAA,SAAatI,GAAe,IAAAhB,EAAAjP,KACpBwY,EAAaxY,KAAK4G,SAASS,UAAUE,SAASb,IAC9CkS,EAAYvT,EAAelG,QAAQ+I,GAASmP,WAAYrX,KAAK0X,SAE9D1X,KAAK4G,SAASvJ,YACf2C,KAAK4G,SAASvJ,WAAWjC,WAAa0K,KAAKC,cAE7CvM,SAASuE,KAAK8a,YAAY7Y,KAAK4G,UAGjC5G,KAAK4G,SAASxJ,MAAMI,QAAU,QAC9BwC,KAAK4G,SAAS/F,gBAAgB,eAC9Bb,KAAK4G,SAASiC,aAAa,cAAc,GAErC7I,KAAK0X,QAAQrQ,UAAUE,SAASb,KAAyBkS,EAC3DA,EAAU3O,UAAY,EAEtBjK,KAAK4G,SAASqD,UAAY,EAGxBuO,GACF7a,EAAOqC,KAAK4G,UAGd5G,KAAK4G,SAASS,UAAU0B,IAAIrC,IAExB1G,KAAKmN,QAAQvE,OACf5I,KAAK8Y,gBAGP,IAAMC,EAAqB,WACrB9J,EAAK9B,QAAQvE,OACfqG,EAAKrI,SAASgC,QAGhBqG,EAAKiD,kBAAmB,EACxBvO,EAAakB,QAAQoK,EAAKrI,SAAU7G,GAAM4R,MAAO,CAC/C1B,cAAAA,KAIJ,GAAIuI,EAAY,CACd,IAAMje,EAAqBJ,EAAiC6F,KAAK0X,SAEjE/T,EAAaO,IAAIlE,KAAK0X,QAASve,EAAgB4f,GAC/C1d,EAAqB2E,KAAK0X,QAASnd,QAEnCwe,OAIJD,cAAA,WAAgB,IAAAnI,EAAA3Q,KACd2D,EAAaC,IAAIpK,SAAUuG,GAAM+W,SACjCnT,EAAaM,GAAGzK,SAAUuG,GAAM+W,SAAS,SAAAjV,GACnCrI,WAAaqI,EAAM6B,QACnBiN,EAAK/J,WAAa/E,EAAM6B,QACvBiN,EAAK/J,SAASW,SAAS1F,EAAM6B,SAChCiN,EAAK/J,SAASgC,cAKpBwP,gBAAA,WAAkB,IAAAY,EAAAhZ,KACZA,KAAK4X,UAAY5X,KAAKmN,QAAQvC,SAChCjH,EAAaM,GAAGjE,KAAK4G,SAAU7G,GAAMkX,iBAAiB,SAAApV,GAnRrC,KAoRXA,EAAMC,OACRkX,EAAKC,gCAITtV,EAAaC,IAAI5D,KAAK4G,SAAU7G,GAAMkX,oBAI1CoB,gBAAA,WAAkB,IAAAa,EAAAlZ,KACZA,KAAK4X,SACPjU,EAAaM,GAAG5J,OAAQ0F,GAAMgX,QAAQ,WAAA,OAAMmC,EAAKf,mBAEjDxU,EAAaC,IAAIvJ,OAAQ0F,GAAMgX,WAInC0B,WAAA,WAAa,IAAAU,EAAAnZ,KACXA,KAAK4G,SAASxJ,MAAMI,QAAU,OAC9BwC,KAAK4G,SAASiC,aAAa,eAAe,GAC1C7I,KAAK4G,SAAS/F,gBAAgB,cAC9Bb,KAAKkS,kBAAmB,EACxBlS,KAAKsY,eAAc,WACjB9e,SAASuE,KAAKsJ,UAAUC,OAAOZ,IAC/ByS,EAAKC,oBACLD,EAAKE,kBACL1V,EAAakB,QAAQsU,EAAKvS,SAAU7G,GAAM8R,cAI9CyH,gBAAA,WACEtZ,KAAK2X,UAAUta,WAAWoK,YAAYzH,KAAK2X,WAC3C3X,KAAK2X,UAAY,QAGnBW,cAAA,SAAciB,GAAU,IAAAC,EAAAxZ,KAChByZ,EAAUzZ,KAAK4G,SAASS,UAAUE,SAASb,IAC/CA,GACA,GAEF,GAAI1G,KAAK4X,UAAY5X,KAAKmN,QAAQyJ,SAAU,CA6B1C,GA5BA5W,KAAK2X,UAAYne,SAAS4G,cAAc,OACxCJ,KAAK2X,UAAUnN,UAAY9D,GAEvB+S,GACFzZ,KAAK2X,UAAUtQ,UAAU0B,IAAI0Q,GAG/BjgB,SAASuE,KAAK8a,YAAY7Y,KAAK2X,WAE/BhU,EAAaM,GAAGjE,KAAK4G,SAAU7G,GAAMiX,eAAe,SAAAnV,GAC9C2X,EAAK1B,qBACP0B,EAAK1B,sBAAuB,EAI1BjW,EAAM6B,SAAW7B,EAAM6X,eAI3BF,EAAKP,gCAGHQ,GACF9b,EAAOqC,KAAK2X,WAGd3X,KAAK2X,UAAUtQ,UAAU0B,IAAIrC,KAExB+S,EAEH,YADAF,IAIF,IAAMI,EAA6Bxf,EAAiC6F,KAAK2X,WAEzEhU,EAAaO,IAAIlE,KAAK2X,UAAWxe,EAAgBogB,GACjDle,EAAqB2E,KAAK2X,UAAWgC,QAChC,IAAK3Z,KAAK4X,UAAY5X,KAAK2X,UAAW,CAC3C3X,KAAK2X,UAAUtQ,UAAUC,OAAOZ,IAEhC,IAAMkT,EAAiB,WACrBJ,EAAKF,kBACLC,KAGF,GAAIvZ,KAAK4G,SAASS,UAAUE,SAASb,IAAiB,CACpD,IAAMiT,EAA6Bxf,EAAiC6F,KAAK2X,WACzEhU,EAAaO,IAAIlE,KAAK2X,UAAWxe,EAAgBygB,GACjDve,EAAqB2E,KAAK2X,UAAWgC,QAErCC,SAGFL,OAIJN,2BAAA,WAA6B,IAAAY,EAAA7Z,KAC3B,GAA8B,WAA1BA,KAAKmN,QAAQyJ,SAAuB,CAEtC,GADkBjT,EAAakB,QAAQ7E,KAAK4G,SAAU7G,GAAM8W,gBAC9ChX,iBACZ,OAGFG,KAAK4G,SAASS,UAAU0B,IAAIrC,IAC5B,IAAMoT,EAA0B3f,EAAiC6F,KAAK4G,UACtEjD,EAAaO,IAAIlE,KAAK4G,SAAUzN,GAAgB,WAC9C0gB,EAAKjT,SAASS,UAAUC,OAAOZ,OAEjCrL,EAAqB2E,KAAK4G,SAAUkT,GACpC9Z,KAAK4G,SAASgC,aAEd5I,KAAK4S,UAQTuF,cAAA,WACE,IAAM4B,EACJ/Z,KAAK4G,SAASoT,aAAexgB,SAAS8L,gBAAgB2U,cAEnDja,KAAK6X,oBAAsBkC,IAC9B/Z,KAAK4G,SAASxJ,MAAM8c,YAAiBla,KAAK+X,gBAA1C,MAGE/X,KAAK6X,qBAAuBkC,IAC9B/Z,KAAK4G,SAASxJ,MAAM+c,aAAkBna,KAAK+X,gBAA3C,SAIJqB,kBAAA,WACEpZ,KAAK4G,SAASxJ,MAAM8c,YAAc,GAClCla,KAAK4G,SAASxJ,MAAM+c,aAAe,MAGrClC,gBAAA,WACE,IAAMnO,EAAOtQ,SAASuE,KAAKgM,wBAC3B/J,KAAK6X,mBAAqB/N,EAAKI,KAAOJ,EAAKsQ,MAAQ/f,OAAOggB,WAC1Dra,KAAK+X,gBAAkB/X,KAAKsa,wBAG9BpC,cAAA,WAAgB,IAAAqC,EAAAva,KACd,GAAIA,KAAK6X,mBAAoB,CAK3B7a,EAAUqI,EAAepG,KAAKiJ,GAASqP,gBACpCpb,SAAQ,SAAAxC,GACP,IAAM6gB,EAAgB7gB,EAAQyD,MAAM+c,aAC9BM,EAAoBpgB,OAAOC,iBAAiBX,GAAS,iBAC3D0P,GAAYC,iBAAiB3P,EAAS,gBAAiB6gB,GACvD7gB,EAAQyD,MAAM+c,aAAkBzf,WAAW+f,GAAqBF,EAAKxC,gBAArE,QAIJ/a,EAAUqI,EAAepG,KAAKiJ,GAASsP,iBACpCrb,SAAQ,SAAAxC,GACP,IAAM+gB,EAAe/gB,EAAQyD,MAAMud,YAC7BC,EAAmBvgB,OAAOC,iBAAiBX,GAAS,gBAC1D0P,GAAYC,iBAAiB3P,EAAS,eAAgB+gB,GACtD/gB,EAAQyD,MAAMud,YAAiBjgB,WAAWkgB,GAAoBL,EAAKxC,gBAAnE,QAIJ,IAAMyC,EAAgBhhB,SAASuE,KAAKX,MAAM+c,aACpCM,EAAoBpgB,OAAOC,iBAAiBd,SAASuE,MAAM,iBAEjEsL,GAAYC,iBAAiB9P,SAASuE,KAAM,gBAAiByc,GAC7DhhB,SAASuE,KAAKX,MAAM+c,aAAkBzf,WAAW+f,GAAqBza,KAAK+X,gBAA3E,KAGFve,SAASuE,KAAKsJ,UAAU0B,IAAIrC,OAG9B2S,gBAAA,WAEErc,EAAUqI,EAAepG,KAAKiJ,GAASqP,gBACpCpb,SAAQ,SAAAxC,GACP,IAAMkhB,EAAUxR,GAAYO,iBAAiBjQ,EAAS,iBAC/B,oBAAZkhB,IACTxR,GAAYE,oBAAoB5P,EAAS,iBACzCA,EAAQyD,MAAM+c,aAAeU,MAKnC7d,EAAUqI,EAAepG,KAAf,GAAuBiJ,GAASsP,iBACvCrb,SAAQ,SAAAxC,GACP,IAAMmhB,EAASzR,GAAYO,iBAAiBjQ,EAAS,gBAC/B,oBAAXmhB,IACTzR,GAAYE,oBAAoB5P,EAAS,gBACzCA,EAAQyD,MAAMud,YAAcG,MAKlC,IAAMD,EAAUxR,GAAYO,iBAAiBpQ,SAASuE,KAAM,iBACrC,oBAAZ8c,EACTrhB,SAASuE,KAAKX,MAAM+c,aAAe,IAEnC9Q,GAAYE,oBAAoB/P,SAASuE,KAAM,iBAC/CvE,SAASuE,KAAKX,MAAM+c,aAAeU,MAIvCP,mBAAA,WACE,IAAMS,EAAYvhB,SAAS4G,cAAc,OACzC2a,EAAUvQ,UAAY9D,GACtBlN,SAASuE,KAAK8a,YAAYkC,GAC1B,IAAMC,EAAiBD,EAAUhR,wBAAwBkR,MAAQF,EAAUG,YAE3E,OADA1hB,SAASuE,KAAK0J,YAAYsT,GACnBC,KAKFtT,gBAAP,SAAuB3L,EAAQkU,GAC7B,OAAOjQ,KAAK2H,MAAK,WACf,IAAIvJ,EAAOI,EAAKG,QAAQqB,KAAMqG,IACxB8G,EAAOzD,EAAA,GACRgB,GADQ,GAERrB,GAAYG,kBAAkBxJ,MAFtB,GAGU,iBAAXjE,GAAuBA,EAASA,EAAS,IAOrD,GAJKqC,IACHA,EAAO,IAAIqZ,EAAMzX,KAAMmN,IAGH,iBAAXpR,EAAqB,CAC9B,GAA4B,oBAAjBqC,EAAKrC,GACd,MAAM,IAAIsV,UAAJ,oBAAkCtV,EAAlC,KAGRqC,EAAKrC,GAAQkU,QACJ9C,EAAQ0F,MACjBzU,EAAKyU,KAAK5C,SAKTnI,YAAP,SAAmBnO,GACjB,OAAO6E,EAAKG,QAAQhF,EAAS0M,6CAlc7B,MA7EY,wCAiFZ,OAAOqE,YAwcX/G,EAAaM,GAAGzK,SAAUuG,GAAM0G,eAAgByB,GAAS8J,aAAa,SAAUnQ,GAAO,IAAAsZ,EAAAnb,KAC/E0D,EAASxJ,EAAuB8F,MAEjB,MAAjBA,KAAK0P,SAAoC,SAAjB1P,KAAK0P,SAC/B7N,EAAMjC,iBAGR+D,EAAaO,IAAIR,EAAQ3D,GAAM2R,MAAM,SAAAsG,GAC/BA,EAAUnY,kBAKd8D,EAAaO,IAAIR,EAAQ3D,GAAM8R,QAAQ,WACjC1U,EAAUge,IACZA,EAAKvS,cAKX,IAAIxK,EAAOI,EAAKG,QAAQ+E,EAAQ2C,IAChC,IAAKjI,EAAM,CACT,IAAMrC,EAAM2N,EAAA,GACPL,GAAYG,kBAAkB9F,GADvB,GAEP2F,GAAYG,kBAAkBxJ,OAGnC5B,EAAO,IAAIqZ,GAAM/T,EAAQ3H,GAG3BqC,EAAKyU,KAAK7S,SAGZ,IAAMc,GAAIjD,IASV,GAAIiD,GAAG,CACL,IAAMiH,GAAqBjH,GAAE0C,GAAF,MAC3B1C,GAAE0C,GAAF,MAAaiU,GAAM/P,gBACnB5G,GAAE0C,GAAF,MAAWwE,YAAcyP,GACzB3W,GAAE0C,GAAF,MAAWyE,WAAa,WAEtB,OADAnH,GAAE0C,GAAF,MAAauE,GACN0P,GAAM/P,iBC9lBjB,IAAM0T,GAAW,CACf,aACA,OACA,OACA,WACA,WACA,SACA,MACA,cAUIC,GAAmB,8DAOnBC,GAAmB,sIAEnBC,GAAmB,SAACC,EAAMC,GAC9B,IAAMC,EAAWF,EAAKG,SAAShf,cAE/B,IAAgD,IAA5C8e,EAAqBvY,QAAQwY,GAC/B,OAAoC,IAAhCN,GAASlY,QAAQwY,IACZ/a,QAAQ6a,EAAKI,UAAUlf,MAAM2e,KAAqBG,EAAKI,UAAUlf,MAAM4e,KASlF,IAHA,IAAMO,EAASJ,EAAqB/V,QAAO,SAAAoW,GAAS,OAAIA,aAAqBlf,UAGpE4F,EAAI,EAAGuZ,EAAIF,EAAOnZ,OAAQF,EAAIuZ,EAAGvZ,IACxC,GAAIkZ,EAAShf,MAAMmf,EAAOrZ,IACxB,OAAO,EAIX,OAAO,GAGIwZ,GAAmB,CAE9BC,IAAK,CAAC,QAAS,MAAO,KAAM,OAAQ,OAzCP,kBA0C7BC,EAAG,CAAC,SAAU,OAAQ,QAAS,OAC/BC,KAAM,GACNC,EAAG,GACHC,GAAI,GACJC,IAAK,GACLC,KAAM,GACNC,IAAK,GACLC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJxa,EAAG,GACHya,IAAK,CAAC,MAAO,MAAO,QAAS,QAAS,UACtCC,GAAI,GACJC,GAAI,GACJC,EAAG,GACHC,IAAK,GACLC,EAAG,GACHC,MAAO,GACPC,KAAM,GACNC,IAAK,GACLC,IAAK,GACLC,OAAQ,GACRC,EAAG,GACHC,GAAI,IAGC,SAASC,GAAaC,EAAYC,EAAWC,GAClD,IAAKF,EAAWrb,OACd,OAAOqb,EAGT,GAAIE,GAAoC,mBAAfA,EACvB,OAAOA,EAAWF,GAQpB,IALA,IACMG,GADY,IAAI7jB,OAAO8jB,WACKC,gBAAgBL,EAAY,aACxDM,EAAgBpiB,OAAOC,KAAK8hB,GAC5BM,EAAWthB,EAAUkhB,EAAgBngB,KAAKmB,iBAAiB,MAZHqf,EAAA,SAcrD/b,EAAOC,GACd,IAAM+b,EAAKF,EAAS9b,GACdic,EAASD,EAAG7C,SAAShf,cAE3B,IAAuC,IAAnC0hB,EAAcnb,QAAQub,GAGxB,OAFAD,EAAGnhB,WAAWoK,YAAY+W,GAE1B,WAGF,IAAME,EAAgB1hB,EAAUwhB,EAAG/U,YAC7BkV,EAAwB,GAAGC,OAAOZ,EAAU,MAAQ,GAAIA,EAAUS,IAAW,IAEnFC,EAAcviB,SAAQ,SAAAqf,GACfD,GAAiBC,EAAMmD,IAC1BH,EAAG3d,gBAAgB2a,EAAKG,cAfrBnZ,EAAI,EAAGC,EAAM6b,EAAS5b,OAAQF,EAAIC,EAAKD,IAAK+b,EAA5C/b,GAoBT,OAAO0b,EAAgBngB,KAAK8gB,UC5F9B,IAAMpU,GAAO,UAKPqU,GAAqB,IAAIliB,OAAJ,wBAAyC,KAC9DmiB,GAAwB,CAAC,WAAY,YAAa,cAElD9T,GAAc,CAClB+T,UAAW,UACXC,SAAU,SACVC,MAAO,4BACPra,QAAS,SACTsa,MAAO,kBACPC,KAAM,UACNxlB,SAAU,mBACVic,UAAW,oBACXhM,OAAQ,2BACRmJ,UAAW,2BACXqM,kBAAmB,iBACnB/K,SAAU,mBACVgL,SAAU,UACVrB,WAAY,kBACZD,UAAW,SACXxJ,aAAc,iBAGVJ,GAAgB,CACpBmL,KAAM,OACNC,IAAK,MACLC,MAAO,QACPC,OAAQ,SACRC,KAAM,QAGFjV,GAAU,CACdsU,WAAW,EACXC,SAAU,+GAGVpa,QAAS,cACTqa,MAAO,GACPC,MAAO,EACPC,MAAM,EACNxlB,UAAU,EACVic,UAAW,MACXhM,OAAQ,EACRmJ,WAAW,EACXqM,kBAAmB,OACnB/K,SAAU,eACVgL,UAAU,EACVrB,WAAY,KACZD,UAAWhC,GACXxH,aAAc,MAGVoL,GACE,OADFA,GAEC,MAGD7f,GAAQ,CACZ6R,KAAI,kBACJC,OAAM,oBACNH,KAAI,kBACJC,MAAK,mBACLkO,SAAQ,sBACR5L,MAAK,mBACL6C,QAAO,qBACPgJ,SAAQ,sBACRxU,WAAU,wBACVC,WAAU,yBAGN7E,GACE,OADFA,GAEE,OAGFwB,GACW,iBAGX6X,GACG,QADHA,GAEG,QAFHA,GAGG,QAHHA,GAII,SASJC,cACJ,SAAAA,EAAYrmB,EAASoC,GACnB,GAAsB,oBAAXoZ,EACT,MAAM,IAAI9D,UAAU,kEAItBrR,KAAKigB,YAAa,EAClBjgB,KAAKkgB,SAAW,EAChBlgB,KAAKmgB,YAAc,GACnBngB,KAAKogB,eAAiB,GACtBpgB,KAAK0U,QAAU,KAGf1U,KAAKrG,QAAUA,EACfqG,KAAKjE,OAASiE,KAAKoN,WAAWrR,GAC9BiE,KAAKqgB,IAAM,KAEXrgB,KAAKsgB,gBACL9hB,EAAKC,QAAQ9E,EAASqG,KAAK0V,YAAYrP,SAAUrG,iCAmCnDugB,OAAA,WACEvgB,KAAKigB,YAAa,KAGpBO,QAAA,WACExgB,KAAKigB,YAAa,KAGpBQ,cAAA,WACEzgB,KAAKigB,YAAcjgB,KAAKigB,cAG1B3X,OAAA,SAAOzG,GACL,GAAK7B,KAAKigB,WAIV,GAAIpe,EAAO,CACT,IAAM6e,EAAU1gB,KAAK0V,YAAYrP,SAC7BkQ,EAAU/X,EAAKG,QAAQkD,EAAMK,eAAgBwe,GAE5CnK,IACHA,EAAU,IAAIvW,KAAK0V,YACjB7T,EAAMK,eACNlC,KAAK2gB,sBAEPniB,EAAKC,QAAQoD,EAAMK,eAAgBwe,EAASnK,IAG9CA,EAAQ6J,eAAeQ,OAASrK,EAAQ6J,eAAeQ,MAEnDrK,EAAQsK,uBACVtK,EAAQuK,OAAO,KAAMvK,GAErBA,EAAQwK,OAAO,KAAMxK,OAElB,CACL,GAAIvW,KAAKghB,gBAAgB3Z,UAAUE,SAASb,IAE1C,YADA1G,KAAK+gB,OAAO,KAAM/gB,MAIpBA,KAAK8gB,OAAO,KAAM9gB,UAItBmH,QAAA,WACEoI,aAAavP,KAAKkgB,UAElB1hB,EAAKI,WAAWoB,KAAKrG,QAASqG,KAAK0V,YAAYrP,UAE/C1C,EAAaC,IAAI5D,KAAKrG,QAASqG,KAAK0V,YAAYpP,WAChD3C,EAAaC,IAAIyB,EAAerG,QAAQgB,KAAKrG,QAAS,UAAW,gBAAiBqG,KAAKihB,mBAEnFjhB,KAAKqgB,KACPrgB,KAAKqgB,IAAIhjB,WAAWoK,YAAYzH,KAAKqgB,KAGvCrgB,KAAKigB,WAAa,KAClBjgB,KAAKkgB,SAAW,KAChBlgB,KAAKmgB,YAAc,KACnBngB,KAAKogB,eAAiB,KAClBpgB,KAAK0U,SACP1U,KAAK0U,QAAQY,UAGftV,KAAK0U,QAAU,KACf1U,KAAKrG,QAAU,KACfqG,KAAKjE,OAAS,KACdiE,KAAKqgB,IAAM,QAGbxN,KAAA,WAAO,IAAApN,EAAAzF,KACL,GAAmC,SAA/BA,KAAKrG,QAAQyD,MAAMI,QACrB,MAAM,IAAIV,MAAM,uCAGlB,GAAIkD,KAAKkhB,iBAAmBlhB,KAAKigB,WAAY,CAC3C,IAAMjI,EAAYrU,EAAakB,QAAQ7E,KAAKrG,QAASqG,KAAK0V,YAAY3V,MAAM2R,MACtEyP,EbjHW,SAAjBC,EAAiBznB,GACrB,IAAKH,SAAS8L,gBAAgB+b,aAC5B,OAAO,KAIT,GAAmC,mBAAxB1nB,EAAQ2nB,YAA4B,CAC7C,IAAMC,EAAO5nB,EAAQ2nB,cACrB,OAAOC,aAAgBC,WAAaD,EAAO,KAG7C,OAAI5nB,aAAmB6nB,WACd7nB,EAIJA,EAAQ0D,WAIN+jB,EAAeznB,EAAQ0D,YAHrB,KagGc+jB,CAAephB,KAAKrG,SACjC8nB,EAA4B,OAAfN,EACjBnhB,KAAKrG,QAAQ+nB,cAAcpc,gBAAgBiC,SAASvH,KAAKrG,SACzDwnB,EAAW5Z,SAASvH,KAAKrG,SAE3B,GAAIqe,EAAUnY,mBAAqB4hB,EACjC,OAGF,IAAMpB,EAAMrgB,KAAKghB,gBACXW,EAAQvoB,EAAO4G,KAAK0V,YAAYjL,MAEtC4V,EAAIxX,aAAa,KAAM8Y,GACvB3hB,KAAKrG,QAAQkP,aAAa,mBAAoB8Y,GAE9C3hB,KAAK4hB,aAED5hB,KAAKjE,OAAOijB,WACdqB,EAAIhZ,UAAU0B,IAAIrC,IAGpB,IAAMmP,EAA6C,mBAA1B7V,KAAKjE,OAAO8Z,UACnC7V,KAAKjE,OAAO8Z,UAAUpZ,KAAKuD,KAAMqgB,EAAKrgB,KAAKrG,SAC3CqG,KAAKjE,OAAO8Z,UAERgM,EAAa7hB,KAAK8hB,eAAejM,GACvC7V,KAAK+hB,oBAAoBF,GAEzB,IAAM7O,EAAYhT,KAAKgiB,gBACvBxjB,EAAKC,QAAQ4hB,EAAKrgB,KAAK0V,YAAYrP,SAAUrG,MAExCA,KAAKrG,QAAQ+nB,cAAcpc,gBAAgBiC,SAASvH,KAAKqgB,MAC5DrN,EAAU6F,YAAYwH,GAGxB1c,EAAakB,QAAQ7E,KAAKrG,QAASqG,KAAK0V,YAAY3V,MAAM8f,UAE1D7f,KAAK0U,QAAU,IAAIS,EAAOnV,KAAKrG,QAAS0mB,EAAKrgB,KAAKqV,iBAAiBwM,IAEnExB,EAAIhZ,UAAU0B,IAAIrC,IAMd,iBAAkBlN,SAAS8L,iBAC7BtI,EAAUxD,SAASuE,KAAKyH,UAAUrJ,SAAQ,SAAAxC,GACxCgK,EAAaM,GAAGtK,EAAS,abzIhB,kBa6Ib,IAAMsoB,EAAW,WACXxc,EAAK1J,OAAOijB,WACdvZ,EAAKyc,iBAGP,IAAMC,EAAiB1c,EAAK0a,YAC5B1a,EAAK0a,YAAc,KAEnBxc,EAAakB,QAAQY,EAAK9L,QAAS8L,EAAKiQ,YAAY3V,MAAM4R,OAEtDwQ,IAAmBvC,IACrBna,EAAKsb,OAAO,KAAMtb,IAItB,GAAIzF,KAAKqgB,IAAIhZ,UAAUE,SAASb,IAAiB,CAC/C,IAAMnM,EAAqBJ,EAAiC6F,KAAKqgB,KACjE1c,EAAaO,IAAIlE,KAAKqgB,IAAKlnB,EAAgB8oB,GAC3C5mB,EAAqB2E,KAAKqgB,IAAK9lB,QAE/B0nB,QAKNrP,KAAA,WAAO,IAAA9D,EAAA9O,KACCqgB,EAAMrgB,KAAKghB,gBACXiB,EAAW,WACXnT,EAAKqR,cAAgBP,IAAmBS,EAAIhjB,YAC9CgjB,EAAIhjB,WAAWoK,YAAY4Y,GAG7BvR,EAAKsT,iBACLtT,EAAKnV,QAAQkH,gBAAgB,oBAC7B8C,EAAakB,QAAQiK,EAAKnV,QAASmV,EAAK4G,YAAY3V,MAAM8R,QAC1D/C,EAAK4F,QAAQY,WAIf,IADkB3R,EAAakB,QAAQ7E,KAAKrG,QAASqG,KAAK0V,YAAY3V,MAAM6R,MAC9D/R,iBAAd,CAiBA,GAbAwgB,EAAIhZ,UAAUC,OAAOZ,IAIjB,iBAAkBlN,SAAS8L,iBAC7BtI,EAAUxD,SAASuE,KAAKyH,UACrBrJ,SAAQ,SAAAxC,GAAO,OAAIgK,EAAaC,IAAIjK,EAAS,YAAa+D,MAG/DsC,KAAKogB,eAAeL,KAAiB,EACrC/f,KAAKogB,eAAeL,KAAiB,EACrC/f,KAAKogB,eAAeL,KAAiB,EAEjC/f,KAAKqgB,IAAIhZ,UAAUE,SAASb,IAAiB,CAC/C,IAAMnM,EAAqBJ,EAAiCkmB,GAE5D1c,EAAaO,IAAImc,EAAKlnB,EAAgB8oB,GACtC5mB,EAAqBglB,EAAK9lB,QAE1B0nB,IAGFjiB,KAAKmgB,YAAc,OAGrB5K,OAAA,WACuB,OAAjBvV,KAAK0U,SACP1U,KAAK0U,QAAQc,oBAMjB0L,cAAA,WACE,OAAOvgB,QAAQX,KAAKqiB,eAGtBrB,cAAA,WACE,GAAIhhB,KAAKqgB,IACP,OAAOrgB,KAAKqgB,IAGd,IAAM1mB,EAAUH,SAAS4G,cAAc,OAIvC,OAHAzG,EAAQklB,UAAY7e,KAAKjE,OAAOkjB,SAEhCjf,KAAKqgB,IAAM1mB,EAAQ6L,SAAS,GACrBxF,KAAKqgB,OAGduB,WAAA,WACE,IAAMvB,EAAMrgB,KAAKghB,gBACjBhhB,KAAKsiB,kBAAkBjd,EAAelG,QAAQ+I,GAAwBmY,GAAMrgB,KAAKqiB,YACjFhC,EAAIhZ,UAAUC,OAAOZ,IACrB2Z,EAAIhZ,UAAUC,OAAOZ,OAGvB4b,kBAAA,SAAkB3oB,EAAS4oB,GACzB,GAAgB,OAAZ5oB,EAIJ,MAAuB,iBAAZ4oB,GAAwBrnB,EAAUqnB,IACvCA,EAAQ7O,SACV6O,EAAUA,EAAQ,SAIhBviB,KAAKjE,OAAOqjB,KACVmD,EAAQllB,aAAe1D,IACzBA,EAAQklB,UAAY,GACpBllB,EAAQkf,YAAY0J,IAGtB5oB,EAAQ6oB,UAAYD,EAAQE,mBAM5BziB,KAAKjE,OAAOqjB,MACVpf,KAAKjE,OAAOujB,WACdiD,EAAUzE,GAAayE,EAASviB,KAAKjE,OAAOiiB,UAAWhe,KAAKjE,OAAOkiB,aAGrEtkB,EAAQklB,UAAY0D,GAEpB5oB,EAAQ6oB,UAAYD,MAIxBF,SAAA,WACE,IAAInD,EAAQlf,KAAKrG,QAAQE,aAAa,uBAQtC,OANKqlB,IACHA,EAAqC,mBAAtBlf,KAAKjE,OAAOmjB,MACzBlf,KAAKjE,OAAOmjB,MAAMziB,KAAKuD,KAAKrG,SAC5BqG,KAAKjE,OAAOmjB,OAGTA,KAKT7J,iBAAA,SAAiBwM,GAAY,IAAA5S,EAAAjP,KAuB3B,OAAA0J,EAAA,GAtBwB,CACtBmM,UAAWgM,EACX7L,UAAW,CACTnM,OAAQ7J,KAAK8V,aACbzB,KAAM,CACJqO,SAAU1iB,KAAKjE,OAAOsjB,mBAExBsD,MAAO,CACLhpB,QAAO,IAAMqG,KAAK0V,YAAYjL,KAAvB,UAETyL,gBAAiB,CACfC,kBAAmBnW,KAAKjE,OAAOuY,WAGnCsO,SAAU,SAAAxkB,GACJA,EAAKykB,oBAAsBzkB,EAAKyX,WAClC5G,EAAK6T,6BAA6B1kB,IAGtC2kB,SAAU,SAAA3kB,GAAI,OAAI6Q,EAAK6T,6BAA6B1kB,KAGtD,GAEK4B,KAAKjE,OAAOyY,iBAInBuN,oBAAA,SAAoBF,GAClB7hB,KAAKghB,gBAAgB3Z,UAAU0B,IAAOia,cAAgBnB,MAGxD/L,WAAA,WAAa,IAAAnF,EAAA3Q,KACL6J,EAAS,GAef,MAbkC,mBAAvB7J,KAAKjE,OAAO8N,OACrBA,EAAOrG,GAAK,SAAApF,GAMV,OALAA,EAAK2X,QAALrM,EAAA,GACKtL,EAAK2X,QADV,GAEKpF,EAAK5U,OAAO8N,OAAOzL,EAAK2X,QAASpF,EAAKhX,UAAY,IAGhDyE,GAGTyL,EAAOA,OAAS7J,KAAKjE,OAAO8N,OAGvBA,KAGTmY,cAAA,WACE,OAA8B,IAA1BhiB,KAAKjE,OAAOiX,UACPxZ,SAASuE,KAGd7C,EAAU8E,KAAKjE,OAAOiX,WACjBhT,KAAKjE,OAAOiX,UAGd3N,EAAelG,QAAQa,KAAKjE,OAAOiX,cAG5C8O,eAAA,SAAejM,GACb,OAAOzB,GAAcyB,EAAU9Y,kBAGjCujB,cAAA,WAAgB,IAAAtH,EAAAhZ,KACGA,KAAKjE,OAAO8I,QAAQjK,MAAM,KAElCuB,SAAQ,SAAA0I,GACf,GAAgB,UAAZA,EACFlB,EAAaM,GAAG+U,EAAKrf,QACnBqf,EAAKtD,YAAY3V,MAAMkU,MACvB+E,EAAKjd,OAAOnC,UACZ,SAAAiI,GAAK,OAAImX,EAAK1Q,OAAOzG,WAElB,GAAIgD,IAAYkb,GAAgB,CACrC,IAAMkD,EAAUpe,IAAYkb,GAC1B/G,EAAKtD,YAAY3V,MAAMuL,WACvB0N,EAAKtD,YAAY3V,MAAM+W,QACnBoM,EAAWre,IAAYkb,GAC3B/G,EAAKtD,YAAY3V,MAAMwL,WACvByN,EAAKtD,YAAY3V,MAAM+f,SAEzBnc,EAAaM,GAAG+U,EAAKrf,QACnBspB,EACAjK,EAAKjd,OAAOnC,UACZ,SAAAiI,GAAK,OAAImX,EAAK8H,OAAOjf,MAEvB8B,EAAaM,GAAG+U,EAAKrf,QACnBupB,EACAlK,EAAKjd,OAAOnC,UACZ,SAAAiI,GAAK,OAAImX,EAAK+H,OAAOlf,UAK3B7B,KAAKihB,kBAAoB,WACnBjI,EAAKrf,SACPqf,EAAKpG,QAITjP,EAAaM,GAAGoB,EAAerG,QAAQgB,KAAKrG,QAAS,UACnD,gBACAqG,KAAKihB,mBAGHjhB,KAAKjE,OAAOnC,SACdoG,KAAKjE,OAAL2N,EAAA,GACK1J,KAAKjE,OADV,CAEE8I,QAAS,SACTjL,SAAU,KAGZoG,KAAKmjB,eAITA,UAAA,WACE,IAAMC,SAAmBpjB,KAAKrG,QAAQE,aAAa,wBAE/CmG,KAAKrG,QAAQE,aAAa,UAA0B,WAAdupB,KACxCpjB,KAAKrG,QAAQkP,aACX,sBACA7I,KAAKrG,QAAQE,aAAa,UAAY,IAGxCmG,KAAKrG,QAAQkP,aAAa,QAAS,QAIvCiY,OAAA,SAAOjf,EAAO0U,GACZ,IAAMmK,EAAU1gB,KAAK0V,YAAYrP,UACjCkQ,EAAUA,GAAW/X,EAAKG,QAAQkD,EAAMK,eAAgBwe,MAGtDnK,EAAU,IAAIvW,KAAK0V,YACjB7T,EAAMK,eACNlC,KAAK2gB,sBAEPniB,EAAKC,QAAQoD,EAAMK,eAAgBwe,EAASnK,IAG1C1U,IACF0U,EAAQ6J,eACS,YAAfve,EAAME,KAAqBge,GAAgBA,KACzC,GAGFxJ,EAAQyK,gBAAgB3Z,UAAUE,SAASb,KAC3C6P,EAAQ4J,cAAgBP,GAC1BrJ,EAAQ4J,YAAcP,IAIxBrQ,aAAagH,EAAQ2J,UAErB3J,EAAQ4J,YAAcP,GAEjBrJ,EAAQxa,OAAOojB,OAAU5I,EAAQxa,OAAOojB,MAAMtM,KAKnD0D,EAAQ2J,SAAWtkB,YAAW,WACxB2a,EAAQ4J,cAAgBP,IAC1BrJ,EAAQ1D,SAET0D,EAAQxa,OAAOojB,MAAMtM,MARtB0D,EAAQ1D,WAWZkO,OAAA,SAAOlf,EAAO0U,GACZ,IAAMmK,EAAU1gB,KAAK0V,YAAYrP,UACjCkQ,EAAUA,GAAW/X,EAAKG,QAAQkD,EAAMK,eAAgBwe,MAGtDnK,EAAU,IAAIvW,KAAK0V,YACjB7T,EAAMK,eACNlC,KAAK2gB,sBAEPniB,EAAKC,QAAQoD,EAAMK,eAAgBwe,EAASnK,IAG1C1U,IACF0U,EAAQ6J,eACS,aAAfve,EAAME,KAAsBge,GAAgBA,KAC1C,GAGFxJ,EAAQsK,yBAIZtR,aAAagH,EAAQ2J,UAErB3J,EAAQ4J,YAAcP,GAEjBrJ,EAAQxa,OAAOojB,OAAU5I,EAAQxa,OAAOojB,MAAMvM,KAKnD2D,EAAQ2J,SAAWtkB,YAAW,WACxB2a,EAAQ4J,cAAgBP,IAC1BrJ,EAAQ3D,SAET2D,EAAQxa,OAAOojB,MAAMvM,MARtB2D,EAAQ3D,WAWZiO,qBAAA,WACE,IAAK,IAAMhc,KAAW7E,KAAKogB,eACzB,GAAIpgB,KAAKogB,eAAevb,GACtB,OAAO,EAIX,OAAO,KAGTuI,WAAA,SAAWrR,GACT,IAAMsnB,EAAiBha,GAAYG,kBAAkBxJ,KAAKrG,SA4C1D,OA1CAsC,OAAOC,KAAKmnB,GACTlnB,SAAQ,SAAAmnB,IAC0C,IAA7CvE,GAAsB7b,QAAQogB,WACzBD,EAAeC,MAIxBvnB,GAAsC,iBAArBA,EAAOiX,WAA0BjX,EAAOiX,UAAUU,SACrE3X,EAAOiX,UAAYjX,EAAOiX,UAAU,IASV,iBAN5BjX,EAAM2N,EAAA,GACD1J,KAAK0V,YAAYhL,QADhB,GAED2Y,EAFC,GAGiB,iBAAXtnB,GAAuBA,EAASA,EAAS,KAGnCojB,QAChBpjB,EAAOojB,MAAQ,CACbtM,KAAM9W,EAAOojB,MACbvM,KAAM7W,EAAOojB,QAIW,iBAAjBpjB,EAAOmjB,QAChBnjB,EAAOmjB,MAAQnjB,EAAOmjB,MAAM1iB,YAGA,iBAAnBT,EAAOwmB,UAChBxmB,EAAOwmB,QAAUxmB,EAAOwmB,QAAQ/lB,YAGlCX,EACE4O,GACA1O,EACAiE,KAAK0V,YAAYzK,aAGflP,EAAOujB,WACTvjB,EAAOkjB,SAAWnB,GAAa/hB,EAAOkjB,SAAUljB,EAAOiiB,UAAWjiB,EAAOkiB,aAGpEliB,KAGT4kB,mBAAA,WACE,IAAM5kB,EAAS,GAEf,GAAIiE,KAAKjE,OACP,IAAK,IAAMoC,KAAO6B,KAAKjE,OACjBiE,KAAK0V,YAAYhL,QAAQvM,KAAS6B,KAAKjE,OAAOoC,KAChDpC,EAAOoC,GAAO6B,KAAKjE,OAAOoC,IAKhC,OAAOpC,KAGTqmB,eAAA,WACE,IAAM/B,EAAMrgB,KAAKghB,gBACXuC,EAAWlD,EAAIxmB,aAAa,SAAS6C,MAAMoiB,IAChC,OAAbyE,GAAqBA,EAAS7gB,QAChC6gB,EACGC,KAAI,SAAAC,GAAK,OAAIA,EAAM1pB,UACnBoC,SAAQ,SAAAunB,GAAM,OAAIrD,EAAIhZ,UAAUC,OAAOoc,SAI9CZ,6BAAA,SAA6Ba,GAC3B,IAAMC,EAAiBD,EAAWjlB,SAClCsB,KAAKqgB,IAAMuD,EAAeC,OAC1B7jB,KAAKoiB,iBACLpiB,KAAK+hB,oBAAoB/hB,KAAK8hB,eAAe6B,EAAW9N,eAG1DqM,eAAA,WACE,IAAM7B,EAAMrgB,KAAKghB,gBACX8C,EAAsB9jB,KAAKjE,OAAOijB,UACA,OAApCqB,EAAIxmB,aAAa,iBAIrBwmB,EAAIhZ,UAAUC,OAAOZ,IACrB1G,KAAKjE,OAAOijB,WAAY,EACxBhf,KAAK4S,OACL5S,KAAK6S,OACL7S,KAAKjE,OAAOijB,UAAY8E,MAKnBpc,gBAAP,SAAuB3L,GACrB,OAAOiE,KAAK2H,MAAK,WACf,IAAIvJ,EAAOI,EAAKG,QAAQqB,KAxuBb,cAyuBLmN,EAA4B,iBAAXpR,GAAuBA,EAE9C,IAAKqC,IAAQ,eAAevB,KAAKd,MAI5BqC,IACHA,EAAO,IAAI4hB,EAAQhgB,KAAMmN,IAGL,iBAAXpR,GAAqB,CAC9B,GAA4B,oBAAjBqC,EAAKrC,GACd,MAAM,IAAIsV,UAAJ,oBAAkCtV,EAAlC,KAGRqC,EAAKrC,YAKJ+L,YAAP,SAAmBnO,GACjB,OAAO6E,EAAKG,QAAQhF,EA9vBP,uDAuHb,MAxHY,wCA4HZ,OAAO+Q,gCAIP,OAAOD,oCAIP,MAnIa,2CAuIb,OAAO1K,qCAIP,MA1IW,kDA8IX,OAAOkL,YAmnBLnK,GAAIjD,IASV,GAAIiD,GAAG,CACL,IAAMiH,GAAqBjH,GAAE0C,GAAF,QAC3B1C,GAAE0C,GAAF,QAAawc,GAAQtY,gBACrB5G,GAAE0C,GAAF,QAAWwE,YAAcgY,GACzBlf,GAAE0C,GAAF,QAAWyE,WAAa,WAEtB,OADAnH,GAAE0C,GAAF,QAAauE,GACNiY,GAAQtY,iBCpyBnB,IAAM+C,GAAO,UAKPqU,GAAqB,IAAIliB,OAAJ,wBAAyC,KAE9D8N,GAAOhB,EAAA,GACRsW,GAAQtV,QADA,CAEXmL,UAAW,QACXhR,QAAS,QACT0d,QAAS,GACTtD,SAAU,gJAMNhU,GAAWvB,EAAA,GACZsW,GAAQ/U,YADI,CAEfsX,QAAS,8BAGL7b,GACE,OADFA,GAEE,OAGFwB,GACG,kBADHA,GAEK,gBAGLnI,GAAQ,CACZ6R,KAAI,kBACJC,OAAM,oBACNH,KAAI,kBACJC,MAAK,mBACLkO,SAAQ,sBACR5L,MAAK,mBACL6C,QAAO,qBACPgJ,SAAQ,sBACRxU,WAAU,wBACVC,WAAU,yBASNwY,2LAiCJ7C,cAAA,WACE,OAAOlhB,KAAKqiB,YAAcriB,KAAKgkB,iBAGjCpC,WAAA,WACE,IAAMvB,EAAMrgB,KAAKghB,gBAGjBhhB,KAAKsiB,kBAAkBjd,EAAelG,QAAQ+I,GAAgBmY,GAAMrgB,KAAKqiB,YACzE,IAAIE,EAAUviB,KAAKgkB,cACI,mBAAZzB,IACTA,EAAUA,EAAQ9lB,KAAKuD,KAAKrG,UAG9BqG,KAAKsiB,kBAAkBjd,EAAelG,QAAQ+I,GAAkBmY,GAAMkC,GAEtElC,EAAIhZ,UAAUC,OAAOZ,IACrB2Z,EAAIhZ,UAAUC,OAAOZ,OAGvBqb,oBAAA,SAAoBF,GAClB7hB,KAAKghB,gBAAgB3Z,UAAU0B,IAAOia,cAAgBnB,MAKxDmC,YAAA,WACE,OAAOhkB,KAAKrG,QAAQE,aAAa,iBAC/BmG,KAAKjE,OAAOwmB,WAGhBH,eAAA,WACE,IAAM/B,EAAMrgB,KAAKghB,gBACXuC,EAAWlD,EAAIxmB,aAAa,SAAS6C,MAAMoiB,IAEhC,OAAbyE,GAAqBA,EAAS7gB,OAAS,GACzC6gB,EAASC,KAAI,SAAAC,GAAK,OAAIA,EAAM1pB,UACzBoC,SAAQ,SAAAunB,GAAM,OAAIrD,EAAIhZ,UAAUC,OAAOoc,SAMvChc,gBAAP,SAAuB3L,GACrB,OAAOiE,KAAK2H,MAAK,WACf,IAAIvJ,EAAOI,EAAKG,QAAQqB,KAhIb,cAiILmN,EAA4B,iBAAXpR,EAAsBA,EAAS,KAEtD,IAAKqC,IAAQ,eAAevB,KAAKd,MAI5BqC,IACHA,EAAO,IAAI2lB,EAAQ/jB,KAAMmN,GACzB3O,EAAKC,QAAQuB,KAzIJ,aAyIoB5B,IAGT,iBAAXrC,GAAqB,CAC9B,GAA4B,oBAAjBqC,EAAKrC,GACd,MAAM,IAAIsV,UAAJ,oBAAkCtV,EAAlC,KAGRqC,EAAKrC,YAKJ+L,YAAP,SAAmBnO,GACjB,OAAO6E,EAAKG,QAAQhF,EAvJP,uDAsDb,MAvDY,wCA2DZ,OAAO+Q,gCAIP,OAAOD,oCAIP,MAlEa,2CAsEb,OAAO1K,qCAIP,MAzEW,kDA6EX,OAAOkL,UA5BW+U,IAyGhBlf,GAAIjD,IAQV,GAAIiD,GAAG,CACL,IAAMiH,GAAqBjH,GAAE0C,GAAF,QAC3B1C,GAAE0C,GAAF,QAAaugB,GAAQrc,gBACrB5G,GAAE0C,GAAF,QAAWwE,YAAc+b,GACzBjjB,GAAE0C,GAAF,QAAWyE,WAAa,WAEtB,OADAnH,GAAE0C,GAAF,QAAauE,GACNgc,GAAQrc,iBCpKnB,IAAM+C,GAAO,YAEPpE,GAAW,eACXC,GAAS,IAAOD,GAGhBqE,GAAU,CACdb,OAAQ,GACRoa,OAAQ,OACRvgB,OAAQ,IAGJuH,GAAc,CAClBpB,OAAQ,SACRoa,OAAQ,SACRvgB,OAAQ,oBAGJ3D,GAAQ,CACZmkB,SAAQ,WAAa5d,GACrB6d,OAAM,SAAW7d,GACjBwF,cAAa,OAASxF,GAjBH,aAoBfI,GAAY,CAChB0d,cAAe,gBACfrY,OAAQ,UAGJ7D,GAAW,CACfmc,SAAU,sBACVC,eAAgB,oBAChBC,UAAW,YACXC,UAAW,YACXC,WAAY,mBACZC,SAAU,YACVC,gBAAiB,oBAGbC,GACI,SADJA,GAEM,WASNC,cACJ,SAAAA,EAAYlrB,EAASoC,GAAQ,IAAA0J,EAAAzF,KAC3BA,KAAK4G,SAAWjN,EAChBqG,KAAK8kB,eAAqC,SAApBnrB,EAAQ+V,QAAqBrV,OAASV,EAC5DqG,KAAKmN,QAAUnN,KAAKoN,WAAWrR,GAC/BiE,KAAKwS,UAAexS,KAAKmN,QAAQzJ,OAAhB,IAA0BwE,GAASqc,UAAnC,IACQvkB,KAAKmN,QAAQzJ,OADrB,IAC+BwE,GAASuc,WADxC,IAEQzkB,KAAKmN,QAAQzJ,OAFrB,KAEgCgD,GAAU0d,cAC3DpkB,KAAK+kB,SAAW,GAChB/kB,KAAKglB,SAAW,GAChBhlB,KAAKilB,cAAgB,KACrBjlB,KAAKklB,cAAgB,EAErBvhB,EAAaM,GAAGjE,KAAK8kB,eAAgB/kB,GAAMokB,QAAQ,SAAAtiB,GAAK,OAAI4D,EAAK0f,SAAStjB,MAE1E7B,KAAKolB,UACLplB,KAAKmlB,WAEL3mB,EAAKC,QAAQ9E,EAAS0M,GAAUrG,iCAelColB,QAAA,WAAU,IAAAtW,EAAA9O,KACFqlB,EAAarlB,KAAK8kB,iBAAmB9kB,KAAK8kB,eAAezqB,OAC7DuqB,GACAA,GAEIU,EAAuC,SAAxBtlB,KAAKmN,QAAQ8W,OAChCoB,EACArlB,KAAKmN,QAAQ8W,OAETsB,EAAaD,IAAiBV,GAClC5kB,KAAKwlB,gBACL,EAEFxlB,KAAK+kB,SAAW,GAChB/kB,KAAKglB,SAAW,GAEhBhlB,KAAKklB,cAAgBllB,KAAKylB,mBAEVzoB,EAAUqI,EAAepG,KAAKe,KAAKwS,YAGhDgR,KAAI,SAAA7pB,GACH,IAAI+J,EACEgiB,EAAiB1rB,EAAuBL,GAM9C,GAJI+rB,IACFhiB,EAAS2B,EAAelG,QAAQumB,IAG9BhiB,EAAQ,CACV,IAAMiiB,EAAYjiB,EAAOqG,wBACzB,GAAI4b,EAAU1K,OAAS0K,EAAUC,OAC/B,MAAO,CACLvc,GAAYic,GAAc5hB,GAAQsG,IAAMub,EACxCG,GAKN,OAAO,QAERhgB,QAAO,SAAAmgB,GAAI,OAAIA,KACfC,MAAK,SAAC5J,EAAGE,GAAJ,OAAUF,EAAE,GAAKE,EAAE,MACxBjgB,SAAQ,SAAA0pB,GACP/W,EAAKiW,SAAS/e,KAAK6f,EAAK,IACxB/W,EAAKkW,SAAShf,KAAK6f,EAAK,UAI9B1e,QAAA,WACE3I,EAAKI,WAAWoB,KAAK4G,SAAUP,IAC/B1C,EAAaC,IAAI5D,KAAK8kB,eAAgBxe,IAEtCtG,KAAK4G,SAAW,KAChB5G,KAAK8kB,eAAiB,KACtB9kB,KAAKmN,QAAU,KACfnN,KAAKwS,UAAY,KACjBxS,KAAK+kB,SAAW,KAChB/kB,KAAKglB,SAAW,KAChBhlB,KAAKilB,cAAgB,KACrBjlB,KAAKklB,cAAgB,QAKvB9X,WAAA,SAAWrR,GAMT,GAA6B,iBAL7BA,EAAM2N,EAAA,GACDgB,GADC,GAEiB,iBAAX3O,GAAuBA,EAASA,EAAS,KAGnC2H,OAAqB,CAAA,IAC/BzK,EAAO8C,EAAO2H,OAAdzK,GACDA,IACHA,EAAKG,EAAOqR,IACZ1O,EAAO2H,OAAOzK,GAAKA,GAGrB8C,EAAO2H,OAAP,IAAoBzK,EAKtB,OAFA4C,EAAgB4O,GAAM1O,EAAQkP,IAEvBlP,KAGTypB,cAAA,WACE,OAAOxlB,KAAK8kB,iBAAmBzqB,OAC7B2F,KAAK8kB,eAAeiB,YACpB/lB,KAAK8kB,eAAe7a,aAGxBwb,iBAAA,WACE,OAAOzlB,KAAK8kB,eAAe9K,cAAgB1gB,KAAK0sB,IAC9CxsB,SAASuE,KAAKic,aACdxgB,SAAS8L,gBAAgB0U,iBAI7BiM,iBAAA,WACE,OAAOjmB,KAAK8kB,iBAAmBzqB,OAC7BA,OAAO6rB,YACPlmB,KAAK8kB,eAAe/a,wBAAwB6b,UAGhDT,SAAA,WACE,IAAMlb,EAAYjK,KAAKwlB,gBAAkBxlB,KAAKmN,QAAQtD,OAChDmQ,EAAeha,KAAKylB,mBACpBU,EAAYnmB,KAAKmN,QAAQtD,OAC7BmQ,EACAha,KAAKimB,mBAMP,GAJIjmB,KAAKklB,gBAAkBlL,GACzBha,KAAKolB,UAGHnb,GAAakc,EAAjB,CACE,IAAMziB,EAAS1D,KAAKglB,SAAShlB,KAAKglB,SAAStiB,OAAS,GAEhD1C,KAAKilB,gBAAkBvhB,GACzB1D,KAAKomB,UAAU1iB,OAJnB,CAUA,GAAI1D,KAAKilB,eAAiBhb,EAAYjK,KAAK+kB,SAAS,IAAM/kB,KAAK+kB,SAAS,GAAK,EAG3E,OAFA/kB,KAAKilB,cAAgB,UACrBjlB,KAAKqmB,SAKP,IADA,IACS7jB,EADYxC,KAAK+kB,SAASriB,OACRF,KAAM,CACRxC,KAAKilB,gBAAkBjlB,KAAKglB,SAASxiB,IACxDyH,GAAajK,KAAK+kB,SAASviB,KACM,oBAAzBxC,KAAK+kB,SAASviB,EAAI,IACtByH,EAAYjK,KAAK+kB,SAASviB,EAAI,KAGpCxC,KAAKomB,UAAUpmB,KAAKglB,SAASxiB,SAKnC4jB,UAAA,SAAU1iB,GACR1D,KAAKilB,cAAgBvhB,EAErB1D,KAAKqmB,SAEL,IAAMC,EAAUtmB,KAAKwS,UAAU5X,MAAM,KAClC4oB,KAAI,SAAA5pB,GAAQ,OAAOA,EAAP,iBAAgC8J,EAAhC,MAA4C9J,EAA5C,UAA8D8J,EAA9D,QAET6iB,EAAOlhB,EAAelG,QAAQmnB,EAAQE,KAAK,MAE7CD,EAAKlf,UAAUE,SAASb,GAAU0d,gBACpC/e,EACGlG,QAAQ+I,GAASyc,gBAAiBtf,EAAerG,QAAQunB,EAAMre,GAASwc,WACxErd,UAAU0B,IAAIrC,GAAUqF,QAE3Bwa,EAAKlf,UAAU0B,IAAIrC,GAAUqF,UAG7Bwa,EAAKlf,UAAU0B,IAAIrC,GAAUqF,QAE7B1G,EACGO,QAAQ2gB,EAAMre,GAASoc,gBACvBnoB,SAAQ,SAAAsqB,GAGPphB,EAAeY,KAAKwgB,EAAcve,GAASqc,UAA3C,KAAyDrc,GAASuc,YAC/DtoB,SAAQ,SAAA0pB,GAAI,OAAIA,EAAKxe,UAAU0B,IAAIrC,GAAUqF,WAGhD1G,EAAeY,KAAKwgB,EAAWve,GAASsc,WACrCroB,SAAQ,SAAAuqB,GACPrhB,EAAeG,SAASkhB,EAASxe,GAASqc,WACvCpoB,SAAQ,SAAA0pB,GAAI,OAAIA,EAAKxe,UAAU0B,IAAIrC,GAAUqF,kBAK1DpI,EAAakB,QAAQ7E,KAAK8kB,eAAgB/kB,GAAMmkB,SAAU,CACxDjU,cAAevM,OAInB2iB,OAAA,WACErpB,EAAUqI,EAAepG,KAAKe,KAAKwS,YAChC9M,QAAO,SAAAihB,GAAI,OAAIA,EAAKtf,UAAUE,SAASb,GAAUqF,WACjD5P,SAAQ,SAAAwqB,GAAI,OAAIA,EAAKtf,UAAUC,OAAOZ,GAAUqF,cAK9CrE,gBAAP,SAAuB3L,GACrB,OAAOiE,KAAK2H,MAAK,WACf,IAAIvJ,EAAOI,EAAKG,QAAQqB,KAAMqG,IAO9B,GAJKjI,IACHA,EAAO,IAAIymB,EAAU7kB,KAHW,iBAAXjE,GAAuBA,IAMxB,iBAAXA,EAAqB,CAC9B,GAA4B,oBAAjBqC,EAAKrC,GACd,MAAM,IAAIsV,UAAJ,oBAAkCtV,EAAlC,KAGRqC,EAAKrC,YAKJ+L,YAAP,SAAmBnO,GACjB,OAAO6E,EAAKG,QAAQhF,EAAS0M,6CAhO7B,MAzEY,wCA6EZ,OAAOqE,YAsOX/G,EAAaM,GAAG5J,OAAQ0F,GAAM+L,eAAe,WAC3C9O,EAAUqI,EAAepG,KAAKiJ,GAASmc,WACpCloB,SAAQ,SAAAyqB,GAAG,OAAI,IAAI/B,GAAU+B,EAAKvd,GAAYG,kBAAkBod,UAGrE,IAAM9lB,GAAIjD,IAQV,GAAIiD,GAAG,CACL,IAAMiH,GAAqBjH,GAAE0C,GAAGiH,IAChC3J,GAAE0C,GAAGiH,IAAQoa,GAAUnd,gBACvB5G,GAAE0C,GAAGiH,IAAMzC,YAAc6c,GACzB/jB,GAAE0C,GAAGiH,IAAMxC,WAAa,WAEtB,OADAnH,GAAE0C,GAAGiH,IAAQ1C,GACN8c,GAAUnd,iBCtUrB,IAEMrB,GAAW,SACXC,GAAS,IAAOD,GAGhBtG,GAAQ,CACZ6R,KAAI,OAAStL,GACbuL,OAAM,SAAWvL,GACjBoL,KAAI,OAASpL,GACbqL,MAAK,QAAUrL,GACfG,eAAc,QAAUH,GAPL,aAUfI,GACW,gBADXA,GAEI,SAFJA,GAGM,WAHNA,GAIE,OAJFA,GAKE,OAGFwB,GACM,YADNA,GAEY,oBAFZA,GAGI,UAHJA,GAIO,wBAJPA,GAKS,kEALTA,GAMa,mBANbA,GAOmB,kCASnB2e,cACJ,SAAAA,EAAYltB,GACVqG,KAAK4G,SAAWjN,EAEhB6E,EAAKC,QAAQuB,KAAK4G,SAAUP,GAAUrG,iCAWxC6S,KAAA,WAAO,IAAApN,EAAAzF,KACL,KAAKA,KAAK4G,SAASvJ,YACjB2C,KAAK4G,SAASvJ,WAAWjC,WAAa0K,KAAKC,cAC3C/F,KAAK4G,SAASS,UAAUE,SAASb,KACjC1G,KAAK4G,SAASS,UAAUE,SAASb,KAHnC,CAOA,IAAIP,EACEzC,EAASxJ,EAAuB8F,KAAK4G,UACrCkgB,EAAczhB,EAAerG,QAAQgB,KAAK4G,SAAUsB,IAE1D,GAAI4e,EAAa,CACf,IAAMC,EAAwC,OAAzBD,EAAYnL,UAA8C,OAAzBmL,EAAYnL,SAAoBzT,GAAqBA,GAE3G/B,GADAA,EAAWnJ,EAAUqI,EAAepG,KAAK8nB,EAAcD,KACnC3gB,EAASzD,OAAS,GAGxC,IAAIskB,EAAY,KAYhB,GAVI7gB,IACF6gB,EAAYrjB,EAAakB,QAAQsB,EAAUpG,GAAM6R,KAAM,CACrD3B,cAAejQ,KAAK4G,cAINjD,EAAakB,QAAQ7E,KAAK4G,SAAU7G,GAAM2R,KAAM,CAChEzB,cAAe9J,IAGHtG,kBACG,OAAdmnB,GAAsBA,EAAUnnB,kBADnC,CAKAG,KAAKomB,UACHpmB,KAAK4G,SACLkgB,GAGF,IAAM7E,EAAW,WACfte,EAAakB,QAAQsB,EAAUpG,GAAM8R,OAAQ,CAC3C5B,cAAexK,EAAKmB,WAEtBjD,EAAakB,QAAQY,EAAKmB,SAAU7G,GAAM4R,MAAO,CAC/C1B,cAAe9J,KAIfzC,EACF1D,KAAKomB,UAAU1iB,EAAQA,EAAOrG,WAAY4kB,GAE1CA,SAIJ9a,QAAA,WACE3I,EAAKI,WAAWoB,KAAK4G,SAAUP,IAC/BrG,KAAK4G,SAAW,QAKlBwf,UAAA,SAAUzsB,EAASqZ,EAAWuG,GAAU,IAAAzK,EAAA9O,KAKhCinB,IAJiBjU,GAAqC,OAAvBA,EAAU2I,UAA4C,OAAvB3I,EAAU2I,SAE5EtW,EAAeG,SAASwN,EAAW9K,IADnC7C,EAAepG,KAAKiJ,GAAoB8K,IAGZ,GACxBS,EAAkB8F,GACrB0N,GAAUA,EAAO5f,UAAUE,SAASb,IAEjCub,EAAW,WAAA,OAAMnT,EAAKoY,oBAC1BvtB,EACAstB,EACA1N,IAGF,GAAI0N,GAAUxT,EAAiB,CAC7B,IAAMlZ,EAAqBJ,EAAiC8sB,GAC5DA,EAAO5f,UAAUC,OAAOZ,IAExB/C,EAAaO,IAAI+iB,EAAQ9tB,EAAgB8oB,GACzC5mB,EAAqB4rB,EAAQ1sB,QAE7B0nB,OAIJiF,oBAAA,SAAoBvtB,EAASstB,EAAQ1N,GACnC,GAAI0N,EAAQ,CACVA,EAAO5f,UAAUC,OAAOZ,IAExB,IAAMygB,EAAgB9hB,EAAelG,QAAQ+I,GAAgC+e,EAAO5pB,YAEhF8pB,GACFA,EAAc9f,UAAUC,OAAOZ,IAGG,QAAhCugB,EAAOptB,aAAa,SACtBotB,EAAOpe,aAAa,iBAAiB,IAIzClP,EAAQ0N,UAAU0B,IAAIrC,IACe,QAAjC/M,EAAQE,aAAa,SACvBF,EAAQkP,aAAa,iBAAiB,GAGxClL,EAAOhE,GAEHA,EAAQ0N,UAAUE,SAASb,KAC7B/M,EAAQ0N,UAAU0B,IAAIrC,IAGpB/M,EAAQ0D,YAAc1D,EAAQ0D,WAAWgK,UAAUE,SAASb,OACtCrB,EAAerG,QAAQrF,EAASuO,KAGtDlL,EAAUqI,EAAepG,KAAKiJ,KAC3B/L,SAAQ,SAAAirB,GAAQ,OAAIA,EAAS/f,UAAU0B,IAAIrC,OAGhD/M,EAAQkP,aAAa,iBAAiB,IAGpC0Q,GACFA,OAMG7R,gBAAP,SAAuB3L,GACrB,OAAOiE,KAAK2H,MAAK,WACf,IAAMvJ,EAAOI,EAAKG,QAAQqB,KAAMqG,KAAa,IAAIwgB,EAAI7mB,MAErD,GAAsB,iBAAXjE,EAAqB,CAC9B,GAA4B,oBAAjBqC,EAAKrC,GACd,MAAM,IAAIsV,UAAJ,oBAAkCtV,EAAlC,KAGRqC,EAAKrC,YAKJ+L,YAAP,SAAmBnO,GACjB,OAAO6E,EAAKG,QAAQhF,EAAS0M,6CAzJ7B,MA/CY,iBAkNhB1C,EAAaM,GAAGzK,SAAUuG,GAAM0G,eAAgByB,IAAsB,SAAUrG,GAC9EA,EAAMjC,kBAEOpB,EAAKG,QAAQqB,KAAMqG,KAAa,IAAIwgB,GAAI7mB,OAChD6S,UAGP,IAAM/R,GAAIjD,IASV,GAAIiD,GAAG,CACL,IAAMiH,GAAqBjH,GAAE0C,GAAF,IAC3B1C,GAAE0C,GAAF,IAAaqjB,GAAInf,gBACjB5G,GAAE0C,GAAF,IAAWwE,YAAc6e,GACzB/lB,GAAE0C,GAAF,IAAWyE,WAAa,WAEtB,OADAnH,GAAE0C,GAAF,IAAauE,GACN8e,GAAInf,iBC1Of,IAEMrB,GAAW,WACXC,GAAS,IAAOD,GAEhBtG,GAAQ,CACZiX,cAAa,gBAAkB1Q,GAC/BsL,KAAI,OAAStL,GACbuL,OAAM,SAAWvL,GACjBoL,KAAI,OAASpL,GACbqL,MAAK,QAAUrL,IAGXI,GACE,OADFA,GAEE,OAFFA,GAGE,OAHFA,GAIK,UAGLuE,GAAc,CAClB+T,UAAW,UACXqI,SAAU,UACVlI,MAAO,UAGHzU,GAAU,CACdsU,WAAW,EACXqI,UAAU,EACVlI,MAAO,KAGHjX,GACU,yBASVof,cACJ,SAAAA,EAAY3tB,EAASoC,GACnBiE,KAAK4G,SAAWjN,EAChBqG,KAAKmN,QAAUnN,KAAKoN,WAAWrR,GAC/BiE,KAAKkgB,SAAW,KAChBlgB,KAAKsgB,gBACL9hB,EAAKC,QAAQ9E,EAAS0M,GAAUrG,iCAmBlC6S,KAAA,WAAO,IAAApN,EAAAzF,KAGL,IAFkB2D,EAAakB,QAAQ7E,KAAK4G,SAAU7G,GAAM2R,MAE9C7R,iBAAd,CAIIG,KAAKmN,QAAQ6R,WACfhf,KAAK4G,SAASS,UAAU0B,IAAIrC,IAG9B,IAAMub,EAAW,WACfxc,EAAKmB,SAASS,UAAUC,OAAOZ,IAC/BjB,EAAKmB,SAASS,UAAU0B,IAAIrC,IAE5B/C,EAAakB,QAAQY,EAAKmB,SAAU7G,GAAM4R,OAEtClM,EAAK0H,QAAQka,WACf5hB,EAAKya,SAAWtkB,YAAW,WACzB6J,EAAKmN,SACJnN,EAAK0H,QAAQgS,SAOpB,GAHAnf,KAAK4G,SAASS,UAAUC,OAAOZ,IAC/B/I,EAAOqC,KAAK4G,UACZ5G,KAAK4G,SAASS,UAAU0B,IAAIrC,IACxB1G,KAAKmN,QAAQ6R,UAAW,CAC1B,IAAMzkB,EAAqBJ,EAAiC6F,KAAK4G,UAEjEjD,EAAaO,IAAIlE,KAAK4G,SAAUzN,EAAgB8oB,GAChD5mB,EAAqB2E,KAAK4G,SAAUrM,QAEpC0nB,QAIJrP,KAAA,WAAO,IAAA9D,EAAA9O,KACL,GAAKA,KAAK4G,SAASS,UAAUE,SAASb,MAIpB/C,EAAakB,QAAQ7E,KAAK4G,SAAU7G,GAAM6R,MAE9C/R,iBAAd,CAIA,IAAMoiB,EAAW,WACfnT,EAAKlI,SAASS,UAAU0B,IAAIrC,IAC5B/C,EAAakB,QAAQiK,EAAKlI,SAAU7G,GAAM8R,SAI5C,GADA7R,KAAK4G,SAASS,UAAUC,OAAOZ,IAC3B1G,KAAKmN,QAAQ6R,UAAW,CAC1B,IAAMzkB,EAAqBJ,EAAiC6F,KAAK4G,UAEjEjD,EAAaO,IAAIlE,KAAK4G,SAAUzN,EAAgB8oB,GAChD5mB,EAAqB2E,KAAK4G,SAAUrM,QAEpC0nB,QAIJ9a,QAAA,WACEoI,aAAavP,KAAKkgB,UAClBlgB,KAAKkgB,SAAW,KAEZlgB,KAAK4G,SAASS,UAAUE,SAASb,KACnC1G,KAAK4G,SAASS,UAAUC,OAAOZ,IAGjC/C,EAAaC,IAAI5D,KAAK4G,SAAU7G,GAAMiX,eACtCxY,EAAKI,WAAWoB,KAAK4G,SAAUP,IAE/BrG,KAAK4G,SAAW,KAChB5G,KAAKmN,QAAU,QAKjBC,WAAA,SAAWrR,GAaT,OAZAA,EAAM2N,EAAA,GACDgB,GADC,GAEDrB,GAAYG,kBAAkBxJ,KAAK4G,UAFlC,GAGiB,iBAAX7K,GAAuBA,EAASA,EAAS,IAGrDF,EA3JS,QA6JPE,EACAiE,KAAK0V,YAAYzK,aAGZlP,KAGTukB,cAAA,WAAgB,IAAArR,EAAAjP,KACd2D,EAAaM,GACXjE,KAAK4G,SACL7G,GAAMiX,cACN9O,IACA,WAAA,OAAM+G,EAAK2D,aAMRlL,gBAAP,SAAuB3L,GACrB,OAAOiE,KAAK2H,MAAK,WACf,IAAIvJ,EAAOI,EAAKG,QAAQqB,KAAMqG,IAO9B,GAJKjI,IACHA,EAAO,IAAIkpB,EAAMtnB,KAHe,iBAAXjE,GAAuBA,IAMxB,iBAAXA,EAAqB,CAC9B,GAA4B,oBAAjBqC,EAAKrC,GACd,MAAM,IAAIsV,UAAJ,oBAAkCtV,EAAlC,KAGRqC,EAAKrC,GAAQiE,aAKZ8H,YAAP,SAAmBnO,GACjB,OAAO6E,EAAKG,QAAQhF,EAAS0M,6CA7I7B,MArDY,4CAyDZ,OAAO4E,mCAIP,OAAOP,YAyIL5J,GAAIjD,IASV,GAAIiD,GAAG,CACL,IAAMiH,GAAqBjH,GAAE0C,GAAF,MAC3B1C,GAAE0C,GAAF,MAAa8jB,GAAM5f,gBACnB5G,GAAE0C,GAAF,MAAWwE,YAAcsf,GACzBxmB,GAAE0C,GAAF,MAAWyE,WAAa,WAEtB,OADAnH,GAAE0C,GAAF,MAAauE,GACNuf,GAAM5f,uBC5NF,CACbf,MAAAA,GACA0B,OAAAA,GACAqE,SAAAA,GACAuF,SAAAA,GACAwC,SAAAA,GACAgD,MAAAA,GACAsM,QAAAA,GACAc,UAAAA,GACAgC,IAAAA,GACAS,MAAAA,GACAtH,QAAAA","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => ({}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase())\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n const evt = document.createEvent('HTMLEvents')\n\n evt.initEvent(TRANSITION_END, true, true)\n element.dispatchEvent(evt)\n}\n\nconst isElement = obj => (obj[0] || obj).nodeType\n\nconst emulateTransitionEnd = (element, duration) => {\n let called = false\n const durationPadding = 5\n const emulatedDuration = duration + durationPadding\n function listener() {\n called = true\n element.removeEventListener(TRANSITION_END, listener)\n }\n\n element.addEventListener(TRANSITION_END, listener)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(element)\n }\n }, emulatedDuration)\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes)\n .forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst makeArray = nodeList => {\n if (!nodeList) {\n return []\n }\n\n return [].slice.call(nodeList)\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n const elementStyle = getComputedStyle(element)\n const parentNodeStyle = getComputedStyle(element.parentNode)\n\n return elementStyle.display !== 'none' &&\n parentNodeStyle.display !== 'none' &&\n elementStyle.visibility !== 'hidden'\n }\n\n return false\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n makeArray,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst mapData = (() => {\n const storeData = {}\n let id = 1\n return {\n set(element, key, data) {\n if (typeof element.key === 'undefined') {\n element.key = {\n key,\n id\n }\n id++\n }\n\n storeData[element.key.id] = data\n },\n get(element, key) {\n if (!element || typeof element.key === 'undefined') {\n return null\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.key === 'undefined') {\n return\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.key\n }\n }\n }\n})()\n\nconst Data = {\n setData(instance, key, data) {\n mapData.set(instance, key, data)\n },\n getData(instance, key) {\n return mapData.get(instance, key)\n },\n removeData(instance, key) {\n mapData.delete(instance, key)\n }\n}\n\nexport default Data\n","/* istanbul ignore file */\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/polyfill.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getUID } from '../util/index'\n\nlet { matches, closest } = Element.prototype\nlet find = Element.prototype.querySelectorAll\nlet findOne = Element.prototype.querySelector\nlet createCustomEvent = (eventName, params) => {\n const cEvent = new CustomEvent(eventName, params)\n\n return cEvent\n}\n\nif (typeof window.CustomEvent !== 'function') {\n createCustomEvent = (eventName, params) => {\n params = params || { bubbles: false, cancelable: false, detail: null }\n\n const evt = document.createEvent('CustomEvent')\n\n evt.initCustomEvent(eventName, params.bubbles, params.cancelable, params.detail)\n return evt\n }\n}\n\nconst workingDefaultPrevented = (() => {\n const e = document.createEvent('CustomEvent')\n\n e.initEvent('Bootstrap', true, true)\n e.preventDefault()\n return e.defaultPrevented\n})()\n\nif (!workingDefaultPrevented) {\n const origPreventDefault = Event.prototype.preventDefault\n\n Event.prototype.preventDefault = function () {\n if (!this.cancelable) {\n return\n }\n\n origPreventDefault.call(this)\n Object.defineProperty(this, 'defaultPrevented', {\n get() {\n return true\n },\n configurable: true\n })\n }\n}\n\n// MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached\nconst defaultPreventedPreservedOnDispatch = (() => {\n const e = createCustomEvent('Bootstrap', {\n cancelable: true\n })\n\n const element = document.createElement('div')\n element.addEventListener('Bootstrap', () => null)\n\n e.preventDefault()\n element.dispatchEvent(e)\n return e.defaultPrevented\n})()\n\nif (!matches) {\n matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector\n}\n\nif (!closest) {\n closest = function (selector) {\n let element = this\n\n do {\n if (matches.call(element, selector)) {\n return element\n }\n\n element = element.parentElement || element.parentNode\n } while (element !== null && element.nodeType === 1)\n\n return null\n }\n}\n\nconst scopeSelectorRegex = /:scope\\b/\nconst supportScopeQuery = (() => {\n const element = document.createElement('div')\n\n try {\n element.querySelectorAll(':scope *')\n } catch (_) {\n return false\n }\n\n return true\n})()\n\nif (!supportScopeQuery) {\n find = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelectorAll(selector)\n }\n\n const hasId = Boolean(this.id)\n\n if (!hasId) {\n this.id = getUID('scope')\n }\n\n let nodeList = null\n try {\n selector = selector.replace(scopeSelectorRegex, `#${this.id}`)\n nodeList = this.querySelectorAll(selector)\n } finally {\n if (!hasId) {\n this.removeAttribute('id')\n }\n }\n\n return nodeList\n }\n\n findOne = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelector(selector)\n }\n\n const matches = find.call(this, selector)\n\n if (typeof matches[0] !== 'undefined') {\n return matches[0]\n }\n\n return null\n }\n}\n\nexport {\n createCustomEvent,\n find,\n findOne,\n matches,\n closest,\n defaultPreventedPreservedOnDispatch\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\nimport { createCustomEvent, defaultPreventedPreservedOnDispatch } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst $ = getjQuery()\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst keyEventRegex = /^key/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\nconst nativeEvents = [\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n]\n\n/**\n * ------------------------------------------------------------------------\n * Private methods\n * ------------------------------------------------------------------------\n */\n\nfunction getUidEvent(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getEvent(element) {\n const uid = getUidEvent(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction fixEvent(event, element) {\n // Add which for key events\n if (event.which === null && keyEventRegex.test(event.type)) {\n event.which = event.charCode === null ? event.keyCode : event.charCode\n }\n\n event.delegateTarget = element\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n fixEvent(event, element)\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = target.parentNode) {\n for (let i = domElements.length; i--;) {\n if (domElements[i] === target) {\n fixEvent(event, target)\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n\n // To please ESLint\n return null\n }\n}\n\nfunction findHandler(events, handler, delegationSelector = null) {\n const uidEventList = Object.keys(events)\n\n for (let i = 0, len = uidEventList.length; i < len; i++) {\n const event = events[uidEventList[i]]\n\n if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\n return event\n }\n }\n\n return null\n}\n\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\n const delegation = typeof handler === 'string'\n const originalHandler = delegation ? delegationFn : handler\n\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n let typeEvent = originalTypeEvent.replace(stripNameRegex, '')\n const custom = customEvents[typeEvent]\n\n if (custom) {\n typeEvent = custom\n }\n\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n if (!isNative) {\n typeEvent = originalTypeEvent\n }\n\n return [delegation, originalHandler, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n if (!handler) {\n handler = delegationFn\n delegationFn = null\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const events = getEvent(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null)\n\n if (previousFn) {\n previousFn.oneOff = previousFn.oneOff && oneOff\n\n return\n }\n\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = delegation ?\n bootstrapDelegationHandler(element, handler, delegationFn) :\n bootstrapHandler(element, handler)\n\n fn.delegationSelector = delegation ? handler : null\n fn.originalHandler = originalHandler\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, delegation)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {}\n\n Object.keys(storeElementEvent)\n .forEach(handlerKey => {\n if (handlerKey.indexOf(namespace) > -1) {\n const event = storeElementEvent[handlerKey]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, false)\n },\n\n one(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFn) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getEvent(element)\n const isNamespace = originalTypeEvent.charAt(0) === '.'\n\n if (typeof originalHandler !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!events || !events[typeEvent]) {\n return\n }\n\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null)\n return\n }\n\n if (isNamespace) {\n Object.keys(events)\n .forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent)\n .forEach(keyHandlers => {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.indexOf(handlerKey) > -1) {\n const event = storeElementEvent[keyHandlers]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const typeEvent = event.replace(stripNameRegex, '')\n const inNamespace = event !== typeEvent\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n let jQueryEvent\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n let evt = null\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n if (isNative) {\n evt = document.createEvent('HTMLEvents')\n evt.initEvent(typeEvent, bubbles, true)\n } else {\n evt = createCustomEvent(event, {\n bubbles,\n cancelable: true\n })\n }\n\n // merge custom informations in our event\n if (typeof args !== 'undefined') {\n Object.keys(args)\n .forEach(key => {\n Object.defineProperty(evt, key, {\n get() {\n return args[key]\n }\n })\n })\n }\n\n if (defaultPrevented) {\n evt.preventDefault()\n\n if (!defaultPreventedPreservedOnDispatch) {\n Object.defineProperty(evt, 'defaultPrevented', {\n get: () => true\n })\n }\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { find as findFn, findOne, matches, closest } from './polyfill'\nimport { makeArray } from '../util/index'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n matches(element, selector) {\n return matches.call(element, selector)\n },\n\n find(selector, element = document.documentElement) {\n return findFn.call(element, selector)\n },\n\n findOne(selector, element = document.documentElement) {\n return findOne.call(element, selector)\n },\n\n children(element, selector) {\n const children = makeArray(element.children)\n\n return children.filter(child => this.matches(child, selector))\n },\n\n parents(element, selector) {\n const parents = []\n\n let ancestor = element.parentNode\n\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\n if (this.matches(ancestor, selector)) {\n parents.push(ancestor)\n }\n\n ancestor = ancestor.parentNode\n }\n\n return parents\n },\n\n closest(element, selector) {\n return closest.call(element, selector)\n },\n\n prev(element, selector) {\n const siblings = []\n\n let previous = element.previousSibling\n\n while (previous && previous.nodeType === Node.ELEMENT_NODE && previous.nodeType !== NODE_TEXT) {\n if (this.matches(previous, selector)) {\n siblings.push(previous)\n }\n\n previous = previous.previousSibling\n }\n\n return siblings\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Selector = {\n DISMISS: '[data-dismiss=\"alert\"]'\n}\n\nconst Event = {\n CLOSE: `close${EVENT_KEY}`,\n CLOSED: `closed${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n ALERT: 'alert',\n FADE: 'fade',\n SHOW: 'show'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n\n if (this._element) {\n Data.setData(element, DATA_KEY, this)\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent === null || customEvent.defaultPrevented) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n let parent = getElementFromSelector(element)\n\n if (!parent) {\n parent = SelectorEngine.closest(element, `.${ClassName.ALERT}`)\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n return EventHandler.trigger(element, Event.CLOSE)\n }\n\n _removeElement(element) {\n element.classList.remove(ClassName.SHOW)\n\n if (!element.classList.contains(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = getTransitionDurationFromElement(element)\n\n EventHandler\n .one(element, TRANSITION_END, () => this._destroyElement(element))\n emulateTransitionEnd(element, transitionDuration)\n }\n\n _destroyElement(element) {\n if (element.parentNode) {\n element.parentNode.removeChild(element)\n }\n\n EventHandler.trigger(element, Event.CLOSED)\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.DISMISS, Alert.handleDismiss(new Alert()))\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .alert to jQuery only if jQuery is present\n */\n\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Alert.jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert.jQueryInterface\n }\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ClassName = {\n ACTIVE: 'active',\n BUTTON: 'btn',\n FOCUS: 'focus'\n}\n\nconst Selector = {\n DATA_TOGGLE_CARROT: '[data-toggle^=\"button\"]',\n DATA_TOGGLE: '[data-toggle=\"buttons\"]',\n INPUT: 'input:not([type=\"hidden\"])',\n ACTIVE: '.active',\n BUTTON: '.btn'\n}\n\nconst Event = {\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_DATA_API: `focus${EVENT_KEY}${DATA_API_KEY}`,\n BLUR_DATA_API: `blur${EVENT_KEY}${DATA_API_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n\n const rootElement = SelectorEngine.closest(\n this._element,\n Selector.DATA_TOGGLE\n )\n\n if (rootElement) {\n const input = SelectorEngine.findOne(Selector.INPUT, this._element)\n\n if (input && input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = SelectorEngine.findOne(Selector.ACTIVE, rootElement)\n\n if (activeElement) {\n activeElement.classList.remove(ClassName.ACTIVE)\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains('disabled') ||\n rootElement.classList.contains('disabled')) {\n return\n }\n\n input.checked = !this._element.classList.contains(ClassName.ACTIVE)\n EventHandler.trigger(input, 'change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n this._element.classList.toggle(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n event.preventDefault()\n\n let button = event.target\n if (!button.classList.contains(ClassName.BUTTON)) {\n button = SelectorEngine.closest(button, Selector.BUTTON)\n }\n\n let data = Data.getData(button, DATA_KEY)\n if (!data) {\n data = new Button(button)\n }\n\n data.toggle()\n})\n\nEventHandler.on(document, Event.FOCUS_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n const button = SelectorEngine.closest(event.target, Selector.BUTTON)\n\n if (button) {\n button.classList.add(ClassName.FOCUS)\n }\n})\n\nEventHandler.on(document, Event.BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n const button = SelectorEngine.closest(event.target, Selector.BUTTON)\n\n if (button) {\n button.classList.remove(ClassName.FOCUS)\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .button to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Button.jQueryInterface\n $.fn[NAME].Constructor = Button\n\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button.jQueryInterface\n }\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(val) {\n if (val === 'true') {\n return true\n }\n\n if (val === 'false') {\n return false\n }\n\n if (val === Number(val).toString()) {\n return Number(val)\n }\n\n if (val === '' || val === 'null') {\n return null\n }\n\n return val\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {\n ...element.dataset\n }\n\n Object.keys(attributes).forEach(key => {\n attributes[key] = normalizeData(attributes[key])\n })\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-${normalizeDataKey(key)}`))\n },\n\n offset(element) {\n const rect = element.getBoundingClientRect()\n\n return {\n top: rect.top + document.body.scrollTop,\n left: rect.left + document.body.scrollLeft\n }\n },\n\n position(element) {\n return {\n top: element.offsetTop,\n left: element.offsetLeft\n }\n },\n\n toggleClass(element, className) {\n if (!element) {\n return\n }\n\n if (element.classList.contains(className)) {\n element.classList.remove(className)\n } else {\n element.classList.add(className)\n }\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n makeArray,\n reflow,\n triggerTransitionEnd,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n}\n\nconst Direction = {\n NEXT: 'next',\n PREV: 'prev',\n LEFT: 'left',\n RIGHT: 'right'\n}\n\nconst Event = {\n SLIDE: `slide${EVENT_KEY}`,\n SLID: `slid${EVENT_KEY}`,\n KEYDOWN: `keydown${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`,\n TOUCHSTART: `touchstart${EVENT_KEY}`,\n TOUCHMOVE: `touchmove${EVENT_KEY}`,\n TOUCHEND: `touchend${EVENT_KEY}`,\n POINTERDOWN: `pointerdown${EVENT_KEY}`,\n POINTERUP: `pointerup${EVENT_KEY}`,\n DRAG_START: `dragstart${EVENT_KEY}`,\n LOAD_DATA_API: `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n CAROUSEL: 'carousel',\n ACTIVE: 'active',\n SLIDE: 'slide',\n RIGHT: 'carousel-item-right',\n LEFT: 'carousel-item-left',\n NEXT: 'carousel-item-next',\n PREV: 'carousel-item-prev',\n ITEM: 'carousel-item',\n POINTER_EVENT: 'pointer-event'\n}\n\nconst Selector = {\n ACTIVE: '.active',\n ACTIVE_ITEM: '.active.carousel-item',\n ITEM: '.carousel-item',\n ITEM_IMG: '.carousel-item img',\n NEXT_PREV: '.carousel-item-next, .carousel-item-prev',\n INDICATORS: '.carousel-indicators',\n DATA_SLIDE: '[data-slide], [data-slide-to]',\n DATA_RIDE: '[data-ride=\"carousel\"]'\n}\n\nconst PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = SelectorEngine.findOne(Selector.INDICATORS, this._element)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (SelectorEngine.findOne(Selector.NEXT_PREV, this._element)) {\n triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config && this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element)\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex ?\n Direction.NEXT :\n Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n Data.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler\n .on(this._element, Event.KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler\n .on(this._element, Event.MOUSEENTER, event => this.pause(event))\n EventHandler\n .on(this._element, Event.MOUSELEAVE, event => this.cycle(event))\n }\n\n if (this._config.touch && this._touchSupported) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n const start = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchStartX = event.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.touches[0].clientX\n }\n }\n\n const move = event => {\n // ensure swiping with one touch and not pinching\n if (event.touches && event.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n\n this.touchTimeout = setTimeout(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n makeArray(SelectorEngine.find(Selector.ITEM_IMG, this._element)).forEach(itemImg => {\n EventHandler.on(itemImg, Event.DRAG_START, e => e.preventDefault())\n })\n\n if (this._pointerEvent) {\n EventHandler.on(this._element, Event.POINTERDOWN, event => start(event))\n EventHandler.on(this._element, Event.POINTERUP, event => end(event))\n\n this._element.classList.add(ClassName.POINTER_EVENT)\n } else {\n EventHandler.on(this._element, Event.TOUCHSTART, event => start(event))\n EventHandler.on(this._element, Event.TOUCHMOVE, event => move(event))\n EventHandler.on(this._element, Event.TOUCHEND, event => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode ?\n makeArray(SelectorEngine.find(Selector.ITEM, element.parentNode)) :\n []\n\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = (isPrevDirection && activeIndex === 0) ||\n (isNextDirection && activeIndex === lastItemIndex)\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] :\n this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element))\n\n return EventHandler.trigger(this._element, Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = SelectorEngine.find(Selector.ACTIVE, this._indicatorsElement)\n for (let i = 0; i < indicators.length; i++) {\n indicators[i].classList.remove(ClassName.ACTIVE)\n }\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n nextIndicator.classList.add(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || (activeElement &&\n this._getItemByDirection(direction, activeElement))\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && nextElement.classList.contains(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.defaultPrevented) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n if (this._element.classList.contains(ClassName.SLIDE)) {\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = getTransitionDurationFromElement(activeElement)\n\n EventHandler\n .one(activeElement, TRANSITION_END, () => {\n nextElement.classList.remove(directionalClassName)\n nextElement.classList.remove(orderClassName)\n nextElement.classList.add(ClassName.ACTIVE)\n\n activeElement.classList.remove(ClassName.ACTIVE)\n activeElement.classList.remove(orderClassName)\n activeElement.classList.remove(directionalClassName)\n\n this._isSliding = false\n\n setTimeout(() => {\n EventHandler.trigger(this._element, Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }, 0)\n })\n\n emulateTransitionEnd(activeElement, transitionDuration)\n } else {\n activeElement.classList.remove(ClassName.ACTIVE)\n nextElement.classList.add(ClassName.ACTIVE)\n\n this._isSliding = false\n EventHandler.trigger(this._element, Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static carouselInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n let _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element)\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(element, _config)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Carousel.carouselInterface(this, config)\n })\n }\n\n static dataApiClickHandler(event) {\n const target = getElementFromSelector(this)\n\n if (!target || !target.classList.contains(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel.carouselInterface(target, config)\n\n if (slideIndex) {\n Data.getData(target, DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel.dataApiClickHandler)\n\nEventHandler.on(window, Event.LOAD_DATA_API, () => {\n const carousels = makeArray(SelectorEngine.find(Selector.DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n Carousel.carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY))\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .carousel to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Carousel.jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel.jQueryInterface\n }\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isElement,\n makeArray,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n toggle: true,\n parent: ''\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(string|element)'\n}\n\nconst Event = {\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SHOW: 'show',\n COLLAPSE: 'collapse',\n COLLAPSING: 'collapsing',\n COLLAPSED: 'collapsed'\n}\n\nconst Dimension = {\n WIDTH: 'width',\n HEIGHT: 'height'\n}\n\nconst Selector = {\n ACTIVES: '.show, .collapsing',\n DATA_TOGGLE: '[data-toggle=\"collapse\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = makeArray(SelectorEngine.find(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n\n const toggleList = makeArray(SelectorEngine.find(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = getSelectorFromElement(elem)\n const filterElement = makeArray(SelectorEngine.find(selector))\n .filter(foundElem => foundElem === element)\n\n if (selector !== null && filterElement.length) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if (this._element.classList.contains(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = makeArray(SelectorEngine.find(Selector.ACTIVES, this._parent))\n .filter(elem => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(ClassName.COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n const container = SelectorEngine.findOne(this._selector)\n if (actives) {\n const tempActiveData = actives.filter(elem => container !== elem)\n activesData = tempActiveData[0] ? Data.getData(tempActiveData[0], DATA_KEY) : null\n\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = EventHandler.trigger(this._element, Event.SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n if (actives) {\n actives.forEach(elemActive => {\n if (container !== elemActive) {\n Collapse.collapseInterface(elemActive, 'hide')\n }\n\n if (!activesData) {\n Data.setData(elemActive, DATA_KEY, null)\n }\n })\n }\n\n const dimension = this._getDimension()\n\n this._element.classList.remove(ClassName.COLLAPSE)\n this._element.classList.add(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n this._triggerArray.forEach(element => {\n element.classList.remove(ClassName.COLLAPSED)\n element.setAttribute('aria-expanded', true)\n })\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this._element.classList.remove(ClassName.COLLAPSING)\n this._element.classList.add(ClassName.COLLAPSE)\n this._element.classList.add(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n EventHandler.trigger(this._element, Event.SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n\n emulateTransitionEnd(this._element, transitionDuration)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, Event.HIDE)\n if (startEvent.defaultPrevented) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n reflow(this._element)\n\n this._element.classList.add(ClassName.COLLAPSING)\n this._element.classList.remove(ClassName.COLLAPSE)\n this._element.classList.remove(ClassName.SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const elem = getElementFromSelector(trigger)\n\n if (elem && !elem.classList.contains(ClassName.SHOW)) {\n trigger.classList.add(ClassName.COLLAPSED)\n trigger.setAttribute('aria-expanded', false)\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n this._element.classList.remove(ClassName.COLLAPSING)\n this._element.classList.add(ClassName.COLLAPSE)\n EventHandler.trigger(this._element, Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = this._element.classList.contains(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let { parent } = this._config\n\n if (isElement(parent)) {\n // it's a jQuery object\n if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {\n parent = parent[0]\n }\n } else {\n parent = SelectorEngine.findOne(parent)\n }\n\n const selector = `[data-toggle=\"collapse\"][data-parent=\"${parent}\"]`\n\n makeArray(SelectorEngine.find(selector, parent))\n .forEach(element => {\n const selected = getElementFromSelector(element)\n\n this._addAriaAndCollapsedClass(\n selected,\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (element) {\n const isOpen = element.classList.contains(ClassName.SHOW)\n\n if (triggerArray.length) {\n triggerArray.forEach(elem => {\n if (isOpen) {\n elem.classList.remove(ClassName.COLLAPSED)\n } else {\n elem.classList.add(ClassName.COLLAPSED)\n }\n\n elem.setAttribute('aria-expanded', isOpen)\n })\n }\n }\n }\n\n // Static\n\n static collapseInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Collapse.collapseInterface(this, config)\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A') {\n event.preventDefault()\n }\n\n const triggerData = Manipulator.getDataAttributes(this)\n const selector = getSelectorFromElement(this)\n const selectorElements = makeArray(SelectorEngine.find(selector))\n\n selectorElements.forEach(element => {\n const data = Data.getData(element, DATA_KEY)\n let config\n if (data) {\n // update parent attribute\n if (data._parent === null && typeof triggerData.parent === 'string') {\n data._config.parent = triggerData.parent\n data._parent = data._getParent()\n }\n\n config = 'toggle'\n } else {\n config = triggerData\n }\n\n Collapse.collapseInterface(element, config)\n })\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .collapse to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Collapse.jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse.jQueryInterface\n }\n}\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getElementFromSelector,\n isElement,\n isVisible,\n makeArray,\n noop,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API: `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API: `keyup${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DISABLED: 'disabled',\n SHOW: 'show',\n DROPUP: 'dropup',\n DROPRIGHT: 'dropright',\n DROPLEFT: 'dropleft',\n MENURIGHT: 'dropdown-menu-right',\n POSITION_STATIC: 'position-static'\n}\n\nconst Selector = {\n DATA_TOGGLE: '[data-toggle=\"dropdown\"]',\n FORM_CHILD: '.dropdown form',\n MENU: '.dropdown-menu',\n NAVBAR_NAV: '.navbar-nav',\n VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n}\n\nconst AttachmentMap = {\n TOP: 'top-start',\n TOPEND: 'top-end',\n BOTTOM: 'bottom-start',\n BOTTOMEND: 'bottom-end',\n RIGHT: 'right-start',\n RIGHTEND: 'right-end',\n LEFT: 'left-start',\n LEFTEND: 'left-end'\n}\n\nconst Default = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n const isActive = this._menu.classList.contains(ClassName.SHOW)\n\n Dropdown.clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show()\n }\n\n show() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED) || this._menu.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const showEvent = EventHandler.trigger(parent, Event.SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n parent.classList.add(ClassName.POSITION_STATIC)\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n !makeArray(SelectorEngine.closest(parent, Selector.NAVBAR_NAV)).length) {\n makeArray(document.body.children)\n .forEach(elem => EventHandler.on(elem, 'mouseover', null, noop()))\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n Manipulator.toggleClass(this._menu, ClassName.SHOW)\n Manipulator.toggleClass(parent, ClassName.SHOW)\n EventHandler.trigger(parent, Event.SHOWN, relatedTarget)\n }\n\n hide() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED) || !this._menu.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const hideEvent = EventHandler.trigger(parent, Event.HIDE, relatedTarget)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n Manipulator.toggleClass(this._menu, ClassName.SHOW)\n Manipulator.toggleClass(parent, ClassName.SHOW)\n EventHandler.trigger(parent, Event.HIDDEN, relatedTarget)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._element, EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n EventHandler.on(this._element, Event.CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n const parent = Dropdown.getParentFromElement(this._element)\n\n return SelectorEngine.findOne(Selector.MENU, parent)\n }\n\n _getPlacement() {\n const parentDropdown = this._element.parentNode\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if (parentDropdown.classList.contains(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if (this._menu.classList.contains(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if (parentDropdown.classList.contains(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if (parentDropdown.classList.contains(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if (this._menu.classList.contains(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n\n return placement\n }\n\n _detectNavbar() {\n return Boolean(SelectorEngine.closest(this._element, '.navbar'))\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets, this._element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static dropdownInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Dropdown.dropdownInterface(this, config)\n })\n }\n\n static clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n (event.type === 'keyup' && event.which !== TAB_KEYCODE))) {\n return\n }\n\n const toggles = makeArray(SelectorEngine.find(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown.getParentFromElement(toggles[i])\n const context = Data.getData(toggles[i], DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!parent.classList.contains(ClassName.SHOW)) {\n continue\n }\n\n if (event && ((event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName)) ||\n (event.type === 'keyup' && event.which === TAB_KEYCODE)) &&\n parent.contains(event.target)) {\n continue\n }\n\n const hideEvent = EventHandler.trigger(parent, Event.HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children)\n .forEach(elem => EventHandler.off(elem, 'mouseover', null, noop()))\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n dropdownMenu.classList.remove(ClassName.SHOW)\n parent.classList.remove(ClassName.SHOW)\n EventHandler.trigger(parent, Event.HIDDEN, relatedTarget)\n }\n }\n\n static getParentFromElement(element) {\n return getElementFromSelector(element) || element.parentNode\n }\n\n static dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ?\n event.which === SPACE_KEYCODE || (event.which !== ESCAPE_KEYCODE &&\n ((event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE) ||\n SelectorEngine.closest(event.target, Selector.MENU))) :\n !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || this.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this)\n const isActive = parent.classList.contains(ClassName.SHOW)\n\n if (!isActive || (isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE))) {\n if (event.which === ESCAPE_KEYCODE) {\n SelectorEngine.findOne(Selector.DATA_TOGGLE, parent).focus()\n }\n\n Dropdown.clearMenus()\n return\n }\n\n const items = makeArray(SelectorEngine.find(Selector.VISIBLE_ITEMS, parent))\n .filter(isVisible)\n\n if (!items.length) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, Event.CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, Event.KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown.dropdownInterface(this, 'toggle')\n})\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.FORM_CHILD, e => e.stopPropagation())\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .dropdown to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Dropdown.jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown.jQueryInterface\n }\n}\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n makeArray,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: 'boolean'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDE_PREVENTED: `hidePrevented${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n RESIZE: `resize${EVENT_KEY}`,\n CLICK_DISMISS: `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS: `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS: `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS: `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SCROLLABLE: 'modal-dialog-scrollable',\n SCROLLBAR_MEASURER: 'modal-scrollbar-measure',\n BACKDROP: 'modal-backdrop',\n OPEN: 'modal-open',\n FADE: 'fade',\n SHOW: 'show',\n STATIC: 'modal-static'\n}\n\nconst Selector = {\n DIALOG: '.modal-dialog',\n MODAL_BODY: '.modal-body',\n DATA_TOGGLE: '[data-toggle=\"modal\"]',\n DATA_DISMISS: '[data-dismiss=\"modal\"]',\n FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT: '.sticky-top'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = SelectorEngine.findOne(Selector.DIALOG, element)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if (this._element.classList.contains(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = EventHandler.trigger(this._element, Event.SHOW, {\n relatedTarget\n })\n\n if (this._isShown || showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.on(this._element,\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n event => this.hide(event)\n )\n\n EventHandler.on(this._dialog, Event.MOUSEDOWN_DISMISS, () => {\n EventHandler.one(this._element, Event.MOUSEUP_DISMISS, event => {\n if (event.target === this._element) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, Event.HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n const transition = this._element.classList.contains(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.off(document, Event.FOCUSIN)\n\n this._element.classList.remove(ClassName.SHOW)\n\n EventHandler.off(this._element, Event.CLICK_DISMISS)\n EventHandler.off(this._dialog, Event.MOUSEDOWN_DISMISS)\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, event => this._hideModal(event))\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\n\n /**\n * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `Event.CLICK_DATA_API` event that should remain\n */\n EventHandler.off(document, Event.FOCUSIN)\n\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = this._element.classList.contains(ClassName.FADE)\n const modalBody = SelectorEngine.findOne(Selector.MODAL_BODY, this._dialog)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n\n if (this._dialog.classList.contains(ClassName.SCROLLABLE) && modalBody) {\n modalBody.scrollTop = 0\n } else {\n this._element.scrollTop = 0\n }\n\n if (transition) {\n reflow(this._element)\n }\n\n this._element.classList.add(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, Event.SHOWN, {\n relatedTarget\n })\n }\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._dialog)\n\n EventHandler.one(this._dialog, TRANSITION_END, transitionComplete)\n emulateTransitionEnd(this._dialog, transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n EventHandler.off(document, Event.FOCUSIN) // guard against infinite focus loop\n EventHandler.on(document, Event.FOCUSIN, event => {\n if (document !== event.target &&\n this._element !== event.target &&\n !this._element.contains(event.target)) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n EventHandler.on(this._element, Event.KEYDOWN_DISMISS, event => {\n if (event.which === ESCAPE_KEYCODE) {\n this._triggerBackdropTransition()\n }\n })\n } else {\n EventHandler.off(this._element, Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n EventHandler.on(window, Event.RESIZE, () => this._adjustDialog())\n } else {\n EventHandler.off(window, Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._isTransitioning = false\n this._showBackdrop(() => {\n document.body.classList.remove(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n EventHandler.trigger(this._element, Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n this._backdrop.parentNode.removeChild(this._backdrop)\n this._backdrop = null\n }\n\n _showBackdrop(callback) {\n const animate = this._element.classList.contains(ClassName.FADE) ?\n ClassName.FADE :\n ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n document.body.appendChild(this._backdrop)\n\n EventHandler.on(this._element, Event.CLICK_DISMISS, event => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n\n if (event.target !== event.currentTarget) {\n return\n }\n\n this._triggerBackdropTransition()\n })\n\n if (animate) {\n reflow(this._backdrop)\n }\n\n this._backdrop.classList.add(ClassName.SHOW)\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n\n EventHandler.one(this._backdrop, TRANSITION_END, callback)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n this._backdrop.classList.remove(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n callback()\n }\n\n if (this._element.classList.contains(ClassName.FADE)) {\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else {\n callback()\n }\n }\n\n _triggerBackdropTransition() {\n if (this._config.backdrop === 'static') {\n const hideEvent = EventHandler.trigger(this._element, Event.HIDE_PREVENTED)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._element.classList.add(ClassName.STATIC)\n const modalTransitionDuration = getTransitionDurationFromElement(this._element)\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.classList.remove(ClassName.STATIC)\n })\n emulateTransitionEnd(this._element, modalTransitionDuration)\n this._element.focus()\n } else {\n this.hide()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n makeArray(SelectorEngine.find(Selector.FIXED_CONTENT))\n .forEach(element => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = window.getComputedStyle(element)['padding-right']\n Manipulator.setDataAttribute(element, 'padding-right', actualPadding)\n element.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n })\n\n // Adjust sticky content margin\n makeArray(SelectorEngine.find(Selector.STICKY_CONTENT))\n .forEach(element => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = window.getComputedStyle(element)['margin-right']\n Manipulator.setDataAttribute(element, 'margin-right', actualMargin)\n element.style.marginRight = `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = window.getComputedStyle(document.body)['padding-right']\n\n Manipulator.setDataAttribute(document.body, 'padding-right', actualPadding)\n document.body.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n }\n\n document.body.classList.add(ClassName.OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n makeArray(SelectorEngine.find(Selector.FIXED_CONTENT))\n .forEach(element => {\n const padding = Manipulator.getDataAttribute(element, 'padding-right')\n if (typeof padding !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'padding-right')\n element.style.paddingRight = padding\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n makeArray(SelectorEngine.find(`${Selector.STICKY_CONTENT}`))\n .forEach(element => {\n const margin = Manipulator.getDataAttribute(element, 'margin-right')\n if (typeof margin !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'margin-right')\n element.style.marginRight = margin\n }\n })\n\n // Restore body padding\n const padding = Manipulator.getDataAttribute(document.body, 'padding-right')\n if (typeof padding === 'undefined') {\n document.body.style.paddingRight = ''\n } else {\n Manipulator.removeDataAttribute(document.body, 'padding-right')\n document.body.style.paddingRight = padding\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(this),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n EventHandler.one(target, Event.SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, Event.HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n let data = Data.getData(target, DATA_KEY)\n if (!data) {\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n\n data = new Modal(target, config)\n }\n\n data.show(this)\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .modal to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Modal.jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal.jQueryInterface\n }\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { makeArray } from './index'\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i\n\nconst allowedAttribute = (attr, allowedAttributeList) => {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter(attrRegex => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, l = regExp.length; i < l; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\n\nexport const DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\nexport function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const whitelistKeys = Object.keys(whiteList)\n const elements = makeArray(createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (whitelistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = makeArray(el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n findShadowRoot,\n getTransitionDurationFromElement,\n getUID,\n isElement,\n makeArray,\n noop,\n typeCheckConfig\n} from './util/index'\nimport {\n DefaultWhitelist,\n sanitizeHtml\n} from './util/sanitizer'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']\n\nconst DefaultType = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n whiteList: 'object',\n popperConfig: '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n}\n\nconst Default = {\n animation: true,\n template: '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"tooltip-arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\n sanitize: true,\n sanitizeFn: null,\n whiteList: DefaultWhitelist,\n popperConfig: null\n}\n\nconst HoverState = {\n SHOW: 'show',\n OUT: 'out'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n TOOLTIP_INNER: '.tooltip-inner'\n}\n\nconst Trigger = {\n HOVER: 'hover',\n FOCUS: 'focus',\n CLICK: 'click',\n MANUAL: 'manual'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n Data.setData(element, this.constructor.DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if (this.getTipElement().classList.contains(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n Data.removeData(this.element, this.constructor.DATA_KEY)\n\n EventHandler.off(this.element, this.constructor.EVENT_KEY)\n EventHandler.off(SelectorEngine.closest(this.element, '.modal'), 'hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n this.tip.parentNode.removeChild(this.tip)\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if (this.element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (this.isWithContent() && this._isEnabled) {\n const showEvent = EventHandler.trigger(this.element, this.constructor.Event.SHOW)\n const shadowRoot = findShadowRoot(this.element)\n const isInTheDom = shadowRoot === null ?\n this.element.ownerDocument.documentElement.contains(this.element) :\n shadowRoot.contains(this.element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n tip.classList.add(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function' ?\n this.config.placement.call(this, tip, this.element) :\n this.config.placement\n\n const attachment = this._getAttachment(placement)\n this._addAttachmentClass(attachment)\n\n const container = this._getContainer()\n Data.setData(tip, this.constructor.DATA_KEY, this)\n\n if (!this.element.ownerDocument.documentElement.contains(this.tip)) {\n container.appendChild(tip)\n }\n\n EventHandler.trigger(this.element, this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\n\n tip.classList.add(ClassName.SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children).forEach(element => {\n EventHandler.on(element, 'mouseover', noop())\n })\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n EventHandler.trigger(this.element, this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if (this.tip.classList.contains(ClassName.FADE)) {\n const transitionDuration = getTransitionDurationFromElement(this.tip)\n EventHandler.one(this.tip, TRANSITION_END, complete)\n emulateTransitionEnd(this.tip, transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide() {\n const tip = this.getTipElement()\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n EventHandler.trigger(this.element, this.constructor.Event.HIDDEN)\n this._popper.destroy()\n }\n\n const hideEvent = EventHandler.trigger(this.element, this.constructor.Event.HIDE)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n tip.classList.remove(ClassName.SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children)\n .forEach(element => EventHandler.off(element, 'mouseover', noop))\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if (this.tip.classList.contains(ClassName.FADE)) {\n const transitionDuration = getTransitionDurationFromElement(tip)\n\n EventHandler.one(tip, TRANSITION_END, complete)\n emulateTransitionEnd(tip, transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n getTipElement() {\n if (this.tip) {\n return this.tip\n }\n\n const element = document.createElement('div')\n element.innerHTML = this.config.template\n\n this.tip = element.children[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent(SelectorEngine.findOne(Selector.TOOLTIP_INNER, tip), this.getTitle())\n tip.classList.remove(ClassName.FADE)\n tip.classList.remove(ClassName.SHOW)\n }\n\n setElementContent(element, content) {\n if (element === null) {\n return\n }\n\n if (typeof content === 'object' && isElement(content)) {\n if (content.jquery) {\n content = content[0]\n }\n\n // content is a DOM node or a jQuery\n if (this.config.html) {\n if (content.parentNode !== element) {\n element.innerHTML = ''\n element.appendChild(content)\n }\n } else {\n element.innerText = content.textContent\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn)\n }\n\n element.innerHTML = content\n } else {\n element.innerText = content\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function' ?\n this.config.title.call(this.element) :\n this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: `.${this.constructor.NAME}-arrow`\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: data => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: data => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...this.config.offset(data.offsets, this.element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (isElement(this.config.container)) {\n return this.config.container\n }\n\n return SelectorEngine.findOne(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach(trigger => {\n if (trigger === 'click') {\n EventHandler.on(this.element,\n this.constructor.Event.CLICK,\n this.config.selector,\n event => this.toggle(event)\n )\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n EventHandler.on(this.element,\n eventIn,\n this.config.selector,\n event => this._enter(event)\n )\n EventHandler.on(this.element,\n eventOut,\n this.config.selector,\n event => this._leave(event)\n )\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n EventHandler.on(SelectorEngine.closest(this.element, '.modal'),\n 'hide.bs.modal',\n this._hideModalHandler\n )\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if (context.getTipElement().classList.contains(ClassName.SHOW) ||\n context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this.element)\n\n Object.keys(dataAttributes)\n .forEach(dataAttr => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n if (config && typeof config.container === 'object' && config.container.jquery) {\n config.container = config.container[0]\n }\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length) {\n tabClass\n .map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n const popperInstance = popperData.instance\n this.tip = popperInstance.popper\n this._cleanTipClass()\n this._addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n tip.classList.remove(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tooltip to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tooltip.jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip.jQueryInterface\n }\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport SelectorEngine from './dom/selector-engine'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement: 'right',\n trigger: 'click',\n content: '',\n template: '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"popover-arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(string|element|function)'\n}\n\nconst ClassName = {\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n TITLE: '.popover-header',\n CONTENT: '.popover-body'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n setContent() {\n const tip = this.getTipElement()\n\n // we use append for html objects to maintain js events\n this.setElementContent(SelectorEngine.findOne(Selector.TITLE, tip), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n\n this.setElementContent(SelectorEngine.findOne(Selector.CONTENT, tip), content)\n\n tip.classList.remove(ClassName.FADE)\n tip.classList.remove(ClassName.SHOW)\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n Data.setData(this, DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Popover.jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover.jQueryInterface\n }\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getSelectorFromElement,\n getUID,\n makeArray,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n offset: 10,\n method: 'auto',\n target: ''\n}\n\nconst DefaultType = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n}\n\nconst Event = {\n ACTIVATE: `activate${EVENT_KEY}`,\n SCROLL: `scroll${EVENT_KEY}`,\n LOAD_DATA_API: `load${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_ITEM: 'dropdown-item',\n ACTIVE: 'active'\n}\n\nconst Selector = {\n DATA_SPY: '[data-spy=\"scroll\"]',\n NAV_LIST_GROUP: '.nav, .list-group',\n NAV_LINKS: '.nav-link',\n NAV_ITEMS: '.nav-item',\n LIST_ITEMS: '.list-group-item',\n DROPDOWN: '.dropdown',\n DROPDOWN_TOGGLE: '.dropdown-toggle'\n}\n\nconst OffsetMethod = {\n OFFSET: 'offset',\n POSITION: 'position'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +\n `${this._config.target} ${Selector.LIST_ITEMS},` +\n `${this._config.target} .${ClassName.DROPDOWN_ITEM}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n EventHandler.on(this._scrollElement, Event.SCROLL, event => this._process(event))\n\n this.refresh()\n this._process()\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window ?\n OffsetMethod.OFFSET :\n OffsetMethod.POSITION\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod :\n this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION ?\n this._getScrollTop() :\n 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = makeArray(SelectorEngine.find(this._selector))\n\n targets\n .map(element => {\n let target\n const targetSelector = getSelectorFromElement(element)\n\n if (targetSelector) {\n target = SelectorEngine.findOne(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n return [\n Manipulator[offsetMethod](target).top + offsetBase,\n targetSelector\n ]\n }\n }\n\n return null\n })\n .filter(item => item)\n .sort((a, b) => a[0] - b[0])\n .forEach(item => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._scrollElement, EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.target !== 'string') {\n let { id } = config.target\n if (!id) {\n id = getUID(NAME)\n config.target.id = id\n }\n\n config.target = `#${id}`\n }\n\n typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset :\n this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight :\n this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n const offsetLength = this._offsets.length\n for (let i = offsetLength; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector.split(',')\n .map(selector => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const link = SelectorEngine.findOne(queries.join(','))\n\n if (link.classList.contains(ClassName.DROPDOWN_ITEM)) {\n SelectorEngine\n .findOne(Selector.DROPDOWN_TOGGLE, SelectorEngine.closest(link, Selector.DROPDOWN))\n .classList.add(ClassName.ACTIVE)\n\n link.classList.add(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n link.classList.add(ClassName.ACTIVE)\n\n SelectorEngine\n .parents(link, Selector.NAV_LIST_GROUP)\n .forEach(listGroup => {\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n SelectorEngine.prev(listGroup, `${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`)\n .forEach(item => item.classList.add(ClassName.ACTIVE))\n\n // Handle special case when .nav-link is inside .nav-item\n SelectorEngine.prev(listGroup, Selector.NAV_ITEMS)\n .forEach(navItem => {\n SelectorEngine.children(navItem, Selector.NAV_LINKS)\n .forEach(item => item.classList.add(ClassName.ACTIVE))\n })\n })\n }\n\n EventHandler.trigger(this._scrollElement, Event.ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n makeArray(SelectorEngine.find(this._selector))\n .filter(node => node.classList.contains(ClassName.ACTIVE))\n .forEach(node => node.classList.remove(ClassName.ACTIVE))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(window, Event.LOAD_DATA_API, () => {\n makeArray(SelectorEngine.find(Selector.DATA_SPY))\n .forEach(spy => new ScrollSpy(spy, Manipulator.getDataAttributes(spy)))\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = ScrollSpy.jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy.jQueryInterface\n }\n}\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n makeArray,\n reflow\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_MENU: 'dropdown-menu',\n ACTIVE: 'active',\n DISABLED: 'disabled',\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n DROPDOWN: '.dropdown',\n NAV_LIST_GROUP: '.nav, .list-group',\n ACTIVE: '.active',\n ACTIVE_UL: ':scope > li > .active',\n DATA_TOGGLE: '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n DROPDOWN_TOGGLE: '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD: ':scope > .dropdown-menu .active'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n\n Data.setData(this._element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if ((this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n this._element.classList.contains(ClassName.ACTIVE)) ||\n this._element.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n let previous\n const target = getElementFromSelector(this._element)\n const listElement = SelectorEngine.closest(this._element, Selector.NAV_LIST_GROUP)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n previous = makeArray(SelectorEngine.find(itemSelector, listElement))\n previous = previous[previous.length - 1]\n }\n\n let hideEvent = null\n\n if (previous) {\n hideEvent = EventHandler.trigger(previous, Event.HIDE, {\n relatedTarget: this._element\n })\n }\n\n const showEvent = EventHandler.trigger(this._element, Event.SHOW, {\n relatedTarget: previous\n })\n\n if (showEvent.defaultPrevented ||\n (hideEvent !== null && hideEvent.defaultPrevented)) {\n return\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n EventHandler.trigger(previous, Event.HIDDEN, {\n relatedTarget: this._element\n })\n EventHandler.trigger(this._element, Event.SHOWN, {\n relatedTarget: previous\n })\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ?\n SelectorEngine.find(Selector.ACTIVE_UL, container) :\n SelectorEngine.children(container, Selector.ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n (active && active.classList.contains(ClassName.FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = getTransitionDurationFromElement(active)\n active.classList.remove(ClassName.SHOW)\n\n EventHandler.one(active, TRANSITION_END, complete)\n emulateTransitionEnd(active, transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n active.classList.remove(ClassName.ACTIVE)\n\n const dropdownChild = SelectorEngine.findOne(Selector.DROPDOWN_ACTIVE_CHILD, active.parentNode)\n\n if (dropdownChild) {\n dropdownChild.classList.remove(ClassName.ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n element.classList.add(ClassName.ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n reflow(element)\n\n if (element.classList.contains(ClassName.FADE)) {\n element.classList.add(ClassName.SHOW)\n }\n\n if (element.parentNode && element.parentNode.classList.contains(ClassName.DROPDOWN_MENU)) {\n const dropdownElement = SelectorEngine.closest(element, Selector.DROPDOWN)\n\n if (dropdownElement) {\n makeArray(SelectorEngine.find(Selector.DROPDOWN_TOGGLE))\n .forEach(dropdown => dropdown.classList.add(ClassName.ACTIVE))\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n data.show()\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tab to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tab.jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab.jQueryInterface\n }\n}\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getTransitionDurationFromElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst Event = {\n CLICK_DISMISS: `click.dismiss${EVENT_KEY}`,\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE: 'fade',\n HIDE: 'hide',\n SHOW: 'show',\n SHOWING: 'showing'\n}\n\nconst DefaultType = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n}\n\nconst Default = {\n animation: true,\n autohide: true,\n delay: 500\n}\n\nconst Selector = {\n DATA_DISMISS: '[data-dismiss=\"toast\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n show() {\n const showEvent = EventHandler.trigger(this._element, Event.SHOW)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n if (this._config.animation) {\n this._element.classList.add(ClassName.FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(ClassName.SHOWING)\n this._element.classList.add(ClassName.SHOW)\n\n EventHandler.trigger(this._element, Event.SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(ClassName.HIDE)\n reflow(this._element)\n this._element.classList.add(ClassName.SHOWING)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, Event.HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const complete = () => {\n this._element.classList.add(ClassName.HIDE)\n EventHandler.trigger(this._element, Event.HIDDEN)\n }\n\n this._element.classList.remove(ClassName.SHOW)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n this._timeout = null\n\n if (this._element.classList.contains(ClassName.SHOW)) {\n this._element.classList.remove(ClassName.SHOW)\n }\n\n EventHandler.off(this._element, Event.CLICK_DISMISS)\n Data.removeData(this._element, DATA_KEY)\n\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...typeof config === 'object' && config ? config : {}\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(\n this._element,\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n () => this.hide()\n )\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .toast to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Toast.jQueryInterface\n $.fn[NAME].Constructor = Toast\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast.jQueryInterface\n }\n}\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): index.umd.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Alert from './src/alert'\nimport Button from './src/button'\nimport Carousel from './src/carousel'\nimport Collapse from './src/collapse'\nimport Dropdown from './src/dropdown'\nimport Modal from './src/modal'\nimport Popover from './src/popover'\nimport ScrollSpy from './src/scrollspy'\nimport Tab from './src/tab'\nimport Toast from './src/toast'\nimport Tooltip from './src/tooltip'\n\nexport default {\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n ScrollSpy,\n Tab,\n Toast,\n Tooltip\n}\n"]} \ No newline at end of file
+{"version":3,"sources":["../../js/src/util/index.js","../../js/src/dom/data.js","../../js/src/dom/polyfill.js","../../js/src/dom/event-handler.js","../../js/src/dom/selector-engine.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/dom/manipulator.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/util/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/index.umd.js"],"names":["storeData","id","e","element","getUID","prefix","Math","random","document","getElementById","getSelector","selector","getAttribute","hrefAttr","trim","getSelectorFromElement","querySelector","getElementFromSelector","getTransitionDurationFromElement","_window$getComputedSt","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","dispatchEvent","Event","isElement","obj","nodeType","emulateTransitionEnd","duration","called","emulatedDuration","addEventListener","listener","removeEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","toString","call","match","toLowerCase","RegExp","test","Error","toUpperCase","isVisible","style","parentNode","elementStyle","parentNodeStyle","display","visibility","noop","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","mapData","set","key","data","get","keyProperties","delete","Data","instance","find","Element","prototype","querySelectorAll","findOne","defaultPreventedPreservedOnDispatch","CustomEvent","cancelable","createElement","preventDefault","defaultPrevented","scopeSelectorRegex","_","this","hasId","Boolean","nodeList","replace","removeAttribute","matches","$","namespaceRegex","stripNameRegex","keyEventRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","getUidEvent","uid","getEvent","fixEvent","event","which","type","charCode","keyCode","delegateTarget","findHandler","events","handler","delegationSelector","uidEventList","i","len","length","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","custom","indexOf","addHandler","oneOff","_normalizeParams","handlers","previousFn","fn","domElements","target","EventHandler","off","apply","bootstrapDelegationHandler","bootstrapHandler","removeHandler","on","one","_normalizeParams2","inNamespace","isNamespace","charAt","elementEvent","namespace","storeElementEvent","handlerKey","removeNamespacedHandlers","slice","keyHandlers","trigger","args","jQueryEvent","isNative","bubbles","nativeDispatch","evt","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","createEvent","initEvent","defineProperty","SelectorEngine","_ref","documentElement","concat","findFn","children","_ref2","filter","child","parents","ancestor","Node","ELEMENT_NODE","push","closest","prev","previous","previousElementSibling","next","nextElementSibling","NAME","Alert","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","_removeElement","dispose","parent","_this","classList","remove","contains","_destroyElement","removeChild","jQueryInterface","each","handleDismiss","alertInstance","getInstance","JQUERY_NO_CONFLICT","Constructor","noConflict","Button","toggle","triggerChangeEvent","addAriaPressed","input","checked","activeElement","focus","setAttribute","button","add","normalizeData","val","Number","normalizeDataKey","chr","Manipulator","setDataAttribute","removeDataAttribute","getDataAttributes","attributes","_objectSpread2","dataset","getDataAttribute","offset","rect","getBoundingClientRect","top","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft","toggleClass","className","EVENT_KEY","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","MSPointerEvent","_addEventListeners","_slide","nextWhenVisible","hidden","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","_handleSwipe","absDeltax","abs","_this2","_keydown","_addTouchEventListeners","_this3","start","pointerType","clientX","touches","end","clearTimeout","itemImg","move","tagName","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","from","_setActiveIndicatorElement","indicators","nextIndicator","directionalClassName","orderClassName","_this4","activeElementIndex","nextElement","nextElementIndex","isCycling","nextElementInterval","parseInt","defaultInterval","carouselInterface","action","TypeError","ride","dataApiClickHandler","slideIndex","carousels","Collapse","_isTransitioning","_triggerArray","SELECTOR_DATA_TOGGLE","toggleList","elem","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","container","tempActiveData","elemActive","collapseInterface","dimension","_getDimension","setTransitioning","scrollSize","triggerArrayLength","isTransitioning","jquery","selected","triggerArray","isOpen","triggerData","REGEXP_KEYDOWN","ARROW_UP_KEYCODE","flip","boundary","reference","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","clearMenus","getParentFromElement","Popper","referenceElement","_getPopperConfig","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","parentDropdown","placement","_getOffset","offsets","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","dropdownInterface","toggles","context","clickEvent","dropdownMenu","dataApiKeydownHandler","items","backdrop","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","showEvent","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","handleUpdate","modalBody","appendChild","_enforceFocus","transitionComplete","_this5","_triggerBackdropTransition","_this6","_this7","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","_this8","animate","currentTarget","backdropTransitionDuration","callbackRemove","_this9","modalTransitionDuration","isModalOverflowing","scrollHeight","clientHeight","paddingLeft","paddingRight","right","innerWidth","_getScrollbarWidth","_this10","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","margin","scrollDiv","scrollbarWidth","width","clientWidth","_this11","uriAttrs","SAFE_URL_PATTERN","DATA_URL_PATTERN","DefaultWhitelist","*","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","sanitizeHtml","unsafeHtml","whiteList","sanitizeFn","createdDocument","DOMParser","parseFromString","whitelistKeys","elements","_loop","el","elName","nodeName","attributeList","whitelistedAttributes","attr","allowedAttributeList","attrName","nodeValue","regExp","attrRegex","allowedAttribute","innerHTML","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","fallbackPlacement","sanitize","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","DATA_KEY","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","findShadowRoot","attachShadow","getRootNode","root","ShadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","_addAttachmentClass","_getContainer","complete","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","innerText","textContent","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","CLASS_PREFIX","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","tabClass","map","token","tClass","popperData","popperInstance","popper","initConfigAnimation","Popover","_getContent","method","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targetSelector","targetBCR","height","item","sort","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","queries","link","join","listGroup","SELECTOR_NAV_LINKS","navItem","node","spy","Tab","listElement","itemSelector","hideEvent","active","_transitionComplete","dropdownChild","dropdown","autohide","Toast"],"mappings":"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","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => {\n if (obj === null || obj === undefined) {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = obj => (obj[0] || obj).nodeType\n\nconst emulateTransitionEnd = (element, duration) => {\n let called = false\n const durationPadding = 5\n const emulatedDuration = duration + durationPadding\n function listener() {\n called = true\n element.removeEventListener(TRANSITION_END, listener)\n }\n\n element.addEventListener(TRANSITION_END, listener)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(element)\n }\n }, emulatedDuration)\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes)\n .forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n const elementStyle = getComputedStyle(element)\n const parentNodeStyle = getComputedStyle(element.parentNode)\n\n return elementStyle.display !== 'none' &&\n parentNodeStyle.display !== 'none' &&\n elementStyle.visibility !== 'hidden'\n }\n\n return false\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst mapData = (() => {\n const storeData = {}\n let id = 1\n return {\n set(element, key, data) {\n if (typeof element.key === 'undefined') {\n element.key = {\n key,\n id\n }\n id++\n }\n\n storeData[element.key.id] = data\n },\n get(element, key) {\n if (!element || typeof element.key === 'undefined') {\n return null\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.key === 'undefined') {\n return\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.key\n }\n }\n }\n})()\n\nconst Data = {\n setData(instance, key, data) {\n mapData.set(instance, key, data)\n },\n getData(instance, key) {\n return mapData.get(instance, key)\n },\n removeData(instance, key) {\n mapData.delete(instance, key)\n }\n}\n\nexport default Data\n","/* istanbul ignore file */\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/polyfill.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getUID } from '../util/index'\n\nlet find = Element.prototype.querySelectorAll\nlet findOne = Element.prototype.querySelector\n\n// MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached\nconst defaultPreventedPreservedOnDispatch = (() => {\n const e = new CustomEvent('Bootstrap', {\n cancelable: true\n })\n\n const element = document.createElement('div')\n element.addEventListener('Bootstrap', () => null)\n\n e.preventDefault()\n element.dispatchEvent(e)\n return e.defaultPrevented\n})()\n\nconst scopeSelectorRegex = /:scope\\b/\nconst supportScopeQuery = (() => {\n const element = document.createElement('div')\n\n try {\n element.querySelectorAll(':scope *')\n } catch (_) {\n return false\n }\n\n return true\n})()\n\nif (!supportScopeQuery) {\n find = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelectorAll(selector)\n }\n\n const hasId = Boolean(this.id)\n\n if (!hasId) {\n this.id = getUID('scope')\n }\n\n let nodeList = null\n try {\n selector = selector.replace(scopeSelectorRegex, `#${this.id}`)\n nodeList = this.querySelectorAll(selector)\n } finally {\n if (!hasId) {\n this.removeAttribute('id')\n }\n }\n\n return nodeList\n }\n\n findOne = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelector(selector)\n }\n\n const matches = find.call(this, selector)\n\n if (typeof matches[0] !== 'undefined') {\n return matches[0]\n }\n\n return null\n }\n}\n\nexport {\n find,\n findOne,\n defaultPreventedPreservedOnDispatch\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\nimport { defaultPreventedPreservedOnDispatch } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst $ = getjQuery()\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst keyEventRegex = /^key/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\nconst nativeEvents = [\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n]\n\n/**\n * ------------------------------------------------------------------------\n * Private methods\n * ------------------------------------------------------------------------\n */\n\nfunction getUidEvent(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getEvent(element) {\n const uid = getUidEvent(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction fixEvent(event, element) {\n // Add which for key events\n if (event.which === null && keyEventRegex.test(event.type)) {\n event.which = event.charCode === null ? event.keyCode : event.charCode\n }\n\n event.delegateTarget = element\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n fixEvent(event, element)\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = target.parentNode) {\n for (let i = domElements.length; i--;) {\n if (domElements[i] === target) {\n fixEvent(event, target)\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n\n // To please ESLint\n return null\n }\n}\n\nfunction findHandler(events, handler, delegationSelector = null) {\n const uidEventList = Object.keys(events)\n\n for (let i = 0, len = uidEventList.length; i < len; i++) {\n const event = events[uidEventList[i]]\n\n if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\n return event\n }\n }\n\n return null\n}\n\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\n const delegation = typeof handler === 'string'\n const originalHandler = delegation ? delegationFn : handler\n\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n let typeEvent = originalTypeEvent.replace(stripNameRegex, '')\n const custom = customEvents[typeEvent]\n\n if (custom) {\n typeEvent = custom\n }\n\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n if (!isNative) {\n typeEvent = originalTypeEvent\n }\n\n return [delegation, originalHandler, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n if (!handler) {\n handler = delegationFn\n delegationFn = null\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const events = getEvent(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null)\n\n if (previousFn) {\n previousFn.oneOff = previousFn.oneOff && oneOff\n\n return\n }\n\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = delegation ?\n bootstrapDelegationHandler(element, handler, delegationFn) :\n bootstrapHandler(element, handler)\n\n fn.delegationSelector = delegation ? handler : null\n fn.originalHandler = originalHandler\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, delegation)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {}\n\n Object.keys(storeElementEvent)\n .forEach(handlerKey => {\n if (handlerKey.indexOf(namespace) > -1) {\n const event = storeElementEvent[handlerKey]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, false)\n },\n\n one(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFn) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getEvent(element)\n const isNamespace = originalTypeEvent.charAt(0) === '.'\n\n if (typeof originalHandler !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!events || !events[typeEvent]) {\n return\n }\n\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null)\n return\n }\n\n if (isNamespace) {\n Object.keys(events)\n .forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent)\n .forEach(keyHandlers => {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.indexOf(handlerKey) > -1) {\n const event = storeElementEvent[keyHandlers]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const typeEvent = event.replace(stripNameRegex, '')\n const inNamespace = event !== typeEvent\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n let jQueryEvent\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n let evt = null\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n if (isNative) {\n evt = document.createEvent('HTMLEvents')\n evt.initEvent(typeEvent, bubbles, true)\n } else {\n evt = new CustomEvent(event, {\n bubbles,\n cancelable: true\n })\n }\n\n // merge custom informations in our event\n if (typeof args !== 'undefined') {\n Object.keys(args)\n .forEach(key => {\n Object.defineProperty(evt, key, {\n get() {\n return args[key]\n }\n })\n })\n }\n\n if (defaultPrevented) {\n evt.preventDefault()\n\n if (!defaultPreventedPreservedOnDispatch) {\n Object.defineProperty(evt, 'defaultPrevented', {\n get: () => true\n })\n }\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { find as findFn, findOne } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n matches(element, selector) {\n return element.matches(selector)\n },\n\n find(selector, element = document.documentElement) {\n return [].concat(...findFn.call(element, selector))\n },\n\n findOne(selector, element = document.documentElement) {\n return findOne.call(element, selector)\n },\n\n children(element, selector) {\n const children = [].concat(...element.children)\n\n return children.filter(child => child.matches(selector))\n },\n\n parents(element, selector) {\n const parents = []\n\n let ancestor = element.parentNode\n\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\n if (this.matches(ancestor, selector)) {\n parents.push(ancestor)\n }\n\n ancestor = ancestor.parentNode\n }\n\n return parents\n },\n\n closest(element, selector) {\n return element.closest(selector)\n },\n\n prev(element, selector) {\n let previous = element.previousElementSibling\n\n while (previous) {\n if (previous.matches(selector)) {\n return [previous]\n }\n\n previous = previous.previousElementSibling\n }\n\n return []\n },\n\n next(element, selector) {\n let next = element.nextElementSibling\n\n while (next) {\n if (this.matches(next, selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst SELECTOR_DISMISS = '[data-dismiss=\"alert\"]'\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASSNAME_ALERT = 'alert'\nconst CLASSNAME_FADE = 'fade'\nconst CLASSNAME_SHOW = 'show'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n\n if (this._element) {\n Data.setData(element, DATA_KEY, this)\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent === null || customEvent.defaultPrevented) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n let parent = getElementFromSelector(element)\n\n if (!parent) {\n parent = SelectorEngine.closest(element, `.${CLASSNAME_ALERT}`)\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n return EventHandler.trigger(element, EVENT_CLOSE)\n }\n\n _removeElement(element) {\n element.classList.remove(CLASSNAME_SHOW)\n\n if (!element.classList.contains(CLASSNAME_FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = getTransitionDurationFromElement(element)\n\n EventHandler\n .one(element, TRANSITION_END, () => this._destroyElement(element))\n emulateTransitionEnd(element, transitionDuration)\n }\n\n _destroyElement(element) {\n if (element.parentNode) {\n element.parentNode.removeChild(element)\n }\n\n EventHandler.trigger(element, EVENT_CLOSED)\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\nEventHandler\n .on(document, EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert.handleDismiss(new Alert()))\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .alert to jQuery only if jQuery is present\n */\n\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Alert.jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert.jQueryInterface\n }\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_BUTTON = 'btn'\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_FOCUS = 'focus'\n\nconst SELECTOR_DATA_TOGGLE_CARROT = '[data-toggle^=\"button\"]'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"buttons\"]'\nconst SELECTOR_INPUT = 'input:not([type=\"hidden\"])'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_BUTTON = '.btn'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_FOCUS_DATA_API = `focus${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_BLUR_DATA_API = `blur${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n\n const rootElement = SelectorEngine.closest(\n this._element,\n SELECTOR_DATA_TOGGLE\n )\n\n if (rootElement) {\n const input = SelectorEngine.findOne(SELECTOR_INPUT, this._element)\n\n if (input && input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(CLASS_NAME_ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE, rootElement)\n\n if (activeElement) {\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains(CLASS_NAME_DISABLED) ||\n rootElement.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n input.checked = !this._element.classList.contains(CLASS_NAME_ACTIVE)\n EventHandler.trigger(input, 'change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(CLASS_NAME_ACTIVE))\n }\n\n if (triggerChangeEvent) {\n this._element.classList.toggle(CLASS_NAME_ACTIVE)\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, event => {\n event.preventDefault()\n\n let button = event.target\n if (!button.classList.contains(CLASS_NAME_BUTTON)) {\n button = SelectorEngine.closest(button, SELECTOR_BUTTON)\n }\n\n let data = Data.getData(button, DATA_KEY)\n if (!data) {\n data = new Button(button)\n }\n\n data.toggle()\n})\n\nEventHandler.on(document, EVENT_FOCUS_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, event => {\n const button = SelectorEngine.closest(event.target, SELECTOR_BUTTON)\n\n if (button) {\n button.classList.add(CLASS_NAME_FOCUS)\n }\n})\n\nEventHandler.on(document, EVENT_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, event => {\n const button = SelectorEngine.closest(event.target, SELECTOR_BUTTON)\n\n if (button) {\n button.classList.remove(CLASS_NAME_FOCUS)\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .button to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Button.jQueryInterface\n $.fn[NAME].Constructor = Button\n\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button.jQueryInterface\n }\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(val) {\n if (val === 'true') {\n return true\n }\n\n if (val === 'false') {\n return false\n }\n\n if (val === Number(val).toString()) {\n return Number(val)\n }\n\n if (val === '' || val === 'null') {\n return null\n }\n\n return val\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {\n ...element.dataset\n }\n\n Object.keys(attributes).forEach(key => {\n attributes[key] = normalizeData(attributes[key])\n })\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-${normalizeDataKey(key)}`))\n },\n\n offset(element) {\n const rect = element.getBoundingClientRect()\n\n return {\n top: rect.top + document.body.scrollTop,\n left: rect.left + document.body.scrollLeft\n }\n },\n\n position(element) {\n return {\n top: element.offsetTop,\n left: element.offsetLeft\n }\n },\n\n toggleClass(element, className) {\n if (!element) {\n return\n }\n\n if (element.classList.contains(className)) {\n element.classList.remove(className)\n } else {\n element.classList.add(className)\n }\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n reflow,\n triggerTransitionEnd,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n}\n\nconst DIRECTION_NEXT = 'next'\nconst DIRECTION_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_RIGHT = 'carousel-item-right'\nconst CLASS_NAME_LEFT = 'carousel-item-left'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_ITEM = '.active.carousel-item'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-slide], [data-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-ride=\"carousel\"]'\n\nconst PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(DIRECTION_NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(DIRECTION_PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (SelectorEngine.findOne(SELECTOR_NEXT_PREV, this._element)) {\n triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config && this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex ?\n DIRECTION_NEXT :\n DIRECTION_PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n Data.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler\n .on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler\n .on(this._element, EVENT_MOUSEENTER, event => this.pause(event))\n EventHandler\n .on(this._element, EVENT_MOUSELEAVE, event => this.cycle(event))\n }\n\n if (this._config.touch && this._touchSupported) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n const start = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchStartX = event.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.touches[0].clientX\n }\n }\n\n const move = event => {\n // ensure swiping with one touch and not pinching\n if (event.touches && event.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n\n this.touchTimeout = setTimeout(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n SelectorEngine.find(SELECTOR_ITEM_IMG, this._element).forEach(itemImg => {\n EventHandler.on(itemImg, EVENT_DRAG_START, e => e.preventDefault())\n })\n\n if (this._pointerEvent) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => start(event))\n EventHandler.on(this._element, EVENT_POINTERUP, event => end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => start(event))\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => move(event))\n EventHandler.on(this._element, EVENT_TOUCHEND, event => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode ?\n SelectorEngine.find(SELECTOR_ITEM, element.parentNode) :\n []\n\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === DIRECTION_NEXT\n const isPrevDirection = direction === DIRECTION_PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = (isPrevDirection && activeIndex === 0) ||\n (isNextDirection && activeIndex === lastItemIndex)\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === DIRECTION_PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] :\n this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element))\n\n return EventHandler.trigger(this._element, EVENT_SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = SelectorEngine.find(SELECTOR_ACTIVE, this._indicatorsElement)\n for (let i = 0; i < indicators.length; i++) {\n indicators[i].classList.remove(CLASS_NAME_ACTIVE)\n }\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n nextIndicator.classList.add(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || (activeElement &&\n this._getItemByDirection(direction, activeElement))\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === DIRECTION_NEXT) {\n directionalClassName = CLASS_NAME_LEFT\n orderClassName = CLASS_NAME_NEXT\n eventDirectionName = DIRECTION_LEFT\n } else {\n directionalClassName = CLASS_NAME_RIGHT\n orderClassName = CLASS_NAME_PREV\n eventDirectionName = DIRECTION_RIGHT\n }\n\n if (nextElement && nextElement.classList.contains(CLASS_NAME_ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.defaultPrevented) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n if (this._element.classList.contains(CLASS_NAME_SLIDE)) {\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = getTransitionDurationFromElement(activeElement)\n\n EventHandler\n .one(activeElement, TRANSITION_END, () => {\n nextElement.classList.remove(directionalClassName)\n nextElement.classList.remove(orderClassName)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n activeElement.classList.remove(orderClassName)\n activeElement.classList.remove(directionalClassName)\n\n this._isSliding = false\n\n setTimeout(() => {\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }, 0)\n })\n\n emulateTransitionEnd(activeElement, transitionDuration)\n } else {\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n this._isSliding = false\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static carouselInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n let _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element)\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(element, _config)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Carousel.carouselInterface(this, config)\n })\n }\n\n static dataApiClickHandler(event) {\n const target = getElementFromSelector(this)\n\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel.carouselInterface(target, config)\n\n if (slideIndex) {\n Data.getData(target, DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler\n .on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel.dataApiClickHandler)\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n for (let i = 0, len = carousels.length; i < len; i++) {\n Carousel.carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY))\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .carousel to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Carousel.jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel.jQueryInterface\n }\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n toggle: true,\n parent: ''\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(string|element)'\n}\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.show, .collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"collapse\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = SelectorEngine.find(\n `${SELECTOR_DATA_TOGGLE}[href=\"#${element.id}\"],` +\n `${SELECTOR_DATA_TOGGLE}[data-target=\"#${element.id}\"]`\n )\n\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = getSelectorFromElement(elem)\n const filterElement = SelectorEngine.find(selector)\n .filter(foundElem => foundElem === element)\n\n if (selector !== null && filterElement.length) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = SelectorEngine.find(SELECTOR_ACTIVES, this._parent)\n .filter(elem => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(CLASS_NAME_COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n const container = SelectorEngine.findOne(this._selector)\n if (actives) {\n const tempActiveData = actives.filter(elem => container !== elem)\n activesData = tempActiveData[0] ? Data.getData(tempActiveData[0], DATA_KEY) : null\n\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n if (actives) {\n actives.forEach(elemActive => {\n if (container !== elemActive) {\n Collapse.collapseInterface(elemActive, 'hide')\n }\n\n if (!activesData) {\n Data.setData(elemActive, DATA_KEY, null)\n }\n })\n }\n\n const dimension = this._getDimension()\n\n this._element.classList.remove(CLASS_NAME_COLLAPSE)\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n this._triggerArray.forEach(element => {\n element.classList.remove(CLASS_NAME_COLLAPSED)\n element.setAttribute('aria-expanded', true)\n })\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE)\n this._element.classList.add(CLASS_NAME_SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n\n emulateTransitionEnd(this._element, transitionDuration)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n if (startEvent.defaultPrevented) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n reflow(this._element)\n\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n this._element.classList.remove(CLASS_NAME_COLLAPSE)\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const elem = getElementFromSelector(trigger)\n\n if (elem && !elem.classList.contains(CLASS_NAME_SHOW)) {\n trigger.classList.add(CLASS_NAME_COLLAPSED)\n trigger.setAttribute('aria-expanded', false)\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = this._element.classList.contains(WIDTH)\n return hasWidth ? WIDTH : HEIGHT\n }\n\n _getParent() {\n let { parent } = this._config\n\n if (isElement(parent)) {\n // it's a jQuery object\n if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {\n parent = parent[0]\n }\n } else {\n parent = SelectorEngine.findOne(parent)\n }\n\n const selector = `${SELECTOR_DATA_TOGGLE}[data-parent=\"${parent}\"]`\n\n SelectorEngine.find(selector, parent)\n .forEach(element => {\n const selected = getElementFromSelector(element)\n\n this._addAriaAndCollapsedClass(\n selected,\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (element) {\n const isOpen = element.classList.contains(CLASS_NAME_SHOW)\n\n if (triggerArray.length) {\n triggerArray.forEach(elem => {\n if (isOpen) {\n elem.classList.remove(CLASS_NAME_COLLAPSED)\n } else {\n elem.classList.add(CLASS_NAME_COLLAPSED)\n }\n\n elem.setAttribute('aria-expanded', isOpen)\n })\n }\n }\n }\n\n // Static\n\n static collapseInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Collapse.collapseInterface(this, config)\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A') {\n event.preventDefault()\n }\n\n const triggerData = Manipulator.getDataAttributes(this)\n const selector = getSelectorFromElement(this)\n const selectorElements = SelectorEngine.find(selector)\n\n selectorElements.forEach(element => {\n const data = Data.getData(element, DATA_KEY)\n let config\n if (data) {\n // update parent attribute\n if (data._parent === null && typeof triggerData.parent === 'string') {\n data._config.parent = triggerData.parent\n data._parent = data._getParent()\n }\n\n config = 'toggle'\n } else {\n config = triggerData\n }\n\n Collapse.collapseInterface(element, config)\n })\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .collapse to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Collapse.jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse.jQueryInterface\n }\n}\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getElementFromSelector,\n isElement,\n isVisible,\n noop,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\n\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPRIGHT = 'dropright'\nconst CLASS_NAME_DROPLEFT = 'dropleft'\nconst CLASS_NAME_MENURIGHT = 'dropdown-menu-right'\nconst CLASS_NAME_NAVBAR = 'navbar'\nconst CLASS_NAME_POSITION_STATIC = 'position-static'\n\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"dropdown\"]'\nconst SELECTOR_FORM_CHILD = '.dropdown form'\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = 'top-start'\nconst PLACEMENT_TOPEND = 'top-end'\nconst PLACEMENT_BOTTOM = 'bottom-start'\nconst PLACEMENT_BOTTOMEND = 'bottom-end'\nconst PLACEMENT_RIGHT = 'right-start'\nconst PLACEMENT_LEFT = 'left-start'\n\nconst Default = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n const isActive = this._element.classList.contains(CLASS_NAME_SHOW)\n\n Dropdown.clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show()\n }\n\n show() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || this._menu.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n parent.classList.add(CLASS_NAME_POSITION_STATIC)\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n !SelectorEngine.closest(parent, SELECTOR_NAVBAR_NAV)) {\n [].concat(...document.body.children)\n .forEach(elem => EventHandler.on(elem, 'mouseover', null, noop()))\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n Manipulator.toggleClass(this._menu, CLASS_NAME_SHOW)\n Manipulator.toggleClass(this._element, CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_SHOWN, relatedTarget)\n }\n\n hide() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || !this._menu.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n Manipulator.toggleClass(this._menu, CLASS_NAME_SHOW)\n Manipulator.toggleClass(this._element, CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._element, EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n return SelectorEngine.next(this._element, SELECTOR_MENU)[0]\n }\n\n _getPlacement() {\n const parentDropdown = this._element.parentNode\n let placement = PLACEMENT_BOTTOM\n\n // Handle dropup\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n placement = PLACEMENT_TOP\n if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_TOPEND\n }\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPRIGHT)) {\n placement = PLACEMENT_RIGHT\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPLEFT)) {\n placement = PLACEMENT_LEFT\n } else if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_BOTTOMEND\n }\n\n return placement\n }\n\n _detectNavbar() {\n return Boolean(SelectorEngine.closest(this._element, `.${CLASS_NAME_NAVBAR}`))\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets, this._element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static dropdownInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Dropdown.dropdownInterface(this, config)\n })\n }\n\n static clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n (event.type === 'keyup' && event.which !== TAB_KEYCODE))) {\n return\n }\n\n const toggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown.getParentFromElement(toggles[i])\n const context = Data.getData(toggles[i], DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!toggles[i].classList.contains(CLASS_NAME_SHOW)) {\n continue\n }\n\n if (event && ((event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName)) ||\n (event.type === 'keyup' && event.which === TAB_KEYCODE)) &&\n dropdownMenu.contains(event.target)) {\n continue\n }\n\n const hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n [].concat(...document.body.children)\n .forEach(elem => EventHandler.off(elem, 'mouseover', null, noop()))\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n dropdownMenu.classList.remove(CLASS_NAME_SHOW)\n toggles[i].classList.remove(CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget)\n }\n }\n\n static getParentFromElement(element) {\n return getElementFromSelector(element) || element.parentNode\n }\n\n static dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ?\n event.which === SPACE_KEYCODE || (event.which !== ESCAPE_KEYCODE &&\n ((event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE) ||\n SelectorEngine.closest(event.target, SELECTOR_MENU))) :\n !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || this.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this)\n const isActive = this.classList.contains(CLASS_NAME_SHOW)\n\n if (event.which === ESCAPE_KEYCODE) {\n const button = this.matches(SELECTOR_DATA_TOGGLE) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0]\n button.focus()\n Dropdown.clearMenus()\n return\n }\n\n if (!isActive || event.which === SPACE_KEYCODE) {\n Dropdown.clearMenus()\n return\n }\n\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, parent)\n .filter(isVisible)\n\n if (!items.length) {\n return\n }\n\n let index = items.indexOf(event.target) || 0\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n items[index].focus()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown.dropdownInterface(this, 'toggle')\n})\nEventHandler\n .on(document, EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, e => e.stopPropagation())\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .dropdown to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Dropdown.jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown.jQueryInterface\n }\n}\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: 'boolean'\n}\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SCROLLABLE = 'modal-dialog-scrollable'\nconst CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure'\nconst CLASS_NAME_BACKDROP = 'modal-backdrop'\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"modal\"]'\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"modal\"]'\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, element)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget\n })\n\n if (this._isShown || showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.on(this._element,\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n event => this.hide(event)\n )\n\n EventHandler.on(this._dialog, EVENT_MOUSEDOWN_DISMISS, () => {\n EventHandler.one(this._element, EVENT_MOUSEUP_DISMISS, event => {\n if (event.target === this._element) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n const transition = this._element.classList.contains(CLASS_NAME_FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.off(document, EVENT_FOCUSIN)\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n EventHandler.off(this._dialog, EVENT_MOUSEDOWN_DISMISS)\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, event => this._hideModal(event))\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\n\n /**\n * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `EVENT_CLICK_DATA_API` event that should remain\n */\n EventHandler.off(document, EVENT_FOCUSIN)\n\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = this._element.classList.contains(CLASS_NAME_FADE)\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n\n if (this._dialog.classList.contains(CLASS_NAME_SCROLLABLE) && modalBody) {\n modalBody.scrollTop = 0\n } else {\n this._element.scrollTop = 0\n }\n\n if (transition) {\n reflow(this._element)\n }\n\n this._element.classList.add(CLASS_NAME_SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget\n })\n }\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._dialog)\n\n EventHandler.one(this._dialog, TRANSITION_END, transitionComplete)\n emulateTransitionEnd(this._dialog, transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n EventHandler.off(document, EVENT_FOCUSIN) // guard against infinite focus loop\n EventHandler.on(document, EVENT_FOCUSIN, event => {\n if (document !== event.target &&\n this._element !== event.target &&\n !this._element.contains(event.target)) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown) {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (this._config.keyboard && event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n } else if (!this._config.keyboard && event.which === ESCAPE_KEYCODE) {\n this._triggerBackdropTransition()\n }\n })\n } else {\n EventHandler.off(this._element, EVENT_KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n EventHandler.on(window, EVENT_RESIZE, () => this._adjustDialog())\n } else {\n EventHandler.off(window, EVENT_RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._isTransitioning = false\n this._showBackdrop(() => {\n document.body.classList.remove(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n })\n }\n\n _removeBackdrop() {\n this._backdrop.parentNode.removeChild(this._backdrop)\n this._backdrop = null\n }\n\n _showBackdrop(callback) {\n const animate = this._element.classList.contains(CLASS_NAME_FADE) ?\n CLASS_NAME_FADE :\n ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = CLASS_NAME_BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n document.body.appendChild(this._backdrop)\n\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, event => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n\n if (event.target !== event.currentTarget) {\n return\n }\n\n this._triggerBackdropTransition()\n })\n\n if (animate) {\n reflow(this._backdrop)\n }\n\n this._backdrop.classList.add(CLASS_NAME_SHOW)\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n\n EventHandler.one(this._backdrop, TRANSITION_END, callback)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n this._backdrop.classList.remove(CLASS_NAME_SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n callback()\n }\n\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else {\n callback()\n }\n }\n\n _triggerBackdropTransition() {\n if (this._config.backdrop === 'static') {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n const modalTransitionDuration = getTransitionDurationFromElement(this._element)\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n })\n emulateTransitionEnd(this._element, modalTransitionDuration)\n this._element.focus()\n } else {\n this.hide()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n SelectorEngine.find(SELECTOR_FIXED_CONTENT)\n .forEach(element => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = window.getComputedStyle(element)['padding-right']\n Manipulator.setDataAttribute(element, 'padding-right', actualPadding)\n element.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n })\n\n // Adjust sticky content margin\n SelectorEngine.find(SELECTOR_STICKY_CONTENT)\n .forEach(element => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = window.getComputedStyle(element)['margin-right']\n Manipulator.setDataAttribute(element, 'margin-right', actualMargin)\n element.style.marginRight = `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = window.getComputedStyle(document.body)['padding-right']\n\n Manipulator.setDataAttribute(document.body, 'padding-right', actualPadding)\n document.body.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n }\n\n document.body.classList.add(CLASS_NAME_OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n SelectorEngine.find(SELECTOR_FIXED_CONTENT)\n .forEach(element => {\n const padding = Manipulator.getDataAttribute(element, 'padding-right')\n if (typeof padding !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'padding-right')\n element.style.paddingRight = padding\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n SelectorEngine.find(`${SELECTOR_STICKY_CONTENT}`)\n .forEach(element => {\n const margin = Manipulator.getDataAttribute(element, 'margin-right')\n if (typeof margin !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'margin-right')\n element.style.marginRight = margin\n }\n })\n\n // Restore body padding\n const padding = Manipulator.getDataAttribute(document.body, 'padding-right')\n if (typeof padding === 'undefined') {\n document.body.style.paddingRight = ''\n } else {\n Manipulator.removeDataAttribute(document.body, 'padding-right')\n document.body.style.paddingRight = padding\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(this),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n EventHandler.one(target, EVENT_SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n let data = Data.getData(target, DATA_KEY)\n if (!data) {\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n\n data = new Modal(target, config)\n }\n\n data.show(this)\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .modal to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Modal.jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal.jQueryInterface\n }\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+=*$/i\n\nconst allowedAttribute = (attr, allowedAttributeList) => {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return SAFE_URL_PATTERN.test(attr.nodeValue) || DATA_URL_PATTERN.test(attr.nodeValue)\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter(attrRegex => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, len = regExp.length; i < len; i++) {\n if (regExp[i].test(attrName)) {\n return true\n }\n }\n\n return false\n}\n\nexport const DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\nexport function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const whitelistKeys = Object.keys(whiteList)\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (whitelistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].concat(...el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n findShadowRoot,\n getTransitionDurationFromElement,\n getUID,\n isElement,\n noop,\n typeCheckConfig\n} from './util/index'\nimport {\n DefaultWhitelist,\n sanitizeHtml\n} from './util/sanitizer'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']\n\nconst DefaultType = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n whiteList: 'object',\n popperConfig: '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n}\n\nconst Default = {\n animation: true,\n template: '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"tooltip-arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\n sanitize: true,\n sanitizeFn: null,\n whiteList: DefaultWhitelist,\n popperConfig: null\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst HOVER_STATE_SHOW = 'show'\nconst HOVER_STATE_OUT = 'out'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n Data.setData(element, this.constructor.DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if (this.getTipElement().classList.contains(CLASS_NAME_SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n Data.removeData(this.element, this.constructor.DATA_KEY)\n\n EventHandler.off(this.element, this.constructor.EVENT_KEY)\n EventHandler.off(SelectorEngine.closest(this.element, `.${CLASS_NAME_MODAL}`), 'hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n this.tip.parentNode.removeChild(this.tip)\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if (this.element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (this.isWithContent() && this._isEnabled) {\n const showEvent = EventHandler.trigger(this.element, this.constructor.Event.SHOW)\n const shadowRoot = findShadowRoot(this.element)\n const isInTheDom = shadowRoot === null ?\n this.element.ownerDocument.documentElement.contains(this.element) :\n shadowRoot.contains(this.element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n tip.classList.add(CLASS_NAME_FADE)\n }\n\n const placement = typeof this.config.placement === 'function' ?\n this.config.placement.call(this, tip, this.element) :\n this.config.placement\n\n const attachment = this._getAttachment(placement)\n this._addAttachmentClass(attachment)\n\n const container = this._getContainer()\n Data.setData(tip, this.constructor.DATA_KEY, this)\n\n if (!this.element.ownerDocument.documentElement.contains(this.tip)) {\n container.appendChild(tip)\n }\n\n EventHandler.trigger(this.element, this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\n\n tip.classList.add(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n [].concat(...document.body.children).forEach(element => {\n EventHandler.on(element, 'mouseover', noop())\n })\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n EventHandler.trigger(this.element, this.constructor.Event.SHOWN)\n\n if (prevHoverState === HOVER_STATE_OUT) {\n this._leave(null, this)\n }\n }\n\n if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n const transitionDuration = getTransitionDurationFromElement(this.tip)\n EventHandler.one(this.tip, TRANSITION_END, complete)\n emulateTransitionEnd(this.tip, transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide() {\n const tip = this.getTipElement()\n const complete = () => {\n if (this._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n EventHandler.trigger(this.element, this.constructor.Event.HIDDEN)\n this._popper.destroy()\n }\n\n const hideEvent = EventHandler.trigger(this.element, this.constructor.Event.HIDE)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n tip.classList.remove(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n [].concat(...document.body.children)\n .forEach(element => EventHandler.off(element, 'mouseover', noop))\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n\n if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n const transitionDuration = getTransitionDurationFromElement(tip)\n\n EventHandler.one(tip, TRANSITION_END, complete)\n emulateTransitionEnd(tip, transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n getTipElement() {\n if (this.tip) {\n return this.tip\n }\n\n const element = document.createElement('div')\n element.innerHTML = this.config.template\n\n this.tip = element.children[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent(SelectorEngine.findOne(SELECTOR_TOOLTIP_INNER, tip), this.getTitle())\n tip.classList.remove(CLASS_NAME_FADE)\n tip.classList.remove(CLASS_NAME_SHOW)\n }\n\n setElementContent(element, content) {\n if (element === null) {\n return\n }\n\n if (typeof content === 'object' && isElement(content)) {\n if (content.jquery) {\n content = content[0]\n }\n\n // content is a DOM node or a jQuery\n if (this.config.html) {\n if (content.parentNode !== element) {\n element.innerHTML = ''\n element.appendChild(content)\n }\n } else {\n element.innerText = content.textContent\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn)\n }\n\n element.innerHTML = content\n } else {\n element.innerText = content\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function' ?\n this.config.title.call(this.element) :\n this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: `.${this.constructor.NAME}-arrow`\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: data => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: data => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...this.config.offset(data.offsets, this.element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (isElement(this.config.container)) {\n return this.config.container\n }\n\n return SelectorEngine.findOne(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach(trigger => {\n if (trigger === 'click') {\n EventHandler.on(this.element,\n this.constructor.Event.CLICK,\n this.config.selector,\n event => this.toggle(event)\n )\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n EventHandler.on(this.element,\n eventIn,\n this.config.selector,\n event => this._enter(event)\n )\n EventHandler.on(this.element,\n eventOut,\n this.config.selector,\n event => this._leave(event)\n )\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n EventHandler.on(SelectorEngine.closest(this.element, `.${CLASS_NAME_MODAL}`),\n 'hide.bs.modal',\n this._hideModalHandler\n )\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = true\n }\n\n if (context.getTipElement().classList.contains(CLASS_NAME_SHOW) ||\n context._hoverState === HOVER_STATE_SHOW) {\n context._hoverState = HOVER_STATE_SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this.element)\n\n Object.keys(dataAttributes)\n .forEach(dataAttr => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n if (config && typeof config.container === 'object' && config.container.jquery) {\n config.container = config.container[0]\n }\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n const popperInstance = popperData.instance\n this.tip = popperInstance.popper\n this._cleanTipClass()\n this._addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n tip.classList.remove(CLASS_NAME_FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tooltip to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tooltip.jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip.jQueryInterface\n }\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport SelectorEngine from './dom/selector-engine'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement: 'right',\n trigger: 'click',\n content: '',\n template: '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"popover-arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(string|element|function)'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n setContent() {\n const tip = this.getTipElement()\n\n // we use append for html objects to maintain js events\n this.setElementContent(SelectorEngine.findOne(SELECTOR_TITLE, tip), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n\n this.setElementContent(SelectorEngine.findOne(SELECTOR_CONTENT, tip), content)\n\n tip.classList.remove(CLASS_NAME_FADE)\n tip.classList.remove(CLASS_NAME_SHOW)\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n Data.setData(this, DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Popover.jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover.jQueryInterface\n }\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getSelectorFromElement,\n getUID,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n offset: 10,\n method: 'auto',\n target: ''\n}\n\nconst DefaultType = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n}\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_SCROLL = `scroll${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-spy=\"scroll\"]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst METHOD_OFFSET = 'offset'\nconst METHOD_POSITION = 'position'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${SELECTOR_NAV_LINKS},` +\n `${this._config.target} ${SELECTOR_LIST_ITEMS},` +\n `${this._config.target} .${CLASS_NAME_DROPDOWN_ITEM}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n EventHandler.on(this._scrollElement, EVENT_SCROLL, event => this._process(event))\n\n this.refresh()\n this._process()\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window ?\n METHOD_OFFSET :\n METHOD_POSITION\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod :\n this._config.method\n\n const offsetBase = offsetMethod === METHOD_POSITION ?\n this._getScrollTop() :\n 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = SelectorEngine.find(this._selector)\n\n targets\n .map(element => {\n let target\n const targetSelector = getSelectorFromElement(element)\n\n if (targetSelector) {\n target = SelectorEngine.findOne(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n return [\n Manipulator[offsetMethod](target).top + offsetBase,\n targetSelector\n ]\n }\n }\n\n return null\n })\n .filter(item => item)\n .sort((a, b) => a[0] - b[0])\n .forEach(item => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._scrollElement, EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.target !== 'string') {\n let { id } = config.target\n if (!id) {\n id = getUID(NAME)\n config.target.id = id\n }\n\n config.target = `#${id}`\n }\n\n typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset :\n this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight :\n this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n const offsetLength = this._offsets.length\n for (let i = offsetLength; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector.split(',')\n .map(selector => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const link = SelectorEngine.findOne(queries.join(','))\n\n if (link.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n SelectorEngine\n .findOne(SELECTOR_DROPDOWN_TOGGLE, SelectorEngine.closest(link, SELECTOR_DROPDOWN))\n .classList.add(CLASS_NAME_ACTIVE)\n\n link.classList.add(CLASS_NAME_ACTIVE)\n } else {\n // Set triggered link as active\n link.classList.add(CLASS_NAME_ACTIVE)\n\n SelectorEngine\n .parents(link, SELECTOR_NAV_LIST_GROUP)\n .forEach(listGroup => {\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n SelectorEngine.prev(listGroup, `${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`)\n .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n\n // Handle special case when .nav-link is inside .nav-item\n SelectorEngine.prev(listGroup, SELECTOR_NAV_ITEMS)\n .forEach(navItem => {\n SelectorEngine.children(navItem, SELECTOR_NAV_LINKS)\n .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n })\n })\n }\n\n EventHandler.trigger(this._scrollElement, EVENT_ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n SelectorEngine.find(this._selector)\n .filter(node => node.classList.contains(CLASS_NAME_ACTIVE))\n .forEach(node => node.classList.remove(CLASS_NAME_ACTIVE))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n SelectorEngine.find(SELECTOR_DATA_SPY)\n .forEach(spy => new ScrollSpy(spy, Manipulator.getDataAttributes(spy)))\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = ScrollSpy.jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy.jQueryInterface\n }\n}\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n reflow\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_UL = ':scope > li > .active'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_ACTIVE_CHILD = ':scope > .dropdown-menu .active'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n\n Data.setData(this._element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if ((this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n this._element.classList.contains(CLASS_NAME_ACTIVE)) ||\n this._element.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n let previous\n const target = getElementFromSelector(this._element)\n const listElement = SelectorEngine.closest(this._element, SELECTOR_NAV_LIST_GROUP)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE\n previous = SelectorEngine.find(itemSelector, listElement)\n previous = previous[previous.length - 1]\n }\n\n let hideEvent = null\n\n if (previous) {\n hideEvent = EventHandler.trigger(previous, EVENT_HIDE, {\n relatedTarget: this._element\n })\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget: previous\n })\n\n if (showEvent.defaultPrevented ||\n (hideEvent !== null && hideEvent.defaultPrevented)) {\n return\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n EventHandler.trigger(previous, EVENT_HIDDEN, {\n relatedTarget: this._element\n })\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget: previous\n })\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ?\n SelectorEngine.find(SELECTOR_ACTIVE_UL, container) :\n SelectorEngine.children(container, SELECTOR_ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n (active && active.classList.contains(CLASS_NAME_FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = getTransitionDurationFromElement(active)\n active.classList.remove(CLASS_NAME_SHOW)\n\n EventHandler.one(active, TRANSITION_END, complete)\n emulateTransitionEnd(active, transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n active.classList.remove(CLASS_NAME_ACTIVE)\n\n const dropdownChild = SelectorEngine.findOne(SELECTOR_DROPDOWN_ACTIVE_CHILD, active.parentNode)\n\n if (dropdownChild) {\n dropdownChild.classList.remove(CLASS_NAME_ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n element.classList.add(CLASS_NAME_ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n reflow(element)\n\n if (element.classList.contains(CLASS_NAME_FADE)) {\n element.classList.add(CLASS_NAME_SHOW)\n }\n\n if (element.parentNode && element.parentNode.classList.contains(CLASS_NAME_DROPDOWN_MENU)) {\n const dropdownElement = SelectorEngine.closest(element, SELECTOR_DROPDOWN)\n\n if (dropdownElement) {\n SelectorEngine.find(SELECTOR_DROPDOWN_TOGGLE)\n .forEach(dropdown => dropdown.classList.add(CLASS_NAME_ACTIVE))\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n data.show()\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tab to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tab.jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab.jQueryInterface\n }\n}\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getTransitionDurationFromElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n}\n\nconst Default = {\n animation: true,\n autohide: true,\n delay: 500\n}\n\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"toast\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n show() {\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n if (this._config.animation) {\n this._element.classList.add(CLASS_NAME_FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(CLASS_NAME_SHOWING)\n this._element.classList.add(CLASS_NAME_SHOW)\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(CLASS_NAME_HIDE)\n reflow(this._element)\n this._element.classList.add(CLASS_NAME_SHOWING)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const complete = () => {\n this._element.classList.add(CLASS_NAME_HIDE)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n this._timeout = null\n\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this._element.classList.remove(CLASS_NAME_SHOW)\n }\n\n EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n Data.removeData(this._element, DATA_KEY)\n\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...typeof config === 'object' && config ? config : {}\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(\n this._element,\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n () => this.hide()\n )\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .toast to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Toast.jQueryInterface\n $.fn[NAME].Constructor = Toast\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast.jQueryInterface\n }\n}\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): index.umd.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Alert from './src/alert'\nimport Button from './src/button'\nimport Carousel from './src/carousel'\nimport Collapse from './src/collapse'\nimport Dropdown from './src/dropdown'\nimport Modal from './src/modal'\nimport Popover from './src/popover'\nimport ScrollSpy from './src/scrollspy'\nimport Tab from './src/tab'\nimport Toast from './src/toast'\nimport Tooltip from './src/tooltip'\n\nexport default {\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n ScrollSpy,\n Tab,\n Toast,\n Tooltip\n}\n"]} \ No newline at end of file